<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:acmr="http://acmrcsh.com/20210630"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="acmr-20210630.xsd" xlink:type="simple"/>
    <context id="c20210101to20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210803_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-03</instant>
        </period>
    </context>
    <context id="c20210803_StatementClassOfStockAxis_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-03</instant>
        </period>
    </context>
    <context id="c20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementClassOfStockAxis_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementClassOfStockAxis_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200101to20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200331_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20210331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20210331_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20210331_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20210331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20200331_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20210331_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20200331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20200331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20200331_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20191231_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ShengweiResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20171108_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-11-08</instant>
        </period>
    </context>
    <context id="c20170831_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-08-31</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20170913to20170913_StatementClassOfStockAxis_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-09-13</startDate>
            <endDate>2017-09-13</endDate>
        </period>
    </context>
    <context id="c20170913to20170913_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-09-13</startDate>
            <endDate>2017-09-13</endDate>
        </period>
    </context>
    <context id="c20190101to20191231_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:CleanChipTechnologiesLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchCAIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchCAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchKoreaCOLTDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:CleanChipTechnologiesLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ShengweiResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchWuxiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchCaymanIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchWuxiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_ACMResearchCAIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchCAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchCaymanIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchCaymanIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchKoreaCOLTDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:CleanChipTechnologiesLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchWuxiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchKoreaCOLTDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ShengweiResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ShengweiResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:CleanChipTechnologiesLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidatedEntitiesAxis_ACMResearchCAIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchCAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200201to20200229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="c20200301to20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <startDate>2020-03-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">acmr:ThreeCustomersMember</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>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">acmr:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">acmr:ThreeCustomersMember</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">acmr:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">acmr:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">acmr:ThreeCustomersMember</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>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingOtherProcessingServicesAndSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementGeographicalAxis_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementGeographicalAxis_OherRegionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">acmr:OherRegionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingExcludeECPServicesSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingOtherProcessingServicesAndSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:TotalSingleWaferAndSemiCriticalCleaningEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:WetCleaningAndOtherFrontEndProcessingToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementGeographicalAxis_OherRegionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">acmr:OherRegionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementGeographicalAxis_OherRegionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">acmr:OherRegionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_StatementGeographicalAxis_OherRegionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">acmr:OherRegionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_StatementGeographicalAxis_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingExcludeECPServicesSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:WetCleaningAndOtherFrontEndProcessingToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:TotalSingleWaferAndSemiCriticalCleaningEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:TotalSingleWaferAndSemiCriticalCleaningEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingExcludeECPServicesSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingOtherProcessingServicesAndSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingOtherProcessingServicesAndSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:WetCleaningAndOtherFrontEndProcessingToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:AdvancedPackagingExcludeECPServicesSparesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_StatementGeographicalAxis_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementGeographicalAxis_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:TotalSingleWaferAndSemiCriticalCleaningEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">acmr:WetCleaningAndOtherFrontEndProcessingToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_TransportationEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TransportationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_PropertyPlantAndEquipmentByTypeAxis_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_PropertyPlantAndEquipmentByTypeAxis_TransportationEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TransportationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_PropertyPlantAndEquipmentByTypeAxis_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200731_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ShengweiResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit8Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit8Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit10Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit10Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit22Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit22Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit26Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit26Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit7Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit7Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit15Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit15Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit22Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit22Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit12Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit12Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit9Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit9Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit26Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit26Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit6Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit6Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit13Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit13Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit25Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit25Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit13Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit13Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit15Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit15Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit21Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit21Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit25Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit25Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit11Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit11Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit5Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit5Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit24Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit24Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit14Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit14Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit4Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit9Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit9Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit24Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit24Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit12Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit12Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit14Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit14Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit8Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit8Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit5Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit5Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit4Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit10Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit10Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit7Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit7Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit6Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit6Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit11Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit11Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_LineOfCredit23Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit23Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit21Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit21Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_LineOfCredit23Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit23Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit7Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit7Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit24Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit24Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit15Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit15Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit21Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit21Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit9Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit9Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit23Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit23Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit8Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit8Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit11Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit11Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit5Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit5Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit13Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit13Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit14Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit14Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit25Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit25Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit4Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit26Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit26Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit10Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit10Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit22Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit22Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit6Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit6Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit12Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit12Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_DebtInstrumentAxis_LineOfCredit2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:LineOfCredit2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20201231_LineOfCreditFacilityAxis_ChinaMerchantsBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">acmr:ChinaMerchantsBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_LineOfCreditFacilityAxis_BankOfChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">acmr:BankOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_LineOfCreditFacilityAxis_ChinaMerchantsBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">acmr:ChinaMerchantsBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_LineOfCreditFacilityAxis_BankOfChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">acmr:BankOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20210630_LineOfCreditFacilityAxis_ChinaMerchantsBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">acmr:ChinaMerchantsBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_LineOfCreditFacilityAxis_BankOfChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">acmr:BankOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_SubsidiesToStressFreePolishingProjectMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToStressFreePolishingProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_SubsidiesToElectroCopperPlatingProjectMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToElectroCopperPlatingProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_SubsidiesToBacksideCleanYMTCNationalProjectMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToBacksideCleanYMTCNationalProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_SubsidiesToPolytetrafluoroethyleneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToPolytetrafluoroethyleneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_SubsidiesToTahoeSingleBenchCleanCommencedIn2020Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToTahoeSingleBenchCleanCommencedIn2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_SubsidiesToBacksideCleanYMTCNationalProjectMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToBacksideCleanYMTCNationalProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_SubsidiesToStressFreePolishingProjectMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToStressFreePolishingProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_SubsidiesToTahoeSingleBenchCleanCommencedIn2020Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToTahoeSingleBenchCleanCommencedIn2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_DebtInstrumentAxis_OtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_OtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_SubsidiesToElectroCopperPlatingProjectMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToElectroCopperPlatingProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_DebtInstrumentAxis_SubsidiesToPolytetrafluoroethyleneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">acmr:SubsidiesToPolytetrafluoroethyleneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20190627_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-27</instant>
        </period>
    </context>
    <context id="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-09-11</instant>
        </period>
    </context>
    <context id="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCompanyLimitedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-09-11</instant>
        </period>
    </context>
    <context id="c20190905to20190905_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-05</startDate>
            <endDate>2019-09-05</endDate>
        </period>
    </context>
    <context id="c20190930_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20161231_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="c20170301to20170331_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-03-01</startDate>
            <endDate>2017-03-31</endDate>
        </period>
    </context>
    <context id="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-29</startDate>
            <endDate>2020-07-29</endDate>
        </period>
    </context>
    <context id="c20210609to20210609_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-09</startDate>
            <endDate>2021-06-09</endDate>
        </period>
    </context>
    <context id="c20210609to20210609_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-09</startDate>
            <endDate>2021-06-09</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20180301to20180331_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-03-01</startDate>
            <endDate>2018-03-31</endDate>
        </period>
    </context>
    <context id="c20180331_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="c20180331_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">acmr:IntercompanyNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">acmr:IntercompanyNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200430_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="c20190801to20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-01</startDate>
            <endDate>2019-08-31</endDate>
        </period>
    </context>
    <context id="c20190801to20190831_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-01</startDate>
            <endDate>2019-08-31</endDate>
        </period>
    </context>
    <context id="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-04-30</instant>
        </period>
    </context>
    <context id="c20190801to20190831_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-01</startDate>
            <endDate>2019-08-31</endDate>
        </period>
    </context>
    <context id="c20200401to20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="c20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-08-31</instant>
        </period>
    </context>
    <context id="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_SeniorNotesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-04-30</instant>
        </period>
    </context>
    <context id="c20200430_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-04-30</instant>
        </period>
    </context>
    <context id="c20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-29</instant>
        </period>
    </context>
    <context id="c20200101to20201231_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20201231_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">acmr:IntercompanyNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-04-30</instant>
        </period>
    </context>
    <context id="c20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-08-31</instant>
        </period>
    </context>
    <context id="c20170331_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-03-31</instant>
        </period>
    </context>
    <context id="c20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember_StatementClassOfStockAxis_CommonClassAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-29</instant>
        </period>
    </context>
    <context id="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">acmr:ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-29</startDate>
            <endDate>2020-07-29</endDate>
        </period>
    </context>
    <context id="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:QingdaoFortuneTechXinxingCapitalPartnershipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-18</instant>
        </period>
    </context>
    <context id="c20210630_RangeAxis_MinimumMember_RelatedPartyTransactionsByRelatedPartyAxis_SemiconductorManufacturingInternationalCorporationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:SemiconductorManufacturingInternationalCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200401to20200630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:ShengyiSemiconductorTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">acmr:NinebellCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_IncomeStatementLocationAxis_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_IncomeStatementLocationAxis_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_IncomeStatementLocationAxis_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeStatementLocationAxis_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20200630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210630_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">acmr:ShareBasedPaymentArrangementNonEmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">acmr:ServicePeriodBasedApproachMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">acmr:ServicePeriodBasedApproachMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">acmr:ServicePeriodBasedApproachMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">acmr:ServicePeriodBasedApproachMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ShengweiResearchShanghaiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">acmr:ACMResearchWuxiIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20201221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
        </entity>
        <period>
            <instant>2020-12-21</instant>
        </period>
    </context>
    <context id="c20210713_StatementClassOfStockAxis_CommonClassBMember_SubsequentEventTypeAxis_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-13</instant>
        </period>
    </context>
    <context id="c20210713_StatementClassOfStockAxis_CommonClassAMember_SubsequentEventTypeAxis_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001680062</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-13</instant>
        </period>
    </context>
    <unit id="U001">
        <measure>shares</measure>
    </unit>
    <unit id="U002">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U003">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U004">
        <measure>pure</measure>
    </unit>
    <unit id="U005">
        <measure>acmr:County</measure>
    </unit>
    <unit id="U006">
        <measure>acmr:Customer</measure>
    </unit>
    <unit id="U007">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="U008">
        <measure>iso4217:CNY</measure>
    </unit>
    <unit id="U009">
        <measure>acmr:Intallment</measure>
    </unit>
    <unit id="U010">
        <measure>acmr:Agreement</measure>
    </unit>
    <unit id="U011">
        <measure>acmr:Vote</measure>
    </unit>
    <unit id="U012">
        <measure>acmr:Subsidiary</measure>
    </unit>
    <unit id="U013">
        <measure>acmr:LegalProceeding</measure>
    </unit>
    <unit id="U014">
        <measure>acmr:ExecutiveOfficers</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="c20210101to20210630"
      id="Fact_b84fb8f711a54fac84281497e3131f3c">0001680062</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="c20210101to20210630"
      id="Fact_049c039326af4533bae3d1859d42f04b">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:AmendmentFlag
      contextRef="c20210101to20210630"
      id="Fact_e17670d231a64f109d1c7a6cef64198c">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="c20210101to20210630"
      id="Fact_58037cd8b56848a9bbe104400b492f90">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="c20210101to20210630"
      id="Fact_a9cd6fadf5b84978977265a38f7e3f73">Q2</dei:DocumentFiscalPeriodFocus>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="c20170913to20170913_StatementClassOfStockAxis_CommonClassBMember"
      decimals="2"
      id="Fact_27cc38cf98ce4ef5a23e5ac449acfa5b"
      unitRef="U004">0.33</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="c20170913to20170913_StatementClassOfStockAxis_CommonClassAMember"
      decimals="2"
      id="Fact_ce05a92ef74e482b98433f4f39246c09"
      unitRef="U004">0.33</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:RedeemableNoncontrollingInterestEquityFairValue
      contextRef="c20200630"
      decimals="-3"
      id="Fact_b42af2376b5740d8921914edd354710c"
      unitRef="U002">0</us-gaap:RedeemableNoncontrollingInterestEquityFairValue>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_LineOfCreditFacilityAxis_ChinaMerchantsBankMember"
      id="Fact_9196e04082ea45b8aed729f2b142cf31">2030-11-30</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_LineOfCreditFacilityAxis_BankOfChinaMember"
      id="Fact_3027849a328f428d9a34aa749e609222">2024-06-30</us-gaap:DebtInstrumentMaturityDate>
    <dei:DocumentType
      contextRef="c20210101to20210630"
      id="Fact_7ff164a5984a4397a8f01da4ee1c1e79">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="c20210101to20210630"
      id="Fact_b07823c94d5c4e1fbebd3194e446b0dc">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="c20210101to20210630"
      id="Fact_31bdc84422044c0f906b5b51596ba48b">2021-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="c20210101to20210630"
      id="Fact_d12ad2f6e9a441c6aee8e085ae900d9a">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="c20210101to20210630"
      id="Fact_27a720bb96814f4f8f3d4dce285027a6">001-38273</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="c20210101to20210630"
      id="Fact_7481aace444a47e98def6e06a4ab0134">ACM Research, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="c20210101to20210630"
      id="Fact_2ed79bdebc5b481eb6135b242ce5c5ed">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="c20210101to20210630"
      id="Fact_226b03487a0e444fbab4cc4d63411687">94-3290283</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="c20210101to20210630"
      id="Fact_a6dc13780d454baabd459023f7430acb">42307 Osgood Road, Suite I</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="c20210101to20210630"
      id="Fact_2181edf00e6241578ea315aba170b16d">Fremont</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="c20210101to20210630"
      id="Fact_5a68bc87eb784601a02968e1e61bd6ec">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="c20210101to20210630"
      id="Fact_2a31216d3f7441eb9a963241462cb6ba">94539</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="c20210101to20210630"
      id="Fact_7b70269fcb294ee98798abec7c33f709">510</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="c20210101to20210630"
      id="Fact_218924a27ae241779147dc4c8b697b4b">445-3700</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="c20210101to20210630"
      id="Fact_99d0f6d460aa4ff19fb7c970bdc9b096">Class A Common Stock, $0.0001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="c20210101to20210630"
      id="Fact_8ff94d7907a04bc6ab7c31863827a95f">ACMR</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="c20210101to20210630"
      id="Fact_1074c93ff4864440a4e4659b8cd8f760">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="c20210101to20210630"
      id="Fact_6f50f96911fe4b4fa70352c30a5a7ea3">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="c20210101to20210630"
      id="Fact_d6751dce5ade4e85b68e4e3340cbaf72">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="c20210101to20210630"
      id="Fact_4ad2d97ef4c745538fb3c604982781f7">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="c20210101to20210630"
      id="Fact_08a1d1e53ce341a392cbf6e363909429">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20210101to20210630"
      id="Fact_7bdb3c98417c4e0c948760e0a4a27562">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20210101to20210630"
      id="Fact_8a010c1883f24489882b665800b859d1">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="c20210101to20210630"
      id="Fact_fbaf893cb08049bdb9e460ca1ae572f0">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20210803_StatementClassOfStockAxis_CommonClassAMember"
      decimals="INF"
      id="Fact_8d61ba4fd00543a586a5a21eb5104a99"
      unitRef="U001">17680409</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20210803_StatementClassOfStockAxis_CommonClassBMember"
      decimals="INF"
      id="Fact_e27254cac349449c94e9e833f8f18909"
      unitRef="U001">1707605</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20210630"
      decimals="-3"
      id="Fact_b78a04082ebd44e2a884949eea57d11d"
      unitRef="U002">70209000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1c24ae425810446da97a5506b650dec5"
      unitRef="U002">71766000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_8ff5d0ce4346496aa17e3f7a16de36e2"
      unitRef="U002">31257000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_2606e0b030a64524b6ea64c9640e0fd2"
      unitRef="U002">28239000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6b9a6d42825e4094ab86ba8a71db0ec4"
      unitRef="U002">0</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_07785e5bfbc440539a7273a4bca84313"
      unitRef="U002">0</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_b12c0b8d6c304b13aed5a8cef606ff47"
      unitRef="U002">71357000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_4b6e2d65f00c4bb988218c20fad02eaa"
      unitRef="U002">56441000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_16eb42c2038c4e7a95fc225ee37a97b6"
      unitRef="U002">10733000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d9f3b481bf374abc89cb9e4120af4d1c"
      unitRef="U002">9679000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:InventoryNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_85df6c9e02184722a77c8b8cfa99ae81"
      unitRef="U002">136852000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6a1414b12a704a74a2f3e913140a04f5"
      unitRef="U002">88639000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_cfc74a6c7e034033bd0bc364500f0a69"
      unitRef="U002">8953000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_745587b0a20f4be38641db4d40562c25"
      unitRef="U002">5892000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_0fa319358a0b4f53a73323f629015cb8"
      unitRef="U002">329361000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9854ce02099848518d8d1f8e973c0b11"
      unitRef="U002">260656000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_cec1869c7c1645c19e61f008c0c01de6"
      unitRef="U002">8985000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_123c1841728842e3bb13a69a2e07bfe7"
      unitRef="U002">8192000</us-gaap:PropertyPlantAndEquipmentNet>
    <acmr:LandUseRightNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_fa10ab3e500c41d8aad0c71ef7ea1f3f"
      unitRef="U002">9642000</acmr:LandUseRightNet>
    <acmr:LandUseRightNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8cb890385eab45f3ab300d0aadb17413"
      unitRef="U002">9646000</acmr:LandUseRightNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20210630"
      decimals="-3"
      id="Fact_034227b64b644c7392ddfa755198868d"
      unitRef="U002">5209000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20201231"
      decimals="-3"
      id="Fact_733459defb8949c69919d4f34ce083bc"
      unitRef="U002">4297000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_d1f5c3dd4af64c2a989120857d5eaaa7"
      unitRef="U002">630000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_ba06d198f2f34355a103500e8a7a2dfa"
      unitRef="U002">554000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_9356c513e0b9492ea98cbde9b429e44d"
      unitRef="U002">14691000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9db4abdba1c64b18adef27658b8281ac"
      unitRef="U002">11076000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Investments
      contextRef="c20210630"
      decimals="-3"
      id="Fact_162fcdbe5d914e88ad3c310d14f66c77"
      unitRef="U002">7006000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6681d0e175954269bd616eec74c421d5"
      unitRef="U002">6340000</us-gaap:Investments>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_9bf180aae8264f239825a42abfcc4f0f"
      unitRef="U002">43434000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d1563254a0cc43dfb8dc2ce1171f6a62"
      unitRef="U002">40496000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="c20210630"
      decimals="-3"
      id="Fact_e2a3a89f252a4af8abe3a0631848d50d"
      unitRef="U002">418958000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c20201231"
      decimals="-3"
      id="Fact_bd42fa108b5d4a33985275a40a06f66c"
      unitRef="U002">341257000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630"
      decimals="-3"
      id="Fact_5bb25bd77f2f41b0b854285b6f8736f4"
      unitRef="U002">22162000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9f25517128404a408bb11309e27f85b5"
      unitRef="U002">26147000</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebtCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_5807891f0fa348aab60deccfc258e52c"
      unitRef="U002">1799000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_ada72ee860d54fad90f8752a3775ab5e"
      unitRef="U002">1591000</us-gaap:LongTermDebtCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_5b290b89aa554acb9c28c35bbe57ef6b"
      unitRef="U002">67031000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_ff9aef8c858b42a89d5bc5b0bb6ad906"
      unitRef="U002">35603000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_7e0df15439eb4dad8ab6a8fd2e090922"
      unitRef="U002">43845000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_030d3155d88249928ee788bbef2a8737"
      unitRef="U002">17888000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredIncomeCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_acc6f9e4ba804a2689e939a370541c03"
      unitRef="U002">2348000</us-gaap:DeferredIncomeCurrent>
    <us-gaap:DeferredIncomeCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_cce8bc0faa43459893972628b97c5fef"
      unitRef="U002">1343000</us-gaap:DeferredIncomeCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_3f31c113993349f3ad0651f26de3fcf8"
      unitRef="U002">482000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_e1ec6cc8c7a943cda301b44555daca6c"
      unitRef="U002">31000</us-gaap:AccruedIncomeTaxesCurrent>
    <acmr:IncomeTaxesCurrentPayableAndDeferredTaxLiabilities
      contextRef="c20210630"
      decimals="-3"
      id="Fact_d816ccb6efa745d3b4c57fa113e09ff8"
      unitRef="U002">83000</acmr:IncomeTaxesCurrentPayableAndDeferredTaxLiabilities>
    <acmr:IncomeTaxesCurrentPayableAndDeferredTaxLiabilities
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6b420d2106a04bb4bc93baeec84702a8"
      unitRef="U002">83000</acmr:IncomeTaxesCurrentPayableAndDeferredTaxLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="c20210630"
      decimals="-3"
      id="Fact_e11fdedfdc1a45928eaa14b2bbcf3884"
      unitRef="U002">21871000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9d9d2e9e7e20421492d812e5d75daf53"
      unitRef="U002">18805000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_023b266048d74941b3e5f4f9b23bb842"
      unitRef="U002">2437000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_c9681b1d04a54b8ca6f14b7206e37f27"
      unitRef="U002">1417000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_cc15b7cf97f749808677cba5632ab098"
      unitRef="U002">162058000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d7c68d21075f4527b51409d0d9171e3d"
      unitRef="U002">102908000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_8004600db53942ca9a665646d26b143c"
      unitRef="U002">18717000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a6d3e960a3764519bfd26440369c88a4"
      unitRef="U002">17979000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_198db977baf54eb38f9ce0ba2fce9710"
      unitRef="U002">2772000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_75348967c1604240a1b3e011c9deab7c"
      unitRef="U002">2880000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_1e03edea4d094550a3d62a018d245737"
      unitRef="U002">1298000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_082b8ca0195441c182490e767508625f"
      unitRef="U002">1286000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_c815f169234b4e54948e66727b38cfbc"
      unitRef="U002">4557000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9b983304a9474e368e173fa6fc246dfc"
      unitRef="U002">8034000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="c20210630"
      decimals="-3"
      id="Fact_feec9e078f6a4859a391fb7317a57c6b"
      unitRef="U002">189402000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="c20201231"
      decimals="-3"
      id="Fact_51cf1018c494443ca8d5bc325af1be92"
      unitRef="U002">133087000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20210630"
      id="Fact_3736dc650dbd436c8f398e4a2828ff3d"
      unitRef="U002"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20201231"
      id="Fact_2ae7a1de55764dd29c3ad5ef14bfc19e"
      unitRef="U002"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="4"
      id="Fact_3910520711f04baba0b0fa9210520c2a"
      unitRef="U003">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="4"
      id="Fact_8dfadac22649401a9288c7bdffbb05d9"
      unitRef="U003">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_adb1845d52b5455da85daf59b927b24c"
      unitRef="U001">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_d471be408f564b24a91fc694cd0dbcba"
      unitRef="U001">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_77bb09e37efc46b99166b462280b56d4"
      unitRef="U001">17668409</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_1d028ec2cf8643719b50c7ae522920e4"
      unitRef="U001">17668409</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_06753592fb024d0998d906880c08401b"
      unitRef="U001">16896693</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_c9c5dfaa10204d759f9d168b9f2d11b6"
      unitRef="U001">16896693</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="-3"
      id="Fact_dca80675dd9e4d13be881c62638a7b87"
      unitRef="U002">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="-3"
      id="Fact_5d1f975eeff44254b7f3e570f6f1c121"
      unitRef="U002">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="4"
      id="Fact_7c13582c8d8f41efba6803213d2c07bb"
      unitRef="U003">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="4"
      id="Fact_7c7b3b94d123451d90d8759446bd2a1e"
      unitRef="U003">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_5d810466e95a4f81b5cdc35fd002ee85"
      unitRef="U001">2409738</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_29aa6c778e464635adfbb6d18d73b0a2"
      unitRef="U001">2409738</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_0962d7493db445e89d71dee9df49c2c6"
      unitRef="U001">1707605</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_eb78cd97219d4fee906e9be166badf95"
      unitRef="U001">1707605</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_959c72ba41324ea392f0215bda23f371"
      unitRef="U001">1802606</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_e0c018fa6b6f4978abbe78f1d11c50d7"
      unitRef="U001">1802606</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="-3"
      id="Fact_361df31d24ad4c0a8e7688cc9b6be6bc"
      unitRef="U002">0</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="-3"
      id="Fact_c0ff1d38c7ea4d85b7eebc1fd0d22a13"
      unitRef="U002">0</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="c20210630"
      decimals="-3"
      id="Fact_ef5df57d3c7a4bc58198786f49373e00"
      unitRef="U002">108566000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1725cf4071e74bf79039906795bfa837"
      unitRef="U002">102004000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20210630"
      decimals="-3"
      id="Fact_456cafe6701541219b35e87c316a3e8a"
      unitRef="U002">46324000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20201231"
      decimals="-3"
      id="Fact_29de167452d7467f8c56fe6f174a6aed"
      unitRef="U002">34287000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20210630"
      decimals="-3"
      id="Fact_e96df6d6311548f2acdd873ba4d61f34"
      unitRef="U002">5931000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20201231"
      decimals="-3"
      id="Fact_28ffa4a50362422c94aedac6e3072bfe"
      unitRef="U002">4857000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="c20210630"
      decimals="-3"
      id="Fact_6b7d1cf6ce434bd48d1b93905ae23fb8"
      unitRef="U002">160823000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231"
      decimals="-3"
      id="Fact_fe0d537367a7449e9a4b5b590efe99d2"
      unitRef="U002">141150000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="c20210630"
      decimals="-3"
      id="Fact_bc076cf54a584680b9af3190a777b5c8"
      unitRef="U002">68733000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="c20201231"
      decimals="-3"
      id="Fact_059f559c20464d8f92eafc875849a20b"
      unitRef="U002">67020000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630"
      decimals="-3"
      id="Fact_eb8d9adbcff7443da1831aaa36ab9ab2"
      unitRef="U002">229556000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231"
      decimals="-3"
      id="Fact_65ec6c8adbeb4797a5738174860e6172"
      unitRef="U002">208170000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20210630"
      decimals="-3"
      id="Fact_e554b31bd7ec499291dd160ba049b651"
      unitRef="U002">418958000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20201231"
      decimals="-3"
      id="Fact_2d8d6ea9bd574d7d971c1b7199ce9bdd"
      unitRef="U002">341257000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_6b2db19f958a4c509e23370d3238407f"
      unitRef="U002">53864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_8e8f5aa3c6df4be09aa4b25ad95d154b"
      unitRef="U002">39049000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_054c4a9a6a28460dabd51f60628783bb"
      unitRef="U002">97596000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_16f1f11a18d7459eb10893505d9ba905"
      unitRef="U002">63397000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_bf80603412694d47be67c4981a387fb3"
      unitRef="U002">32184000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_5c94aa2bcadb40d1bbb89996479a104c"
      unitRef="U002">19693000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_acc6304b376c4045953251e57ccd8a50"
      unitRef="U002">57871000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_b914bfc43de34441951332df2ef5661a"
      unitRef="U002">33813000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_5def1040d29f4859afeb2df265bd5b7e"
      unitRef="U002">21680000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_c9a9841247a2453384f3c2c88256ee40"
      unitRef="U002">19356000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_23357dbc79a24f5cbf9f09608fae90b4"
      unitRef="U002">39725000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_b50bdf0f0c294e29bae0c453c8b47af8"
      unitRef="U002">29584000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_061716c4b51646148fe87884c2fe2ed3"
      unitRef="U002">5789000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_8b0b33aafcae4601a5468eb4696e74c5"
      unitRef="U002">4595000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_9e44a83e2e83439697d5b60fe54a4f30"
      unitRef="U002">11097000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_fbe46106d78144f9a9e1a5d5aec1deff"
      unitRef="U002">7600000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_178a0491aa5b42c4936229f4632823ba"
      unitRef="U002">7933000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_967969a520ff46cbb998d04a5381eaea"
      unitRef="U002">5221000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_2c3878116bd54047b113a2e8f007a504"
      unitRef="U002">13437000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7ac0c35cf29e4b9bb2cd16b5f382ec56"
      unitRef="U002">8898000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_7eed8fc4c5d443fc9c5cf83cff2402ed"
      unitRef="U002">3627000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_d5ab556907444547a9bbe5006221009f"
      unitRef="U002">2204000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_528032b479084db3982ff9fbef348b90"
      unitRef="U002">7410000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_a49eb840b1174b3bab707b1c4e67bd93"
      unitRef="U002">4532000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_c998c5539d5241a19ae92208b992b5a8"
      unitRef="U002">17349000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_d46d1735bc014a8ebae485d06cc5cce5"
      unitRef="U002">12020000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_53cd3e89305e461bb2cb4af1654d7b9f"
      unitRef="U002">31944000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c4eaeb7da13b41ea98867c0c63345673"
      unitRef="U002">21030000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_0e2f4f6412044df1bf241d4df2403c65"
      unitRef="U002">4331000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_6a204867b3dd44c6a338e21c03761b4a"
      unitRef="U002">7336000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_2f249aff583749e8926e3915eb8504a1"
      unitRef="U002">7781000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_604ca43cf4fe4fce93948c1c16b32b06"
      unitRef="U002">8554000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_12238d7c66d74790949295b301364dbb"
      unitRef="U002">31000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_a4d1c55f6586446a99eede0ae5214487"
      unitRef="U002">320000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_4d18d9f95f6d438da5dff6a1bba00ff5"
      unitRef="U002">80000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_ba13c24220db47c19204e620739bc5ca"
      unitRef="U002">655000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_1a9cd6edf715492db9699e4cf9df7b0a"
      unitRef="U002">194000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_065c166de56645278e28448e9469fedc"
      unitRef="U002">228000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_1518a8d9fda64b99b26cd5cdd69d6876"
      unitRef="U002">383000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_6c8e7b40f33b42f1adc193efa11f87a2"
      unitRef="U002">339000</us-gaap:InterestExpense>
    <acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_daf07337c22e4995abc6e895aba8dc4d"
      unitRef="U002">0</acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue>
    <acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_d0e272d4734c4513ab97f7afba3641d8"
      unitRef="U002">5431000</acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue>
    <acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_2c3d124f4f0b490ab97f98c76784ad22"
      unitRef="U002">0</acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue>
    <acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7264680bab0d4e338188fbce7e89904b"
      unitRef="U002">5431000</acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_ddf79e76f18f471a9731fbe893169876"
      unitRef="U002">3783000</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_18283ec2bea741f5925134f60534c849"
      unitRef="U002">0</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_3151fb2172254ac782bad414ef0ef60e"
      unitRef="U002">2736000</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_9087009967ee466f811f62ec8329aa5e"
      unitRef="U002">0</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_2103eb85f691401db8e5d69da617176c"
      unitRef="U002">-897000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_97f323f9c749434dbad0237d69b44aad"
      unitRef="U002">149000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_7cb994200e38409e85a1db6590cfc750"
      unitRef="U002">-428000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_95221172205f458797cea1d45a4485f2"
      unitRef="U002">826000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_9ab2bead578f4bcc84fbd3cb7e2f2b33"
      unitRef="U002">295000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_1c7131b73ec64f3cbe004d952bbbddbb"
      unitRef="U002">209000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_27fbfbfbf73f4903a5a08bddd8266ba2"
      unitRef="U002">615000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_41e9f91c6c0f41298e4dea47cf14b781"
      unitRef="U002">357000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_304dc922598c4845b0336a15db350467"
      unitRef="U002">7349000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_5838c6ee22ac4a1cbfdc25bc88691f38"
      unitRef="U002">2355000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_7df2026bee7d421092adb09beef9e4f4"
      unitRef="U002">10401000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_a87df0c3d1d6475ca62531dc57e541a8"
      unitRef="U002">4622000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_49d2ae48a6f24bb7b2cc030d0292970b"
      unitRef="U002">15000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_b6c4dfeef6e9415e9b47bf73535da773"
      unitRef="U002">1859000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_449c9645cce14bde9aebb502fe3dd90c"
      unitRef="U002">-2755000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_75b8f22839054d8ba3c8054284cb74f1"
      unitRef="U002">2163000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_4fdd735a1f464c7c89cb1d80dd28c050"
      unitRef="U002">7334000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_b21e074ddf474c96bf75752c44784368"
      unitRef="U002">496000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_8d7c7820cd124df7a7faeb7bb0c66505"
      unitRef="U002">13156000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_1d554c07e33d47d092ed8563f234e280"
      unitRef="U002">2459000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_97fc386be25a4ba4ba14ce72f85c74d7"
      unitRef="U002">767000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_b999c75003c94ee7a9839e4747bb06ef"
      unitRef="U002">577000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_3428918e64784e1592a6f4f3bfed14d3"
      unitRef="U002">1119000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_9aacabd788484f3faa6f3acefd00b1f9"
      unitRef="U002">835000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_689cfc36d3374f3581ab0ecaa1073238"
      unitRef="U002">6567000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_c001e8d1c7684f9c88d626ae10f57ff9"
      unitRef="U002">-81000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_c869083f3c664de3b9d680b5eaedb79c"
      unitRef="U002">12037000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f6f2604457594a28aeffd2f97ff9dac9"
      unitRef="U002">1624000</us-gaap:NetIncomeLoss>
    <us-gaap:ProfitLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_ed438f7bdbde485a9af9b6302058bab2"
      unitRef="U002">7334000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_6b83cc8ff05b497aafd7dcea7853b46a"
      unitRef="U002">496000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_fa8e8f3e98124a02b105d18c938889e4"
      unitRef="U002">13156000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_8c28a5b74861488f9a1a9b12278deab6"
      unitRef="U002">2459000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_0e6196e1e17b4ff2ba6e56ce33395eaa"
      unitRef="U002">3000000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_183ee67002674f249a89c6fb9a7db9f2"
      unitRef="U002">242000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_8dbc641cfd344f04aad079d29f49eab1"
      unitRef="U002">1668000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_bb60a8ee12824bb8865d2b274d32199c"
      unitRef="U002">-1658000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_522f5c4a707944d0aa8d7b091835cdcd"
      unitRef="U002">10334000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_1adbbf087e5942db953728b1ad4458ce"
      unitRef="U002">738000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_6b916e92f2dd4415a0856f3d2ff7b033"
      unitRef="U002">14824000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_0aa2ef202906498da79fdc2c23d1572f"
      unitRef="U002">801000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_362799626d714ea096c385008794809b"
      unitRef="U002">1797000</acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests>
    <acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_872f51ceb8d04686b037d9ce4c9ebc26"
      unitRef="U002">1610000</acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests>
    <acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_050756e968744473b4f6ecf5b7d710e8"
      unitRef="U002">1714000</acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests>
    <acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_083d63a32e9f41f1bb1dab52aedd6e4b"
      unitRef="U002">916000</acmr:ComprehensiveIncomeLossAttributableToNonControllingInterestsAndRedeemableNonControllingInterests>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_49aaa4ad17ec4d808b90d5a78ac15d81"
      unitRef="U002">8537000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_3900b63f6a3a4e40b6fbebc5d17dfe94"
      unitRef="U002">-872000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_af19fd206445489daa33aab1d47ee628"
      unitRef="U002">13110000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_39eefb39ccac41bbb79fc7a85be6a746"
      unitRef="U002">-115000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210401to20210630"
      decimals="2"
      id="Fact_f67939ce3bef4888ac46d958844b86dc"
      unitRef="U003">0.34</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200401to20200630"
      decimals="2"
      id="Fact_63bcfff37fb6486abc4643ec88699089"
      unitRef="U003">0.00</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210101to20210630"
      decimals="2"
      id="Fact_04ba4504f91d49d7ae685ba0978bf1f5"
      unitRef="U003">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200101to20200630"
      decimals="2"
      id="Fact_22154acde29a4d098b461e7036b241ca"
      unitRef="U003">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210401to20210630"
      decimals="2"
      id="Fact_37ca8ca084aa4d369a742c35fd20cb32"
      unitRef="U003">0.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200401to20200630"
      decimals="2"
      id="Fact_e5b8016c2ecc49bcb8279666e3cfdb78"
      unitRef="U003">0.00</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210101to20210630"
      decimals="2"
      id="Fact_9d75f69935bc40e7aa32742e9f2a119d"
      unitRef="U003">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200101to20200630"
      decimals="2"
      id="Fact_edf55f2c2f7e4bedb2c493cc34d7d0d7"
      unitRef="U003">0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20210401to20210630"
      decimals="0"
      id="Fact_238bff35a464485f9d566afec823089f"
      unitRef="U001">19123659</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20200401to20200630"
      decimals="0"
      id="Fact_96538d1ebf404388b89d4e8d8c0920a7"
      unitRef="U001">18050841</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20210101to20210630"
      decimals="0"
      id="Fact_d04dd602b6db4e899a737c6583a28627"
      unitRef="U001">18956195</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20200101to20200630"
      decimals="0"
      id="Fact_23377f1502124a1faa467a2e89d9640b"
      unitRef="U001">18085602</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20210401to20210630"
      decimals="0"
      id="Fact_00d675cc468f480b8c404dae90444d6b"
      unitRef="U001">21807744</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20200401to20200630"
      decimals="0"
      id="Fact_d790834f33bf4de6a1173fb17c4661be"
      unitRef="U001">21516175</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20210101to20210630"
      decimals="0"
      id="Fact_de9c9ce6a65d4189a3f30c9a981c7c7f"
      unitRef="U001">21679528</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20200101to20200630"
      decimals="0"
      id="Fact_2c9ad31e3e284c829d0dfe7e72303030"
      unitRef="U001">21197203</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_90cd0a9effc041bc8f6cd0f19d3cfe64"
      unitRef="U001">16896693</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4c90f419d0914a759c8dd8e479d0defa"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_df4dc3be8de5419c92c99639677a883f"
      unitRef="U001">1802606</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_054788a04f6d43fea2f10c38503181af"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_795aad8c76214842949f7f0b30582866"
      unitRef="U002">102004000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_694370c609354037837152f3cb8c140b"
      unitRef="U002">34287000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_8127e6e6926046509203c7d8afa132d0"
      unitRef="U002">4857000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_5f8921ab35b54288872da8eac84b72ff"
      unitRef="U002">67020000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b34f3f12c0854397bf417dae542b3a21"
      unitRef="U002">208170000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4c3063a8e1de42dea5de66e02ab5ebb9"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a0ce6d1722654850a362ec14a0fdacd1"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_1082ac5b986442528d48975a657aa858"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_2912a56bd1d04f38b9fae22c59c28c2f"
      unitRef="U002">12037000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fe0c950c7ffc4768acd1f239e725afc9"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_14969dfcf7f249ea931c08a4e18d1fc6"
      unitRef="U002">1119000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_d71f25936e5d40a7934f6fad6b544eb9"
      unitRef="U002">13156000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ef4c06ce9ff248c999d9c3afcce4e1dd"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_e01cb2e960fc4525bc788fe9291f713c"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d0b4f27c8ab34340b3947e6d26a876ca"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_927184a698e0422cba567bb0574bd75e"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_22dded6a63bc47f988f658c9c3c3820c"
      unitRef="U002">1074000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_03a2ceffa2524e3796110308d5b172c9"
      unitRef="U002">594000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_766aa8dcc6be4b1f9c2f06bfe6124f18"
      unitRef="U002">1668000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_746cc4a3df9d42ea9f1af18cc260a83f"
      unitRef="U001">434034</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4508bafdbb834a079eb1c8bbd26e100a"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_320e4fd4534f4d6ca7acd952ed616618"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_d8c9dd2009d0480cb16459ffc7223af9"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f2852fa588d34e63921d09cbb9d05c2c"
      unitRef="U002">2197000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_c294fc7a58834c08863ae2cc421c0749"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_e56bc27aa821476996f3dae98de7125e"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_687342af6d1d45d2ac3d7b089182c190"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_ace63f4c760e419399003b529c33136b"
      unitRef="U002">2197000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_319419feaea647b6a139be3d596a12c9"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_81dcbe6d35a849629fe9ae07625a2dea"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f7670310824041cca21ef752c0c2ad80"
      unitRef="U002">2545000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_1a01f12b456f49ceb0268c00cdf578d8"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_2e1976e4ac854fc3a941e100657c9a2c"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_ab8c1dfd669f4bd19eda13b61e44904a"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_1784fef2fdbd49689479762974079641"
      unitRef="U002">2545000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_0a88d82a95bb4fecb9a52292a972b9c8"
      unitRef="U001">242681</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_1831b99074414c48b4dc6b109b1b03dd"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_95a42b5d4cc84e68a1a073e880dbb42c"
      unitRef="U001">0</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_6262ed1734b24a6d97b40d04e019b99c"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_bdebac4d82ae4140849f5abf6894111d"
      unitRef="U002">1820000</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_5efbf42c91624f589658d8136eeb9d49"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_e2ae9877373c4abe9c3fb57f7484041c"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_7770a6f83e314d1b82ef60b2dd27664f"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_5986553f1e0d411b8944b7260a5d29a8"
      unitRef="U002">1820000</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_a58522e18cfe40ffa6ce519756fe0cde"
      unitRef="U001">95001</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_6c724e58ad7342429e6630da24d0a8b3"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_0121d6f37329432cbfbb07b5ec0a6fd9"
      unitRef="U001">-95001</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a8b5cab54b0e4421a3b2acec9569ade6"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_975d521cfd14463c8c28318de528157c"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_a2c3a7863e8344c280e732e455d55471"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_b419abbe4b5c4929b09b430ff135cb09"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_7de1685f2c934f4c80d78469ba9fa1e4"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_22e7021d07514971824a65075718b147"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:SharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_8bd3f78bf8ca4fa89d561973617df849"
      unitRef="U001">17668409</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_538a86926ee349bfa8728ba14d1941b8"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_cf067ded1d75464c91b9665df9aad102"
      unitRef="U001">1707605</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_033f9d380161490683c2a61877e50573"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f6132f2d573b42688064dd2c672fefc1"
      unitRef="U002">108566000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_5db39e1f70f44ff3b9d0a0fbd698ec4b"
      unitRef="U002">46324000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_3c5fe0ff62b747178bfd1aa48910aa93"
      unitRef="U002">5931000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_d127299e91cb4fb1a63cd2d7599ef54b"
      unitRef="U002">68733000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630"
      decimals="-3"
      id="Fact_8034c711409d4ccb87ce56704520a594"
      unitRef="U002">229556000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20191231_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_99a4ec2b14f842bbac607f9d3a05069d"
      unitRef="U001">16182151</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_3b41ec943e5c4e5fbf8c8e67739d5986"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20191231_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_2d322925e4264b52b3f9cd216a41cd82"
      unitRef="U001">1862608</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_d9ad69022c7746898922dcaec6c9c9db"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_1a611d311a8846f9a33927c69c3421f0"
      unitRef="U002">83487000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_0a500477a4084238bb2ea139e83455fa"
      unitRef="U002">15507000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_209dadab8c8a4022a77ebb47abf3aca4"
      unitRef="U002">-1675000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_b45b6a7ad2b04fe9a2b87dde1bb3f477"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20191231"
      decimals="-3"
      id="Fact_ad172460dc8d4bf48b2bea3f754be5b2"
      unitRef="U002">97321000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_667f1a503e1145da98e964858dcf0df6"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b684266fbb3c4ede88fe425e78374269"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_4f84441d4c75424ba9e3a14a71d82e67"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_744ded81c7214dc48279f07b46590f09"
      unitRef="U002">1624000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_184bc150d3954c52b58432bc0c42ff37"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_b269be2a869143649c9e29414d440053"
      unitRef="U002">192000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_ace800c920f741f8a566f64b601ffb00"
      unitRef="U002">1816000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ff4b53df9a844480a37da3d53ff8640a"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_64c6f03c8ed24f7b82fdf5446b575ce3"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_b908d3588ec3463eb0f527e28411ae8d"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_375467e35a944f38b7e352b01e02b34c"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_cbf39a9c5c684550b01587415ac8d892"
      unitRef="U002">-1740000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_65db02a48cff4860b1f7989936567f34"
      unitRef="U002">928000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_e8e50d24ad684b9ab768369966db480a"
      unitRef="U002">-812000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_e38727e063b74abeb4ba20d559869c19"
      unitRef="U001">185903</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_3094ea15d6a447b4a54a883c945c0336"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_a6cfd182beb540c2a711ef18eae32875"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_7331eea55af64053bf3b9e9bd7d9eb4b"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_ddd6a7855f324ef2afe6e44e2a1ea242"
      unitRef="U002">873000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_2882a9d663c74368b7a34621561d3c22"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_e2c36a59b8a6449899c225118814afa5"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_51b747c65674441a9ca1b6f9e99ecea4"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_31f81d6af4f54d178f0d9a3c45b83a85"
      unitRef="U002">873000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_0016fc35a7d648fcb386bd704c064f07"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_2fa58352a60e4704b7fe855313cc79a2"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_474563aedd244dfb9cfb4bb859f4c878"
      unitRef="U002">1544000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_141a70fd02174eae8fce9e2e556eb912"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fcfbce87e9fe454785ce46d13c0cc006"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_0a4d084268dd4bb48e79e8efef343e63"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_ba66bba0c5ea412a8bb6ec23319f1a73"
      unitRef="U002">1544000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_40ba800757d640e7ac02d6fb4a55d8b2"
      unitRef="U001">60002</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_bbe9026166a140db811645c6aac0dcf3"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_4490eab37f7b4b8c8c872d99315460f2"
      unitRef="U001">-60002</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_6d1c58af46f14027bd14dab5a053a817"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_1e031faad34a41b9abd5f3e2420128ae"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_54919435671845fb949737847ce7a0fc"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_a738d35c320949499be16cede793e6fc"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_e99372afb4dc4bf79c87f7315414d2d0"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_3f5912b1e7c241988816ccdf34676883"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_28ebafa3acb9452dbc5758d1433b3c80"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f0196a20a5564abaa7d09c70af615521"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_752edadf192d40598613f34bba4eafb4"
      unitRef="U001">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f4706b86152448e8811e30b174d57934"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_327fc122849543c398e225703172fdcc"
      unitRef="U002">9715000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_e9742cef6bdb4ed0b29e2b96405de2d3"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_72bb108d1eff40179d717dea08a57171"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_d09fe5107d5d416081a8ad436dc1691f"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7e699ffd67c241adb6d7312ab6e5b025"
      unitRef="U002">9715000</us-gaap:StockRepurchasedDuringPeriodValue>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_a3d8c248bccb43d7b968a70d6a546275"
      unitRef="U001">64717</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f2af513a589649a5a1dfdf9dee762490"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_9edd0d5b41c646efb0a2b10e2170c83c"
      unitRef="U001">0</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_336a5a22fa6843a0ab21e8aedd91c650"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_fc78015ab6c24521be0a94c4b2993d3a"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_20f0dfb81ad8466faf79a433e9d7c45a"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_a72d69851407476696e8916141ea74b2"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_0c21f7a4878f419aa444e0f503de695e"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_1dbf547853434951961b4e2c47abf8ab"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_de5b1c9776c04254ae8df2da36676863"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_067e5168b158437baae9ae96257e89f3"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_7bbbc2a317d94f4d9acc38f319249ea7"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_57e552aa21d14055a04f0593027041cb"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_03b9b196913f4585ad821542374aa498"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_49ba70ade7f245faa723bb1a432bb014"
      unitRef="U002">59958000</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f37812c1dbd34d5eb76989763fb45f6d"
      unitRef="U002">59958000</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_f032ab881a6c421b83679b47921e96ef"
      unitRef="U001">16250092</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_8e2d7c5e967545388674b4cfc903238f"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_ab93204647554ed8b39218f0f41b44f5"
      unitRef="U001">1802606</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_e3444a50a71c4558beb49026c0350583"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_c712be0d71b54898a646f96783b2bf83"
      unitRef="U002">76189000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_9e16838113304e3a83b2ae72d004b940"
      unitRef="U002">17131000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_62a5e835614c4097bb1921706ad277a9"
      unitRef="U002">-3415000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_34bbb2a98f7147b593c14e4cd436954b"
      unitRef="U002">61078000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630"
      decimals="-3"
      id="Fact_a908f0dff297431f967910c7f29f848d"
      unitRef="U002">150985000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20210331_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_aa9600a37cf04353b6713f773345a7a7"
      unitRef="U001">17239967</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_2c38f9d3c36343c197e2fd8966e53327"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20210331_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_20508079e47b4c6aade7b18af626d3f6"
      unitRef="U001">1769272</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_361a4ec96a6e402a94ee0bfa17c68632"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_ea99f537f16a4b81a4d17a212220c6da"
      unitRef="U002">104591000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_dbc5c2271f944f6f8325d4cda819382c"
      unitRef="U002">39757000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_dab3d7d4214b4211b5e2d5ae9d7cc066"
      unitRef="U002">3961000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_4981e9ac24f24ed2bee1461c16194355"
      unitRef="U002">66936000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210331"
      decimals="-3"
      id="Fact_c90b545f6d5b4cec93826fb51c58977e"
      unitRef="U002">215247000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_7b0353061f2d404aa12a8cc5b06a04cb"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4d5d39eeb776462a90c80c20523fa0fc"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_9b570411f2a64db0b41bedb0c25c60d0"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_547fa815277d4660bceb6ca3712b73d3"
      unitRef="U002">6567000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_6a2074194b8746ccb2cfa8ac55230075"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_ddb1d96b13c64f18b23793ef7acc76f2"
      unitRef="U002">767000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_27827b7016244cae9173bb2958f46e79"
      unitRef="U002">7334000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b35f013067794b73a8e994729cb22f3f"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_9844714c2e5d4d20b3bc832c60e37c14"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f490a26dacf5499ebc2af5f0377036f0"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_383ee6f186c04b0b849d2d39602cefbf"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_bcefd02324cc4edebe7a18da3215b44d"
      unitRef="U002">1970000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_0e5b4be812f64d7b8d121049d240b1cc"
      unitRef="U002">1030000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_617bf34e60fc4582a764ef3dfa671be2"
      unitRef="U002">3000000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_dd94cc171ff44d98ba00ce817ba7171a"
      unitRef="U001">124094</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f9879c4df942452a8e5dfa89b6071506"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_edf3f2f1c266491db82e0616c73fd114"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_66891170f00d46f1acc7339177a1c611"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_adcee044eeba400e8161912c182b3fdc"
      unitRef="U002">820000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_3bd83bca972d4e08a6271dde9c4d5a53"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fb7fbf4144c04a44a47a8d9c81e8f434"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_582e7b3cbecf4b3585ebdbc15c0c1b30"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_96c1ccc123a644b583bed523e6115278"
      unitRef="U002">820000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_0e5336506784464fbc70303afd5857f5"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_03c55cf7eee34b188b750acbd3682e67"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_520607373cb445c3b679930c18afab98"
      unitRef="U002">1335000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_e2bf40f9e8c9446d82c7fa2a98cb93ca"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_b9891f195e3c43f180d5aedbb3b5917e"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_7c5f61eafdd34dcd9db61185450fb097"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_5ff88db7169547208de40fa1181690bc"
      unitRef="U002">1335000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_5d1878bad6cf4b809565741c3d859a03"
      unitRef="U001">242681</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_22a9fc700d9042b390460c0d2d663e4e"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_fa8b828a34ff48a69d384f0365bb1a91"
      unitRef="U001">0</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_9d0069dd4e8f468bb959c8a70f690374"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_899eb49c0a984f90b5637c06081b8adb"
      unitRef="U002">1820000</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_0551d3202a064069beb190912a192786"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_e067370c0ce44579a60a95b04887be34"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_67d2542f125841fa82416dab7c118581"
      unitRef="U002">0</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_72a66439b7b94561af703eed6f0cbe51"
      unitRef="U002">1820000</acmr:StockIssuedDuringPeriodValueCommonStockWarrantExercised>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_380678d54d2e4880867e9236a4c37c7c"
      unitRef="U001">61667</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a5fd51eeb28f44729c5ae210ce73d358"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_5f2f3807dcfd4dd59afad6c9e1254d5f"
      unitRef="U001">-61667</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ac86b4115f4f4ba9b7c14c075c73240d"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_88c6fb0ca0d240c0951686efbedfb67c"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_3606e4b298a04cac83f8a5006af3ac0a"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fa0fcac7e4ab495eae8e7c8daa371e50"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_9012bd47df2b44e5a01c6305a3a3fb0d"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_2fec2fe33e5c4eb997b386c8ec83a29f"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:SharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_23bc36f27f44433d91268f734cff9d3d"
      unitRef="U001">17668409</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4c1299b843484ea490ccb372052f7c10"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_966a53c23ebf4a8dbd22acc4a3894854"
      unitRef="U001">1707605</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ce0dfd04091741e6810b120e33cefb5e"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f16c991a9863472187b7b2607163bd40"
      unitRef="U002">108566000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_77b92392aa6747f1a15fd267fd2bed6e"
      unitRef="U002">46324000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_0ebc75d10a524186af6cf33dab015165"
      unitRef="U002">5931000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_21e823e271a647888e1e0bf085fe1522"
      unitRef="U002">68733000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20210630"
      decimals="-3"
      id="Fact_a384ea37ff294f6484d43cf880f5166e"
      unitRef="U002">229556000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20200331_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_9c650e679fa84fa092de47f5985aee99"
      unitRef="U001">16317346</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_14d7998c1cb74d7683f355dd17a75383"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20200331_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_e591138ef71d4f298a2f4b0363b5b823"
      unitRef="U001">1862608</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_c333a72773dc49b9aa6f10fe9bfd187a"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_7652be561915455ba740056387ca9a10"
      unitRef="U002">84351000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_34bbcbe4b0d947b694a2927aed0c5d05"
      unitRef="U002">17212000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_608137a1f9654f29a819fc5ce74429d6"
      unitRef="U002">-2623000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_11597ac201f845cd93e504a87eae78ef"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200331"
      decimals="-3"
      id="Fact_18a1b25b222344afa267c4b59bfc8389"
      unitRef="U002">98942000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_7e45be331428474b9592c1598cd2c8e8"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_26abe463d61242e9b208ebaa3e2a95ce"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_fda6f0bea54f4fa1a258788ad4c880ad"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_221198332f344552a9148579af66311a"
      unitRef="U002">-81000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_33f5a0943af5415b8cd73693dc71315c"
      unitRef="U002">0</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_4d9692c5b13c41649fdff8baec56b741"
      unitRef="U002">192000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <acmr:NetIncomeExcludingRedeemableNonControllingInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_0aa86db81213491cbee9790d1172687c"
      unitRef="U002">111000</acmr:NetIncomeExcludingRedeemableNonControllingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_8c3405cbdede45c697f31bc2b106dbcb"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_1e203d3198764e64b77477f71f32eb0e"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_084a8f6264da48a7a00e51e8b521f79c"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_a0fa43748179438eb2846cafb3a9a2a1"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_7d3ee3eadcce4072b3b806c5ef3f1c2a"
      unitRef="U002">-792000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_7b2536ae634240e582dbeb52f6f0459e"
      unitRef="U002">928000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_8c02753f5fb04434bac9f181b5ac97ca"
      unitRef="U002">136000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_9f7b51a113f2440aa5603c980af99e44"
      unitRef="U001">115425</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_25120379ca1e4408b5f8c9d58a40f1e9"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_5ab4cd16eb124b67b3f4772c97d8bb80"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_647d01b107f2464e88cae5ee9f8b6506"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_c215099f1f344a658e34ab3edf9d2e8a"
      unitRef="U002">698000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_246d64e12f014e9899da3210708b7b34"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_555051776fba4f12a488fc2cfbd4c63c"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_518c419e90304b7383be765018744f3a"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_bdc045562f3c4567bf720d06d69cdfbc"
      unitRef="U002">698000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_5b2541802e0b4832a3636ba1ca63f26f"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_9604c37aee6f40d2bed879aad9f628eb"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_876dbaf82865459fbef4e957cacf8b3d"
      unitRef="U002">855000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_93659e762a9b432ea193d9ad9241a202"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_67b9b2956b0442349487e396db85bd07"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_70b12012d0624c3fb1d144aef11dc864"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_e6fa5edbedbd4e7cb0c8f71215551d1a"
      unitRef="U002">855000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_654cf0dd659b4f239a6ddb4b57519478"
      unitRef="U001">60002</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4911339bb6614b9ea9c52f45f1209ffd"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_4e6697653344435e81a5e1a554a0aefc"
      unitRef="U001">-60002</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_39aeb284d7414746896819e24d13c1fe"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_e070173937524a0f81f3c02ee1fea718"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_231c9cb12a6d45f985e63ec7e22ad003"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_d792a953316543f6b4a08f43e526737f"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_90dd6230e280493c8646a952e3641f42"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_bdbb85f0ad2e4fccb98686a28f2bfd20"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_86c6f87d80bf41118707a206d9073172"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_61f2dc6f52114399bed8e12f30c452bb"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_36fff90f33404bdb992d50398ace358b"
      unitRef="U001">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_644e2dcedc8845b087bfd7d7ad22d27f"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_e3c29cf5030847e99438e502ff0c2225"
      unitRef="U002">9715000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_7b3693e8038e4d1e9da648a4e03c0d96"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fd7c83f29e2b4c4788fe8407f8a63270"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_9b613671e2194c1a8c8b03bc85ab1a35"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_c0dbbc4e0ac04019b3515e5a647eba13"
      unitRef="U002">9715000</us-gaap:StockRepurchasedDuringPeriodValue>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_c1b8cccb74da4c12a49aa8e186a68cf3"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_3f9d2694e07e4faaac896de20889f509"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_3edcbdffe76749e5a58bedf9fb990ed2"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_778eea113f75484186288b83cbe833f0"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_19d703dfa60749679583ef160530ae3d"
      unitRef="U002">0</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_da911a4a2b3b47dab124b806836f10fc"
      unitRef="U002">59958000</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_9632491642c34c07afc440618bbd16db"
      unitRef="U002">59958000</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_6dd69e587e504bf6a8fe3d97451012a5"
      unitRef="U001">16250092</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_61f235f9eb0240539897ce065a0e55dd"
      unitRef="U002">2000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_dbf2e711953d4ac9b19387eb65efe850"
      unitRef="U001">1802606</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementClassOfStockAxis_CommonClassBMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_49a27a2c87184b10a377177045c24c7a"
      unitRef="U002">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_70ef739be78744c79b88dccd527c7276"
      unitRef="U002">76189000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_c2c885c5ccf840cea9804a6ccb641118"
      unitRef="U002">17131000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_377c54f7a0084c51b7684855e5c0eeaf"
      unitRef="U002">-3415000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630_StatementEquityComponentsAxis_NoncontrollingInterestMember"
      decimals="-3"
      id="Fact_fb1500b43b214f04a455f2c0759b6573"
      unitRef="U002">61078000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20200630"
      decimals="-3"
      id="Fact_178ab18012c94eb0b6926745ea5c96ea"
      unitRef="U002">150985000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_849cf8b29f05484283363f412eceaa3c"
      unitRef="U002">13156000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7be2c7ba288145a9bb1e33bf32f26e01"
      unitRef="U002">2459000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_f48712b3e8ec47dc944680dd598f1314"
      unitRef="U002">1031000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_73d68f7a4f554eca890b243886fe99d2"
      unitRef="U002">441000</us-gaap:DepreciationAndAmortization>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_0c512aee68b8450d8a30721ed652be55"
      unitRef="U002">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_4f4d431f1b4740ffbfb8ac61be38d71d"
      unitRef="U002">-1000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_113a5a6e915b4773886675ab690c031e"
      unitRef="U002">615000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_3de1e1aae7c5466093180e45817fea53"
      unitRef="U002">357000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_74c4474399354c37825bc34fe3eb84ea"
      unitRef="U002">2736000</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_4e565ea45dc54b7a8c2c3207f4a16a3b"
      unitRef="U002">0</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_79d4a38dd69a49aa90caaf01390bfb48"
      unitRef="U002">-3502000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_042b4b170286439b93985f2d4432f302"
      unitRef="U002">-507000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_284cd37171a04559847ade122069ba24"
      unitRef="U002">2545000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c77673bb89ef450490f31bd7962653f2"
      unitRef="U002">1544000</us-gaap:ShareBasedCompensation>
    <acmr:ChangeInFairValueOfFinancialLiability
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_073e0ac7f8d1452a8e82603a7012c4c4"
      unitRef="U002">0</acmr:ChangeInFairValueOfFinancialLiability>
    <acmr:ChangeInFairValueOfFinancialLiability
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_d9b0d229ded446b092cdc21bfd1a34b7"
      unitRef="U002">5431000</acmr:ChangeInFairValueOfFinancialLiability>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_925c5399cfed417b902ce90f8f9eafdc"
      unitRef="U002">14279000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_83c99d9ecfce4b119b163cf2d14905b8"
      unitRef="U002">28474000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_7a7358ce359546e492be45f60e566a7a"
      unitRef="U002">610000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_1d1a061652484f61bd53b7bd5a722b6d"
      unitRef="U002">3271000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_8ad755b29c384e8e84bd2ed7ecc1b6ba"
      unitRef="U002">47432000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_8bda45dae4bb4ad084bd3a5e97a45d67"
      unitRef="U002">5630000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_c3a677cabd0347719763c98934c8d7ca"
      unitRef="U002">3001000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c9ecfd99f1324b81bffceecc8b412a11"
      unitRef="U002">1176000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_46fdcb435b8349018549b3f31eba746a"
      unitRef="U002">2939000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_2a33edbe84944ad191d44682744dc931"
      unitRef="U002">836000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_1b56f1c581bc47148380b359a745fd65"
      unitRef="U002">31200000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_65e5c442c0c04ebc8ea4f90b12528e99"
      unitRef="U002">14954000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_6449bb86ee8c4af6a22a6e138e139390"
      unitRef="U002">25912000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f4a1dd6913994e2eaed3c11d1d5ddc9d"
      unitRef="U002">-283000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_d40b06b59d7b4493a579e9b9c4edff31"
      unitRef="U002">452000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_b6816428405d447e9f4d030f691e0f17"
      unitRef="U002">-1419000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_4e118972bb4f4cbf93327571dfff3fbc"
      unitRef="U002">2270000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_b8ef7c5745234d59a4fe55ee90f4b4ff"
      unitRef="U002">3537000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_b197cd129e164ab1acb2b5a22a253659"
      unitRef="U002">2348000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_1a1c06dee6b54573afdfb4f360ddd48f"
      unitRef="U002">474000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_bf77cfc46b7a4795b376c5eeb68ce0c2"
      unitRef="U002">-3559000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_a7266d1e842f4a33972be6db920bcdb4"
      unitRef="U002">2461000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_d9777e9888a649748f9f0dceae1d84ef"
      unitRef="U002">241000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c488e75a9d50400e82bd4c576664cc2f"
      unitRef="U002">-10651000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_87f282dc23a74191bbc49559a0236ada"
      unitRef="U002">2353000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_2eebfa39a3bb42b5b875a1143f1d4b25"
      unitRef="U002">1529000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_5bc55f90a12d4042aeb8fd611588375f"
      unitRef="U002">431000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7f9bc98b93a24541ba7467dfd6dcee5a"
      unitRef="U002">55000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <acmr:PrePaymentForLandUseRightAndProperty
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_aa3a998e88f349198f6cfea1dc0cc765"
      unitRef="U002">0</acmr:PrePaymentForLandUseRightAndProperty>
    <acmr:PrePaymentForLandUseRightAndProperty
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_2d32e9fe239f401383e6c934d48a53c1"
      unitRef="U002">15438000</acmr:PrePaymentForLandUseRightAndProperty>
    <us-gaap:PaymentsToAcquireLongtermInvestments
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_374d596f2153423b8cf954545cb814e2"
      unitRef="U002">0</us-gaap:PaymentsToAcquireLongtermInvestments>
    <us-gaap:PaymentsToAcquireLongtermInvestments
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_a9d8881e910a4cb59f4c3b02ab0fa2ed"
      unitRef="U002">14130000</us-gaap:PaymentsToAcquireLongtermInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_add0d14751ef4cdbbbbab0c55946fdee"
      unitRef="U002">-2784000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_dee63ff0082344859a1643629737adeb"
      unitRef="U002">-31152000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_2fbc5202c1c348d48d46cc713489be36"
      unitRef="U002">17653000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c749576193964f6aa9f540642dc55e37"
      unitRef="U002">25807000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_0242df726ec6475bb97ef8a500aa35fa"
      unitRef="U002">21753000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_65466c18b2c645ba9393c458d5906f49"
      unitRef="U002">13563000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_275c26a2b28744fcbbe41d5dadef6f5b"
      unitRef="U002">1548000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c3504086206744b692ddd2be2889ed43"
      unitRef="U002">0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <acmr:RepaymentsOfLongTermBorrowing
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_4de4642e206f498b84c7c77b632346c3"
      unitRef="U002">794000</acmr:RepaymentsOfLongTermBorrowing>
    <acmr:RepaymentsOfLongTermBorrowing
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_de7ff73751854855989cd59505dcd4a8"
      unitRef="U002">0</acmr:RepaymentsOfLongTermBorrowing>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_4fb0d9a8b8e94000a505cc5357625dda"
      unitRef="U002">0</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_004861ec8cda4a2686083e26173747a8"
      unitRef="U002">1820000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_c5022ecf334d4c5aa4e757e89f5e9bad"
      unitRef="U002">2197000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f72c75a5a2d144e3ae0297b3da0e3197"
      unitRef="U002">873000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_9ca346ead9814ace90839cb337957242"
      unitRef="U002">1820000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_5c8c286e12bd45e09bd853901056d164"
      unitRef="U002">0</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_5ba95c1037cc4829898a96a5edaab3ea"
      unitRef="U002">671000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7025a7dbea30420ab4127b5da821e13f"
      unitRef="U002">11297000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_f765f2db52ec4b26b97b1c35d79383ee"
      unitRef="U002">315000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_283e08b335334b3fbe80ec7480ae9cae"
      unitRef="U002">-956000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_32a48cb5bb544125a08040f9a253541c"
      unitRef="U002">-1557000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7ed11f1e672e4b6a95c905f683f3c273"
      unitRef="U002">-31462000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20201231"
      decimals="-3"
      id="Fact_97afc273f6834725a61d83513b608ec7"
      unitRef="U002">71766000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20191231"
      decimals="-3"
      id="Fact_ad24a35cbbe041e8aaa6bcde1b503d81"
      unitRef="U002">117859000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20210630"
      decimals="-3"
      id="Fact_03660b5b446442dbaf7728d74330fef3"
      unitRef="U002">70209000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20200630"
      decimals="-3"
      id="Fact_22455745eb894372a3d7330f4e55dc98"
      unitRef="U002">86397000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_55064861037b4cdd96ba01c28e6d4e09"
      unitRef="U002">383000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_b4b4efdcdcfd43aa95a1c39548b8c525"
      unitRef="U002">339000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_cb289d4e5b004699937bcbb026ddb093"
      unitRef="U002">463000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f4644b80d80a4f17ac2266b32da7d3c2"
      unitRef="U002">4104000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20210630"
      decimals="-3"
      id="Fact_c3097d8fbf754f27b8d4bf18aaa16efa"
      unitRef="U002">70209000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20200630"
      decimals="-3"
      id="Fact_3254444e73d7410d8929bf9b5f5f4ab9"
      unitRef="U002">86397000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_c61c2b580088493bb84e5cea99c3b079"
      unitRef="U002">0</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent
      contextRef="c20200630"
      decimals="-3"
      id="Fact_23b5499994f04220be2f9f9f628ea128"
      unitRef="U002">0</us-gaap:RestrictedCashCurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20210630"
      decimals="-3"
      id="Fact_497ebbdda8ce4284ac706e3d123d9e88"
      unitRef="U002">70209000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20200630"
      decimals="-3"
      id="Fact_ad5056a872914e38b4ba53e0c1c499d5"
      unitRef="U002">86397000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <acmr:WarrantConversionToCommonStock
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_3201a7dd997c44bebae049e1bd62fdeb"
      unitRef="U002">0</acmr:WarrantConversionToCommonStock>
    <acmr:WarrantConversionToCommonStock
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_49e867fdaf1f496d8e5a9e634b7f3607"
      unitRef="U002">399000</acmr:WarrantConversionToCommonStock>
    <acmr:ShareCancellation
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_3cae081de57e41f8ae345bc80719d1f7"
      unitRef="U002">0</acmr:ShareCancellation>
    <acmr:ShareCancellation
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f1cee350b3764962af241237c3c69397"
      unitRef="U002">9715000</acmr:ShareCancellation>
    <acmr:CashlessExerciseOfStockOptions
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_3ad89a62e9f44a2b8534caad24b4e82a"
      unitRef="U002">118000</acmr:CashlessExerciseOfStockOptions>
    <acmr:CashlessExerciseOfStockOptions
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7d7fbecd23984540b42ee9a2021130e1"
      unitRef="U002">0</acmr:CashlessExerciseOfStockOptions>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock
      contextRef="c20210101to20210630"
      id="Text_96e929bfc7ce45f6bd475296b27ad79d">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 1 &#x2013; DESCRIPTION OF BUSINESS&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;A&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;CM Research, Inc. (&#x201c;ACM&#x201d;) and its subsidiaries (collectively with ACM, the &#x201c;Company&#x201d;) develop, manufacture and sell wet cleaning and other equipment used to improve the manufacturing process and yield for advanced integrated chips. The Company markets and sells its wet-cleaning equipment under the brand name &#x201c;Ultra C,&#x201d; based on the Company&#x2019;s proprietary Space Alternated Phase Shift (&#x201c;SAPS&#x201d;), Timely Energized Bubble Oscillation (&#x201c;TEBO&#x201d;), and Tahoe technologies. These tools are designed to remove random defects from a wafer surface efficiently, without damaging the wafer or its features, even at increasingly advanced process nodes.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM was incorporated in California in 1998, and it initially focused on developing tools for manufacturing process steps involving the integration of ultra low-K materials and copper. The Company&#x2019;s early efforts focused on stress-free copper-polishing technology, and it sold tools based on that technology in the early 2000s.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In 2006 the Company established its operational center in Shanghai in the People&#x2019;s Republic of China (the &#x201c;PRC&#x201d;), where it operates through ACM&#x2019;s subsidiary ACM Research (Shanghai), Inc. (&#x201c;ACM Shanghai&#x201d;). ACM Shanghai was formed to help establish and build relationships with integrated circuit manufacturers in the PRC, and the Company initially financed its Shanghai operations in part through sales of non-controlling equity interests in ACM Shanghai.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In 2007 the Company began to focus its development efforts on single-wafer wet-cleaning solutions for the front-end chip fabrication process. The Company introduced its SAPS megasonic technology, which can be applied in wet wafer cleaning at numerous steps during the chip fabrication process, in 2009. It introduced its TEBO technology, which can be applied at numerous steps during the fabrication of small node two-dimensional conventional and three-dimensional patterned wafers, in March 2016. The Company has designed its equipment models for SAPS and TEBO solutions using a modular configuration that enables it to create a wet-cleaning tool meeting the specific requirements of a customer, while using pre-existing designs for chamber, electrical, chemical delivery and other modules. In August 2018, the Company introduced its Ultra-C Tahoe wafer cleaning tool, which can deliver high cleaning performance with significantly less sulfuric acid than typically consumed by conventional high-temperature single-wafer cleaning tools. Based on its electro-chemical plating (&#x201c;ECP&#x201d;) technology, in 2019 the Company introduced its Ultra ECP ap, or &#x201c;Advanced Packaging,&#x201d; tool for bumping, or applying copper, tin and nickel to semiconductor wafers at the die-level, and its Ultra ECP map, or &#x201c;Multi-Anode Partial Plating,&#x201d; tool to deliver advanced electrochemical copper plating for copper interconnect applications in front-end wafer fabrication processes. The Company also offers a range of custom-made equipment, including cleaners, coaters and developers, to back-end wafer assembly and packaging factories, principally in the PRC.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In 2011 ACM Shanghai formed a wholly owned subsidiary in the PRC, ACM Research (Wuxi), Inc. (&#x201c;ACM Wuxi&#x201d;), to manage sales and service operations.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In November 2016 ACM redomesticated from California to Delaware pursuant to a merger in which ACM Research, Inc., a California corporation, was merged into a newly formed, wholly owned Delaware subsidiary, also named ACM Research, Inc.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In June 2017 ACM formed a wholly owned subsidiary in Hong Kong, CleanChip Technologies Limited (&#x201c;CleanChip&#x201d;), to act on the Company&#x2019;s behalf in Asian markets outside the PRC by, for example, serving as a trading partner between ACM Shanghai and its customers, procuring raw materials and components, performing sales and marketing activities, and making strategic investments.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;In August 2017 ACM purchased &lt;/span&gt;18.77%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; of ACM Shanghai&#x2019;s equity interests held by Shanghai Science and Technology Venture Capital Co., Ltd. On November 8, 2017, ACM purchased the remaining &lt;/span&gt;18.36%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; of ACM Shanghai&#x2019;s equity interest held by third parties, Shanghai Pudong High-Tech Investment Co., Ltd. (&#x201c;PDHTI&#x201d;) and Shanghai Zhangjiang Science &amp;amp; Technology Venture Capital Co., Ltd. (&#x201c;ZSTVC&#x201d;). At December 31, 2017, ACM owned all of the outstanding equity interests of ACM Shanghai, and indirectly through ACM Shanghai, owned all of the outstanding equity interests of ACM Wuxi.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;On September 13, 2017, ACM effectuated a &lt;/span&gt;&lt;span style="-sec-ix-hidden:Fact_ce05a92ef74e482b98433f4f39246c09"&gt;&lt;span style="-sec-ix-hidden:Fact_27cc38cf98ce4ef5a23e5ac449acfa5b"&gt;1-for-3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; reverse stock split of Class A and Class B common stock. Unless otherwise indicated, all share numbers, per share amount, share prices, exercise prices and conversion rates set forth in these notes and the accompanying consolidated financial statements have been adjusted retrospectively to reflect the reverse stock split.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On November 2, 2017, the Registration Statement on Form S-1 (File No. 333- 220451) for ACM&#x2019;s initial public offering of Class A common stock was declared effective by the U.S. Securities and Exchange Commission. Shares of Class A common stock began trading on the Nasdaq Global Market on November 3, 2017, and the closing for the offering was held on November 7, 2017.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In December 2017 ACM formed a wholly owned subsidiary in the Republic of Korea, ACM Research Korea CO., LTD. (&#x201c;ACM Korea&#x201d;), to serve customers based in Republic of Korea and perform sales, marketing, research and development activities for new products and solutions.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In March 2019 ACM Shanghai formed a wholly owned subsidiary in the PRC, Shengwei Research (Shanghai), Inc. (&#x201c;ACM Shengwei&#x201d;), to manage activities related to addition of future long-term production capacity.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;In April 2019 CleanChip formed a wholly owned subsidiary in California, ACM Research (CA), Inc. (&#x201c;ACM California&#x201d;), to provide procurement services on behalf of ACM Shanghai&lt;/span&gt;.&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In June 2019 ACM announced plans to complete, over the following three years, a listing (the &#x201c;STAR Listing&#x201d;) of shares of ACM Shanghai on the Shanghai Stock Exchange&#x2019;s new Sci-Tech innovAtion boaRd, known as the STAR Market, and a concurrent initial public offering (the &#x201c;STAR IPO&#x201d;) of ACM Shanghai shares in the PRC. ACM Shanghai is currently ACM&#x2019;s primary operating subsidiary, and at the time of announcement, was wholly owned by ACM. To meet a STAR Listing requirement that it have multiple independent stockholders in the PRC, ACM Shanghai completed private placements of its shares in June and November 2019, following which, as of September 30, 2020, the private placement investors held a total of 8.3% of the outstanding shares of ACM Shanghai and ACM Research held the remaining 91.7%.&#160;As part of the STAR Listing process, in June 2020 the ownership interests held by the private investors were reclassified from redeemable non-controlling interests to non-controlling interests as the redemption feature was terminated (note 19).&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;I&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;n preparation for the STAR IPO, ACM completed a reorganization in December 2019 that included the sale of all of the shares of CleanChip by ACM to ACM Shanghai&lt;/span&gt; for $3,500. The reorganization and sale had no &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;impact on ACM&#x2019;s c&lt;/span&gt;onsolidated financial statements.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The Company has direct or indirect interests in the following subsidiaries:&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="ze75a6682c38b4ccbb1c9f2821326c1c2" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;&#160;&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="6" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Effective interest held as at&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Name of subsidiaries&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Place and date of incorporation&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30, 2021&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2020&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (Shanghai), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PRC, May 2005&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (Wuxi), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PRC, July 2011&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;CleanChip Technologies Limited&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Hong Kong, June 2017&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research Korea CO., LTD.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Korea, December 2017&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengwei Research (Shanghai), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PRC, March 2019&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (CA), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;USA, April 2019&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (Cayman), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Cayman Islands, April 2019&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100.0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100.0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired
      contextRef="c20170831_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="4"
      id="Fact_9a989da13a2f4fa6b802d74cee375007"
      unitRef="U004">0.1877</acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired>
    <acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired
      contextRef="c20171108_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="4"
      id="Fact_ed2fe2dfb9d343f0a0bf465b69adcdca"
      unitRef="U004">0.1836</acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired>
    <acmr:TermToCompleteListingOfShares
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_95fac71b76334f5eb089e2c12dcceeed">P3Y</acmr:TermToCompleteListingOfShares>
    <acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired
      contextRef="c20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="3"
      id="Fact_72d4737b95dd4765a1ba91ee10c87450"
      unitRef="U004">0.083</acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired>
    <acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired
      contextRef="c20191231_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      decimals="3"
      id="Fact_c4d9ba8241114999a1d45bbdea94194f"
      unitRef="U004">0.917</acmr:BusinessAcquisitionPercentageOfEquityInterestsAcquired>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="c20190101to20191231_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember"
      decimals="-3"
      id="Fact_ae07ef27dfbb4a4fa5d8fd4cdee99d67"
      unitRef="U002">3500000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <acmr:DirectOrIndirectInterestsInSubsidiariesTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_bf41404ff7264ef4b80113ddd93e7af0">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The Company has direct or indirect interests in the following subsidiaries:&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="ze75a6682c38b4ccbb1c9f2821326c1c2" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;&#160;&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="6" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Effective interest held as at&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Name of subsidiaries&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Place and date of incorporation&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30, 2021&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2020&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (Shanghai), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PRC, May 2005&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (Wuxi), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PRC, July 2011&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;CleanChip Technologies Limited&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Hong Kong, June 2017&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research Korea CO., LTD.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Korea, December 2017&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengwei Research (Shanghai), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PRC, March 2019&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.7&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (CA), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: middle; width: 38%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;USA, April 2019&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;91.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;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Research (Cayman), Inc.&lt;/div&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 38%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Cayman Islands, April 2019&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100.0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100.0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:DirectOrIndirectInterestsInSubsidiariesTableTextBlock>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_ee42d6570325458884322fad909424f0">ACM Research (Shanghai), Inc.</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_ffb6f05bb0b14d6690dad720feacb85c">PRC, May 2005</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="3"
      id="Fact_c00f1b1a5fc748f98830222fbc56d887"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="3"
      id="Fact_777e4c2c43254f20a14328b50dea0e1f"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember"
      id="Fact_24dc0ab2bf2547529c18846a28e88752">ACM Research (Wuxi), Inc.</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember"
      id="Fact_2f54d2f3cd4d4ac28e23877418b3da1c">PRC, July 2011</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember"
      decimals="3"
      id="Fact_38915440c05f481b9f4e7943c73fde9c"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember"
      decimals="3"
      id="Fact_c3171a81a56e4cc58c8f3ad4cf0761d0"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember"
      id="Fact_ad2def8fbb6c4549847fe5cfc2d0ebf5">CleanChip Technologies Limited</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember"
      id="Fact_7dc4ceff160f4168bc156bc74a98357e">Hong Kong, June 2017</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember"
      decimals="3"
      id="Fact_d7004a77c3604c25abe94955d24995fe"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_CleanChipTechnologiesLimitedMember"
      decimals="3"
      id="Fact_278f527b907843c799e85c0ee087c7cb"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember"
      id="Fact_8db2cae35067491a947243cdaeadd920">ACM Research Korea CO., LTD.</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember"
      id="Fact_dda45e8a95dd46a5bc946734d83d26b4">Korea, December 2017</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember"
      decimals="3"
      id="Fact_05c4664d826b47c1bf7f1de8c1459df7"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_ACMResearchKoreaCOLTDMember"
      decimals="3"
      id="Fact_3bf580b289eb4eae8cf7c756a2a6a1f7"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      id="Fact_80b12cfd2f2c4f348e63c06a93368a43">Shengwei Research (Shanghai), Inc.</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      id="Fact_741916ed591945d3af8709411e72850a">PRC, March 2019</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      decimals="3"
      id="Fact_a8490f1e0d3e40cc80083e43f0749b46"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      decimals="3"
      id="Fact_868a1a97165e49f3a7ab692a2eb1db61"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchCAIncMember"
      id="Fact_5e155fa857fb48b4ac49038152b05975">ACM Research (CA), Inc.</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchCAIncMember"
      id="Fact_4cfd47f2b16f45ee876df45fee9e7975">USA, April 2019</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_ACMResearchCAIncMember"
      decimals="3"
      id="Fact_ad62bac921b741dbb4bdae0e5b0b88dc"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_ACMResearchCAIncMember"
      decimals="3"
      id="Fact_4a1d2dfb03d8496fb6721ccd42a28a06"
      unitRef="U004">0.917</acmr:SubsidiariesOwnershipPercentage>
    <acmr:NameOfSubsidiary
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember"
      id="Fact_ac7b8a125ce942ebbe4a62e06634367b">ACM Research (Cayman), Inc.</acmr:NameOfSubsidiary>
    <acmr:NameOfDateOfIncorporation
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember"
      id="Fact_39f885ac48b9446891cb940c6e5ffd54">Cayman Islands, April 2019</acmr:NameOfDateOfIncorporation>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20210630_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember"
      decimals="3"
      id="Fact_f056ece03de14c5b83f0fa84c2081001"
      unitRef="U004">1.000</acmr:SubsidiariesOwnershipPercentage>
    <acmr:SubsidiariesOwnershipPercentage
      contextRef="c20201231_ConsolidatedEntitiesAxis_ACMResearchCaymanIncMember"
      decimals="3"
      id="Fact_4c7ee42caefe4e74bd5ce3f394a41323"
      unitRef="U004">1.000</acmr:SubsidiariesOwnershipPercentage>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="c20210101to20210630"
      id="Text_ce23f46f1dd346abb5904b904f716e34">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 2 &#x2013; SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company&#x2019;s condensed consolidated financial statements include the accounts of ACM and its subsidiaries, including ACM Shanghai and its subsidiaries, which include ACM Wuxi, ACM Shengwei and CleanChip (the subsidiaries of which include ACM California and ACM Korea). ACM&#x2019;s subsidiaries are those entities in which ACM, directly or indirectly, controls a majority of the voting power. All significant intercompany transactions and balances have been eliminated upon consolidation.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The accompanying condensed consolidated financial statements of the Company have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) for interim financial information and the rules and regulations of the Securities and Exchange Commission for reporting on Form &lt;/span&gt;10&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-Q. Accordingly, they do not include all the information and footnotes required by GAAP for complete financial statements. The accompanying condensed consolidated financial statements should be read in conjunction with the historical consolidated financial statements of the Company for the year ended December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; included in ACM&#x2019;s Annual Report on Form &lt;/span&gt;10&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-K for the year ended December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The accompanying condensed consolidated balance sheet as of June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; condensed consolidated statements of operations and comprehensive income for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; condensed consolidated statements of changes in stockholders&#x2019; equity for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and condensed consolidated statements of cash flows for the &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are unaudited. In the opinion of management, these unaudited condensed consolidated financial statements of the Company reflect all adjustments that are necessary for a fair presentation of the Company&#x2019;s financial position and results of operations. Such adjustments are of a normal recurring nature, unless otherwise noted. The balance sheet as of June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and the results of operations for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are not necessarily indicative of the results to be expected for any future period.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;COVID-19 Assessment&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The outbreak of COVID-&lt;/span&gt;19,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the coronavirus, has grown both in the United States and globally, and related government and private sector responsive actions have adversely affected the Company&#x2019;s business operations. In December &lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; a series of emergency quarantine measures taken by the PRC government disrupted domestic business activities during the weeks after the initial outbreak of COVID-&lt;/span&gt;19.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; Since that time, an increasing number of countries, including the United States, have imposed restrictions on travel to and from the PRC and elsewhere, as well as general movement restrictions, business closures and other measures imposed to slow the spread of COVID-&lt;/span&gt;19 and its variants.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The situation continues to develop, and it is impossible to predict the effect and ultimate impact of the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak on the Company&#x2019;s business operations and results. While the quarantine, social distancing and other regulatory measures instituted or recommended in response to COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are expected to be temporary, the duration of the business disruptions and related financial impact cannot be estimated at this time. The COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak has been declared a worldwide health pandemic that could adversely affect the economies and financial markets of many countries, resulting in an economic downturn and changes in global economic policy that could reduce demand for the Company&#x2019;s products and its customers&#x2019; chips and have a material adverse impact on the Company&#x2019;s business, operating results and financial condition. Through June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the Company had not experienced a significant negative impact of COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; on its operations, capital and financial resources, including overall liquidity position. The Company continues to monitor the impact of the COVID-19 pandemic on all aspects of its business.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company conducts substantially all of its product development, manufacturing, support and services in the PRC, and those activities have been directly impacted by the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak and related restrictions on transportation and public appearances. In February &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; ACM Shanghai&#x2019;s headquarters were closed for an additional &lt;/span&gt;six days&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; beyond the normal Lunar New Year Holiday in accordance with Shanghai government restrictions related to the outbreak. The Company cannot assure that further closures or reductions of its PRC operations or production may not be necessary in upcoming months as the result of business interruptions arising from protective measures being taken by the PRC and other governmental agencies or of other consequences of the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company&#x2019;s corporate headquarters are located in Alameda County in the San Francisco Bay Area of California. In order to attempt to mitigate the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; pandemic, in March &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (a) the State of California declared a state of emergency related to the spread of COVID-&lt;/span&gt;19,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (b) the San Francisco Department of Public Health announced aggressive recommendations to reduce the spread of the virus, (c) the health officers of &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; San Francisco Bay Area counties, including Alameda County, issued shelter-in-place orders, which (i) direct all individuals living in those counties to shelter at their places of residence (subject to limited exceptions), (ii) direct all businesses and governmental agencies to cease non-essential operations at physical locations in those counties, (iii) prohibit all non-essential gatherings of any number of individuals, (iv) order cessation of all non-essential travel, and (d) the Governor of California and the State Public Health Officer and Director of the California Department of Public Health ordered all individuals living in the State of California to stay at their place of residence for an indefinite period of time (subject to limited exceptions). The effects of these types of actions in the future may negatively impact productivity, disrupt the business of the Company and delay timelines, the magnitude of which will depend, in part, on the length and severity of the restrictions and other limitations on the Company&#x2019;s ability to conduct its business in the ordinary course.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The prolonged and broad-based shift to a remote working environment continues to create inherent productivity, connectivity, and oversight challenges and could affect our ability to enhance, develop and support existing products and services, detect and prevent spam and problematic content, hold product sales and marketing events, and generate new sales leads, among others. In addition, the changed environment under which the Company is operating could have an effect on its internal controls over financial reporting as well as the Company&#x2019;s ability to meet a number of its compliance requirements in a timely or quality manner. Additional and/or extended, governmental lockdowns, restrictions or new regulations could significantly impact the ability of our employees and vendors to work productively. Governmental restrictions have been globally inconsistent and it remains unclear when a return to worksite locations or travel will be permitted or what restrictions will be in place in those environments. As the Company continues to return its workforce in more office locations in &lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; it may experience increased costs as it prepares its facilities for a safe return to work environment and experiment with hybrid work models, in addition to potential effects on its ability to compete effectively and maintain its corporate culture.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Extended periods of interruption to the Company&#x2019;s corporate, development or manufacturing facilities due to the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak could cause the Company to lose revenue and market share, which would depress its financial performance and could be difficult to recapture. The Company&#x2019;s business may also be harmed if travel to or from the PRC or the United States continues to be restricted or inadvisable or if members of management and other employees are absent because they contract the coronavirus, they elect not to come to work due to the illness affecting others in the Company&#x2019;s office or laboratory facilities, or they are subject to quarantines or other governmentally imposed restrictions.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Use of Estimates&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the balance sheet date and the reported revenues and expenses during the reported period in the consolidated financial statements and accompanying notes. The Company&#x2019;s significant accounting estimates and assumptions include, but are not limited to, those used for the valuation and recognition of fair value of trading securities, stock-based compensation arrangements and warrant liability, realization of deferred tax assets, assessment for impairment of long-lived assets, allowance for doubtful accounts, inventory valuation for excess and obsolete inventories, lower of cost and market value or net realizable value of inventories, depreciable lives of property and equipment and useful life of intangible assets.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Management evaluates these estimates and assumptions on a regular basis. Actual results could differ from those estimates and assumptions.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Basic and Diluted Net Income per Common Share&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic and diluted net income per common share are calculated as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd81e2ecbad714a0594700987db004a70" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months Ended June 30,&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; padding-bottom: 2px;" 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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Numerator:&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: middle; 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: middle; 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: middle; 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: middle; 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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,334&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;496&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,156&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,459&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Net income attributable to non-controlling interests and redeemable non-controlling interests&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;767&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;577&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,119&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;835&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) available to common stockholders, basic and diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,567&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(81&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,037&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,624&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%;" 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 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="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="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="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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average shares outstanding, basic&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,123,659&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,050,841&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,956,195&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,085,602&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effect of dilutive securities&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684,085&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,465,334&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,723,333&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,111,601&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: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average shares outstanding, diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,807,744&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,516,175&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,679,528&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,197,203&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" 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 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="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="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="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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.34&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.00&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.63&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&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;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.30&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.00&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.56&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.08&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;ACM has been authorized to issue Class A and Class B common stock since redomesticating in Delaware in November &lt;/span&gt;2016.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The &lt;/span&gt;two&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; classes of common stock are substantially identical in all material respects, except for voting rights. Since ACM did not declare any dividends during the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and six months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the net income per common share attributable to each class is the same under the &#x201c;&lt;/span&gt;two&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-class&#x201d; method. As such, the &lt;/span&gt;two&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; classes of common stock have been presented on a combined basis in the condensed consolidated statements of operations and comprehensive income and in the above computation of net income per common share.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Diluted net income per common share reflects the potential dilution from securities, including stock options and issued warrants, that could share in ACM&#x2019;s earnings. Certain potential dilutive securities were excluded from the net income per share calculation because the impact would be anti-dilutive. ACM&#x2019;s potential dilutive securities consist of warrants and stock options for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Financial instruments that potentially subject the Company to credit risk consist principally of cash and cash equivalents, restricted cash and accounts receivable. The Company deposits and invests its cash with financial institutions that management believes are creditworthy.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company is potentially subject to concentrations of credit risks in its accounts receivable. For the six months ended &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June &lt;/span&gt;30, 2021 and 2020, the Company&#x2019;s three largest customers accounted for 67.1% and 92.4%, respectively, of revenue. For the three months ended &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June&lt;/span&gt; 30, 2021 and 2020, the Company&#x2019;s three largest customers accounted for 81.2% and 91.0%, respectively, of revenue. As of &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June&lt;/span&gt; 30, 2021 and December 31, 2020, the Company&#x2019;s three largest customers accounted for 67.1% and 75.8%, respectively, of the Company&#x2019;s accounts receivables. The Company believes that the receivable balances from these largest customers do not represent a significant credit risk based on past collection experience.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Recently Adopted Accounting Pronouncements&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In December &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the Financial Accounting Standards Board (the &#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12, &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;Income Taxes (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;740)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;: Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. ASU &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;740.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; It also improves consistent application of and simplifies GAAP for other areas of Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;740&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; by clarifying and amending existing guidance. The Company adopted ASU &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; on January &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2021.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The adoption of ASU &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; did not have a material impact on the Company&#x2019;s condensed consolidated financial statements.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In March &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the FASB issued ASU No. &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; Reference Rate Reform (Topic &lt;/span&gt;848)&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;: Facilitation of the Effects of Reference Rate Reform on Financial Reporting. ASU &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; provide optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions affected by reference rate reform. The Company adopted ASU &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; on January &lt;/span&gt;1,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160; The adoption of ASU &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; did not have a material impact on the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In June &lt;/span&gt;2016,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the FASB issued ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;Financial Instruments-Credit Losses (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;326)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;: Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; replaced the pre-existing incurred loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; requires use of a forward-looking expected credit loss model for accounts receivables, loans and other financial instruments. ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; is effective for fiscal years beginning after December &lt;/span&gt;15,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; with early adoption permitted.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; color: #000000;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In October &lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the FASB issued ASU &lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;10,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt; Financial Instruments &#x2013; Credit Losses (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;326)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;, Derivatives and Hedging (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;815)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt; and Leases (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;842)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;, which defers the effective date for public filers that are considered small reporting companies (&#x201c;SRC&#x201d;) as defined by the U.S. Securities and Exchange Commission (&#x201c;SEC&#x201d;) to fiscal years beginning after December &lt;/span&gt;15,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2022,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; including interim periods within those fiscal years. Since the Company was eligible to be an SRC based on its SRC determination as of November &lt;/span&gt;15,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (which is the issuance date of ASU &lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;10)&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; in accordance with SEC regulations, the Company will adopt the standards for the year beginning January &lt;/span&gt;1,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2023.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; Adoption of the standard requires using a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the effective date to align existing credit loss methodology with the new standard. The Company is evaluating the impact of this standard on its consolidated financial statements, including accounting policies, processes and systems and expects the standard will have a minor impact on its consolidated financial statements.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;
</us-gaap:SignificantAccountingPoliciesTextBlock>
    <acmr:BasisOfPresentationAndPrinciplesOfConsolidationPolicyTextBlock
      contextRef="c20210101to20210630"
      id="Text_11b7861e1ab2476a9dd95be2162da388">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company&#x2019;s condensed consolidated financial statements include the accounts of ACM and its subsidiaries, including ACM Shanghai and its subsidiaries, which include ACM Wuxi, ACM Shengwei and CleanChip (the subsidiaries of which include ACM California and ACM Korea). ACM&#x2019;s subsidiaries are those entities in which ACM, directly or indirectly, controls a majority of the voting power. All significant intercompany transactions and balances have been eliminated upon consolidation.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The accompanying condensed consolidated financial statements of the Company have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) for interim financial information and the rules and regulations of the Securities and Exchange Commission for reporting on Form &lt;/span&gt;10&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-Q. Accordingly, they do not include all the information and footnotes required by GAAP for complete financial statements. The accompanying condensed consolidated financial statements should be read in conjunction with the historical consolidated financial statements of the Company for the year ended December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; included in ACM&#x2019;s Annual Report on Form &lt;/span&gt;10&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-K for the year ended December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The accompanying condensed consolidated balance sheet as of June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; condensed consolidated statements of operations and comprehensive income for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; condensed consolidated statements of changes in stockholders&#x2019; equity for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and condensed consolidated statements of cash flows for the &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are unaudited. In the opinion of management, these unaudited condensed consolidated financial statements of the Company reflect all adjustments that are necessary for a fair presentation of the Company&#x2019;s financial position and results of operations. Such adjustments are of a normal recurring nature, unless otherwise noted. The balance sheet as of June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and the results of operations for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are not necessarily indicative of the results to be expected for any future period.&lt;/span&gt;&lt;/div&gt;
</acmr:BasisOfPresentationAndPrinciplesOfConsolidationPolicyTextBlock>
    <acmr:COVID19AssessmentPolicyTextBlock
      contextRef="c20210101to20210630"
      id="Text_2ef095f9ab50416f8883f57a6619e6c9">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;COVID-19 Assessment&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The outbreak of COVID-&lt;/span&gt;19,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the coronavirus, has grown both in the United States and globally, and related government and private sector responsive actions have adversely affected the Company&#x2019;s business operations. In December &lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; a series of emergency quarantine measures taken by the PRC government disrupted domestic business activities during the weeks after the initial outbreak of COVID-&lt;/span&gt;19.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; Since that time, an increasing number of countries, including the United States, have imposed restrictions on travel to and from the PRC and elsewhere, as well as general movement restrictions, business closures and other measures imposed to slow the spread of COVID-&lt;/span&gt;19 and its variants.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The situation continues to develop, and it is impossible to predict the effect and ultimate impact of the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak on the Company&#x2019;s business operations and results. While the quarantine, social distancing and other regulatory measures instituted or recommended in response to COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are expected to be temporary, the duration of the business disruptions and related financial impact cannot be estimated at this time. The COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak has been declared a worldwide health pandemic that could adversely affect the economies and financial markets of many countries, resulting in an economic downturn and changes in global economic policy that could reduce demand for the Company&#x2019;s products and its customers&#x2019; chips and have a material adverse impact on the Company&#x2019;s business, operating results and financial condition. Through June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the Company had not experienced a significant negative impact of COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; on its operations, capital and financial resources, including overall liquidity position. The Company continues to monitor the impact of the COVID-19 pandemic on all aspects of its business.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company conducts substantially all of its product development, manufacturing, support and services in the PRC, and those activities have been directly impacted by the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak and related restrictions on transportation and public appearances. In February &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; ACM Shanghai&#x2019;s headquarters were closed for an additional &lt;/span&gt;six days&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; beyond the normal Lunar New Year Holiday in accordance with Shanghai government restrictions related to the outbreak. The Company cannot assure that further closures or reductions of its PRC operations or production may not be necessary in upcoming months as the result of business interruptions arising from protective measures being taken by the PRC and other governmental agencies or of other consequences of the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company&#x2019;s corporate headquarters are located in Alameda County in the San Francisco Bay Area of California. In order to attempt to mitigate the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; pandemic, in March &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (a) the State of California declared a state of emergency related to the spread of COVID-&lt;/span&gt;19,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (b) the San Francisco Department of Public Health announced aggressive recommendations to reduce the spread of the virus, (c) the health officers of &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; San Francisco Bay Area counties, including Alameda County, issued shelter-in-place orders, which (i) direct all individuals living in those counties to shelter at their places of residence (subject to limited exceptions), (ii) direct all businesses and governmental agencies to cease non-essential operations at physical locations in those counties, (iii) prohibit all non-essential gatherings of any number of individuals, (iv) order cessation of all non-essential travel, and (d) the Governor of California and the State Public Health Officer and Director of the California Department of Public Health ordered all individuals living in the State of California to stay at their place of residence for an indefinite period of time (subject to limited exceptions). The effects of these types of actions in the future may negatively impact productivity, disrupt the business of the Company and delay timelines, the magnitude of which will depend, in part, on the length and severity of the restrictions and other limitations on the Company&#x2019;s ability to conduct its business in the ordinary course.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The prolonged and broad-based shift to a remote working environment continues to create inherent productivity, connectivity, and oversight challenges and could affect our ability to enhance, develop and support existing products and services, detect and prevent spam and problematic content, hold product sales and marketing events, and generate new sales leads, among others. In addition, the changed environment under which the Company is operating could have an effect on its internal controls over financial reporting as well as the Company&#x2019;s ability to meet a number of its compliance requirements in a timely or quality manner. Additional and/or extended, governmental lockdowns, restrictions or new regulations could significantly impact the ability of our employees and vendors to work productively. Governmental restrictions have been globally inconsistent and it remains unclear when a return to worksite locations or travel will be permitted or what restrictions will be in place in those environments. As the Company continues to return its workforce in more office locations in &lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; it may experience increased costs as it prepares its facilities for a safe return to work environment and experiment with hybrid work models, in addition to potential effects on its ability to compete effectively and maintain its corporate culture.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Extended periods of interruption to the Company&#x2019;s corporate, development or manufacturing facilities due to the COVID-&lt;/span&gt;19&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; outbreak could cause the Company to lose revenue and market share, which would depress its financial performance and could be difficult to recapture. The Company&#x2019;s business may also be harmed if travel to or from the PRC or the United States continues to be restricted or inadvisable or if members of management and other employees are absent because they contract the coronavirus, they elect not to come to work due to the illness affecting others in the Company&#x2019;s office or laboratory facilities, or they are subject to quarantines or other governmentally imposed restrictions.&lt;/span&gt;&lt;/div&gt;
</acmr:COVID19AssessmentPolicyTextBlock>
    <acmr:NumberOfDaysHeadquartersClosed
      contextRef="c20200201to20200229"
      id="Fact_355d7f971f24474d9b95ee709cfa3663">P6D</acmr:NumberOfDaysHeadquartersClosed>
    <acmr:NumberOfSanFranciscoBayAreaCounties
      contextRef="c20200301to20200331"
      decimals="INF"
      id="Fact_1b8dadb26e9d4ff5b12c32df529de2e7"
      unitRef="U005">6</acmr:NumberOfSanFranciscoBayAreaCounties>
    <us-gaap:UseOfEstimates
      contextRef="c20210101to20210630"
      id="Text_f3edc856016a407dbf5f8f56ade116d7">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Use of Estimates&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the balance sheet date and the reported revenues and expenses during the reported period in the consolidated financial statements and accompanying notes. The Company&#x2019;s significant accounting estimates and assumptions include, but are not limited to, those used for the valuation and recognition of fair value of trading securities, stock-based compensation arrangements and warrant liability, realization of deferred tax assets, assessment for impairment of long-lived assets, allowance for doubtful accounts, inventory valuation for excess and obsolete inventories, lower of cost and market value or net realizable value of inventories, depreciable lives of property and equipment and useful life of intangible assets.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Management evaluates these estimates and assumptions on a regular basis. Actual results could differ from those estimates and assumptions.&lt;/div&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="c20210101to20210630"
      id="Text_b619e296d60745299ea7cee846090ec9">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Basic and Diluted Net Income per Common Share&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic and diluted net income per common share are calculated as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd81e2ecbad714a0594700987db004a70" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months Ended June 30,&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; padding-bottom: 2px;" 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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Numerator:&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: middle; 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: middle; 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: middle; 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: middle; 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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,334&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;496&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,156&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,459&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Net income attributable to non-controlling interests and redeemable non-controlling interests&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;767&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;577&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,119&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;835&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) available to common stockholders, basic and diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,567&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(81&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,037&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,624&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%;" 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 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="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="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="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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average shares outstanding, basic&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,123,659&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,050,841&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,956,195&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,085,602&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effect of dilutive securities&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684,085&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,465,334&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,723,333&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,111,601&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: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average shares outstanding, diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,807,744&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,516,175&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,679,528&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,197,203&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" 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 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="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="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="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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.34&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.00&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.63&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&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;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.30&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.00&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.56&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.08&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;ACM has been authorized to issue Class A and Class B common stock since redomesticating in Delaware in November &lt;/span&gt;2016.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The &lt;/span&gt;two&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; classes of common stock are substantially identical in all material respects, except for voting rights. Since ACM did not declare any dividends during the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and six months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the net income per common share attributable to each class is the same under the &#x201c;&lt;/span&gt;two&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-class&#x201d; method. As such, the &lt;/span&gt;two&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; classes of common stock have been presented on a combined basis in the condensed consolidated statements of operations and comprehensive income and in the above computation of net income per common share.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Diluted net income per common share reflects the potential dilution from securities, including stock options and issued warrants, that could share in ACM&#x2019;s earnings. Certain potential dilutive securities were excluded from the net income per share calculation because the impact would be anti-dilutive. ACM&#x2019;s potential dilutive securities consist of warrants and stock options for the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;.&lt;/span&gt;&lt;/div&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_b0a05dad867a4727a7102777e306ef20">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic and diluted net income per common share are calculated as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd81e2ecbad714a0594700987db004a70" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months Ended June 30,&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; padding-bottom: 2px;" 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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Numerator:&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: middle; 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: middle; 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: middle; 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: middle; 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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,334&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;496&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,156&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,459&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Net income attributable to non-controlling interests and redeemable non-controlling interests&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;767&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;577&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,119&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;835&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) available to common stockholders, basic and diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,567&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(81&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,037&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,624&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%;" 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 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="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="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="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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average shares outstanding, basic&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,123,659&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,050,841&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,956,195&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,085,602&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effect of dilutive securities&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684,085&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,465,334&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,723,333&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,111,601&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: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average shares outstanding, diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,807,744&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,516,175&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,679,528&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,197,203&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" 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 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="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="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="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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.34&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.00&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.63&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&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;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.30&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.00&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.56&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.08&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:ProfitLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_f5ce7e60985b4864829d1eb2e64f53e2"
      unitRef="U002">7334000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_b91d8e457af54420a18f9cc5936b5190"
      unitRef="U002">496000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_bacf7743ac1748fc963b77bb0646aff0"
      unitRef="U002">13156000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_044136546fba4c8d9c3db2e0f6409527"
      unitRef="U002">2459000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_82c54fb4906a48a1b9054afeba2994be"
      unitRef="U002">767000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_8421c94e247b401eb6b028173e946bd3"
      unitRef="U002">577000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_4e93a59bc38d4c8381adc3595220eac4"
      unitRef="U002">1119000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_13258bf9cd034b47915e2a97fc67b588"
      unitRef="U002">835000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_4411a5969d5348789f127ac2d064cb21"
      unitRef="U002">6567000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_712db56a28ad48b085ad6debd19b63a2"
      unitRef="U002">-81000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_3372271364fa4c1c982f44a0c2af0208"
      unitRef="U002">12037000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_71f82bbcae904b4daf264db908edc0a3"
      unitRef="U002">1624000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20210401to20210630"
      decimals="0"
      id="Fact_e8fb8845a32a4972b16e897a55ff339a"
      unitRef="U001">19123659</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20200401to20200630"
      decimals="0"
      id="Fact_0d84de0df8c54fd48a82a7de569eb322"
      unitRef="U001">18050841</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20210101to20210630"
      decimals="0"
      id="Fact_68a182355a174e0a97fb3108d3da3ca6"
      unitRef="U001">18956195</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20200101to20200630"
      decimals="0"
      id="Fact_d3c0f30f7f1a45b4bea1c1732203479c"
      unitRef="U001">18085602</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="c20210401to20210630"
      decimals="0"
      id="Fact_9ab8314752a14873bcf1befc023672aa"
      unitRef="U001">2684085</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="c20200401to20200630"
      decimals="0"
      id="Fact_c57db5f7f9d94425aead58e75a5fb37e"
      unitRef="U001">3465334</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="c20210101to20210630"
      decimals="0"
      id="Fact_0e161ff6efa743a0bced4e8c46e68f76"
      unitRef="U001">2723333</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="c20200101to20200630"
      decimals="0"
      id="Fact_774f9d063c344e7e99478fac348e2ee8"
      unitRef="U001">3111601</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20210401to20210630"
      decimals="0"
      id="Fact_29a14d3405e448dc9319c60c2ea33236"
      unitRef="U001">21807744</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20200401to20200630"
      decimals="0"
      id="Fact_23fb597e7d574c32876d06e5c33c3baf"
      unitRef="U001">21516175</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20210101to20210630"
      decimals="0"
      id="Fact_2d3ba8d1e17f48ab9ccd201ea77e869b"
      unitRef="U001">21679528</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20200101to20200630"
      decimals="0"
      id="Fact_1dc0fad241d44daa8a62f28d4bfee3a7"
      unitRef="U001">21197203</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210401to20210630"
      decimals="2"
      id="Fact_aec8de87506d4dcb9ea90d7de1deaa24"
      unitRef="U003">0.34</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200401to20200630"
      decimals="2"
      id="Fact_8c697abe271b478e8047892b2e488b39"
      unitRef="U003">0.00</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210101to20210630"
      decimals="2"
      id="Fact_3c284c89ab5c4248b8179a261560f080"
      unitRef="U003">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200101to20200630"
      decimals="2"
      id="Fact_e49a9b30a2e74a6f89c2a011216584a1"
      unitRef="U003">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210401to20210630"
      decimals="2"
      id="Fact_3360f3926e624c5383ce371e524c6bed"
      unitRef="U003">0.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200401to20200630"
      decimals="2"
      id="Fact_81458cf59c544a1697596fc145a8d3eb"
      unitRef="U003">0.00</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210101to20210630"
      decimals="2"
      id="Fact_1ed13d687e5144809007e62c4121b098"
      unitRef="U003">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200101to20200630"
      decimals="2"
      id="Fact_73bf3219418c4c6c8d679153c63f1e43"
      unitRef="U003">0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="c20210101to20210630"
      id="Text_50fa257ac5e44190aff3141fa384052d">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Financial instruments that potentially subject the Company to credit risk consist principally of cash and cash equivalents, restricted cash and accounts receivable. The Company deposits and invests its cash with financial institutions that management believes are creditworthy.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company is potentially subject to concentrations of credit risks in its accounts receivable. For the six months ended &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June &lt;/span&gt;30, 2021 and 2020, the Company&#x2019;s three largest customers accounted for 67.1% and 92.4%, respectively, of revenue. For the three months ended &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June&lt;/span&gt; 30, 2021 and 2020, the Company&#x2019;s three largest customers accounted for 81.2% and 91.0%, respectively, of revenue. As of &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June&lt;/span&gt; 30, 2021 and December 31, 2020, the Company&#x2019;s three largest customers accounted for 67.1% and 75.8%, respectively, of the Company&#x2019;s accounts receivables. The Company believes that the receivable balances from these largest customers do not represent a significant credit risk based on past collection experience.&lt;/div&gt;
</us-gaap:ConcentrationRiskCreditRisk>
    <acmr:NumberOfMajorCustomers
      contextRef="c20210101to20210630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="INF"
      id="Fact_a71256b0e3764854a27da283bf76ac49"
      unitRef="U006">3</acmr:NumberOfMajorCustomers>
    <acmr:NumberOfMajorCustomers
      contextRef="c20200101to20200630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="INF"
      id="Fact_4ab5ae7053e24d9f8092f09f59786b57"
      unitRef="U006">3</acmr:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20210630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="3"
      id="Fact_a36a6390064440e5bfd99656166f4e9f"
      unitRef="U004">0.671</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20200630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="3"
      id="Fact_75ddd8840f7a4b0c99cebb1959507114"
      unitRef="U004">0.924</us-gaap:ConcentrationRiskPercentage1>
    <acmr:NumberOfMajorCustomers
      contextRef="c20200401to20200630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="INF"
      id="Fact_914c43a3a0cd469cbf742280e8362e24"
      unitRef="U006">3</acmr:NumberOfMajorCustomers>
    <acmr:NumberOfMajorCustomers
      contextRef="c20210401to20210630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="INF"
      id="Fact_245da2fea75b4ea2affd0f3370a3fa74"
      unitRef="U006">3</acmr:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210401to20210630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="3"
      id="Fact_182835be4fdf49e48380f3618d56f030"
      unitRef="U004">0.812</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200401to20200630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="3"
      id="Fact_184f9deb660f4abba98f96681a7e7073"
      unitRef="U004">0.910</us-gaap:ConcentrationRiskPercentage1>
    <acmr:NumberOfMajorCustomers
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="INF"
      id="Fact_bbeb71a6edb84ffaba507942a62a0f8c"
      unitRef="U006">3</acmr:NumberOfMajorCustomers>
    <acmr:NumberOfMajorCustomers
      contextRef="c20210101to20210630_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="INF"
      id="Fact_0675a32817e94ad3a95b76a02345a63c"
      unitRef="U006">3</acmr:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20210630_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="3"
      id="Fact_0d12bd72aa254d0297c02c34887c0012"
      unitRef="U004">0.671</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ThreeCustomersMember"
      decimals="3"
      id="Fact_1416641594464373a8c1a518a330aafb"
      unitRef="U004">0.758</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="c20210101to20210630"
      id="Text_cc7deb8b9c734c2b88d14a0a445f2fbf">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;span style="text-decoration: underline;"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Recently Adopted Accounting Pronouncements&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In December &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the Financial Accounting Standards Board (the &#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12, &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;Income Taxes (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;740)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;: Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. ASU &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;740.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; It also improves consistent application of and simplifies GAAP for other areas of Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;740&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; by clarifying and amending existing guidance. The Company adopted ASU &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; on January &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2021.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The adoption of ASU &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; did not have a material impact on the Company&#x2019;s condensed consolidated financial statements.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In March &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the FASB issued ASU No. &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; Reference Rate Reform (Topic &lt;/span&gt;848)&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;: Facilitation of the Effects of Reference Rate Reform on Financial Reporting. ASU &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; provide optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions affected by reference rate reform. The Company adopted ASU &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; on January &lt;/span&gt;1,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160; The adoption of ASU &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;04&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; did not have a material impact on the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In June &lt;/span&gt;2016,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the FASB issued ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;Financial Instruments-Credit Losses (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;326)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;: Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; replaced the pre-existing incurred loss impairment methodology with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; requires use of a forward-looking expected credit loss model for accounts receivables, loans and other financial instruments. ASU &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;13&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; is effective for fiscal years beginning after December &lt;/span&gt;15,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; with early adoption permitted.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;
&lt;span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; color: #000000;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In October &lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the FASB issued ASU &lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;10,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt; Financial Instruments &#x2013; Credit Losses (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;326)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt;, Derivatives and Hedging (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;815)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic; color: #000000;"&gt; and Leases (Topic &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;842)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;, which defers the effective date for public filers that are considered small reporting companies (&#x201c;SRC&#x201d;) as defined by the U.S. Securities and Exchange Commission (&#x201c;SEC&#x201d;) to fiscal years beginning after December &lt;/span&gt;15,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2022,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; including interim periods within those fiscal years. Since the Company was eligible to be an SRC based on its SRC determination as of November &lt;/span&gt;15,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (which is the issuance date of ASU &lt;/span&gt;2019&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;10)&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; in accordance with SEC regulations, the Company will adopt the standards for the year beginning January &lt;/span&gt;1,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2023.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; Adoption of the standard requires using a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the effective date to align existing credit loss methodology with the new standard. The Company is evaluating the impact of this standard on its consolidated financial statements, including accounting policies, processes and systems and expects the standard will have a minor impact on its consolidated financial statements.&lt;/span&gt;&lt;/span&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="c20210101to20210630"
      id="Text_a1dc140edfd644508f6d39b49c7513cf">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 3 &#x2013; REVENUE FROM CONTRACTS WITH CUSTOMERS&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company assesses revenues based upon the nature or type of goods or services it provides and the geographic location of the related businesses. The following tables present disaggregated revenue information:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zf545c3a719d04ee18a12cb8bf64c89a7" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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="6" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt; &lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Single Wafer Cleaning, Tahoe and Semi-Critical Cleaning Equipment&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,461&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;33,340&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;77,874&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,124&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ECP (front-end and packaging), Furnace and Other Technologies&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,490&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,550&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,490&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Advanced Packaging (excluding ECP), Services &amp;amp; Spares&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,403&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,219&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,172&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,783&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Total Revenue By Product Category&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;53,864&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;39,049&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;97,596&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;63,397&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Wet cleaning and other front-end processing tools&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,974&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;37,830&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;77,874&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;60,614&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Advanced packaging, other processing tools, services and spares&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,890&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,219&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,722&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,783&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Total Revenue Fron&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;t-end&lt;/span&gt; and Back-End&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;53,864&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;39,049&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;97,596&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;63,397&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; 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;table cellpadding="0" cellspacing="0" id="zef98052d2ece4613bf0bf13fb5e6b53f" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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="6" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Mainland China&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;53,736&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,004&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;97,432&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;63,293&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other Regions&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;128&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;164&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;53,864&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;39,049&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;97,596&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;63,397&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_f7ee7575c1f6494daad197b222d21ede">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company assesses revenues based upon the nature or type of goods or services it provides and the geographic location of the related businesses. The following tables present disaggregated revenue information:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zf545c3a719d04ee18a12cb8bf64c89a7" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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="6" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt; &lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Single Wafer Cleaning, Tahoe and Semi-Critical Cleaning Equipment&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,461&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;33,340&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;77,874&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,124&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ECP (front-end and packaging), Furnace and Other Technologies&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,490&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,550&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,490&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Advanced Packaging (excluding ECP), Services &amp;amp; Spares&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,403&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,219&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,172&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,783&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Total Revenue By Product Category&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;53,864&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;39,049&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;97,596&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;63,397&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Wet cleaning and other front-end processing tools&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,974&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;37,830&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;77,874&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;60,614&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Advanced packaging, other processing tools, services and spares&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,890&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,219&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,722&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,783&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Total Revenue Fron&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;t-end&lt;/span&gt; and Back-End&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;53,864&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;39,049&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;97,596&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;63,397&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; 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;table cellpadding="0" cellspacing="0" id="zef98052d2ece4613bf0bf13fb5e6b53f" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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="6" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Mainland China&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;53,736&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,004&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;97,432&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;63,293&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other Regions&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;128&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;164&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;53,864&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;39,049&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;97,596&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;63,397&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember"
      decimals="-3"
      id="Fact_3b9a2dd5f7234fe1aa177a7be70f6206"
      unitRef="U002">45461000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember"
      decimals="-3"
      id="Fact_d40fc553089349a8bd17a9df7ca671d8"
      unitRef="U002">33340000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember"
      decimals="-3"
      id="Fact_2c88677c19f543a7a849ed33d9cc35ff"
      unitRef="U002">77874000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_ProductOrServiceAxis_TotalSingleWaferAndSemiCriticalCleaningEquipmentMember"
      decimals="-3"
      id="Fact_fe0e4a79174840f18cd125b84fdb864f"
      unitRef="U002">56124000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember"
      decimals="-3"
      id="Fact_9f165d9f88b24863aee04b7b1895358c"
      unitRef="U002">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember"
      decimals="-3"
      id="Fact_827f166935d24f4d8436f36be655b01b"
      unitRef="U002">4490000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember"
      decimals="-3"
      id="Fact_50f7b1e6d07640aa957856729e47d362"
      unitRef="U002">5550000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_ProductOrServiceAxis_ECPFrontEndAndPackagingFurnaceAndOtherTechnologiesMember"
      decimals="-3"
      id="Fact_716d53f2ac30416ab8134d4f52805838"
      unitRef="U002">4490000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember"
      decimals="-3"
      id="Fact_bc46a72f7754424499b14ced9e6a869b"
      unitRef="U002">8403000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember"
      decimals="-3"
      id="Fact_f54414cc3782434c9d317db5ff714c30"
      unitRef="U002">1219000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember"
      decimals="-3"
      id="Fact_55b864a58afb40d385dc46f5e5e05b01"
      unitRef="U002">14172000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_ProductOrServiceAxis_AdvancedPackagingExcludeECPServicesSparesMember"
      decimals="-3"
      id="Fact_6144e1be5a85495384a82348ef56a465"
      unitRef="U002">2783000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_081b83f8d2b24586a2d7fcec419e6f15"
      unitRef="U002">53864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_c39765dec8b4442c8712db45803094ca"
      unitRef="U002">39049000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_77aeeba8bde0486b9701847fe26ecf65"
      unitRef="U002">97596000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f8f39b18c5f1441dba5542bec4ee321a"
      unitRef="U002">63397000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember"
      decimals="-3"
      id="Fact_5666779c53ec4004986e70a85c8946a2"
      unitRef="U002">45974000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember"
      decimals="-3"
      id="Fact_19f63eac481f4df9b68072cc1c460ad7"
      unitRef="U002">37830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember"
      decimals="-3"
      id="Fact_1568355a60ea459ba44cfca6f9574b9f"
      unitRef="U002">77874000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_ProductOrServiceAxis_WetCleaningAndOtherFrontEndProcessingToolsMember"
      decimals="-3"
      id="Fact_e36e0f500bd04111bc0645f503fba243"
      unitRef="U002">60614000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember"
      decimals="-3"
      id="Fact_51dc237ff8404698b31bd148a7fe5860"
      unitRef="U002">7890000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember"
      decimals="-3"
      id="Fact_9eee57e75d194c71a829d9a4d8f2bd89"
      unitRef="U002">1219000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember"
      decimals="-3"
      id="Fact_dd4718f6651542c98d28057b9ef760f9"
      unitRef="U002">19722000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_ProductOrServiceAxis_AdvancedPackagingOtherProcessingServicesAndSparesMember"
      decimals="-3"
      id="Fact_3ae7e61d94cb4dc09a781d8abe821f9f"
      unitRef="U002">2783000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_46a9d6bb81094afa88c4516bee618b5f"
      unitRef="U002">53864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_671eedc57ffc4ff281299adf099b3eea"
      unitRef="U002">39049000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_e68cb7172ecd43a1ba627e575dcef18d"
      unitRef="U002">97596000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f91ee1ae321443caa2dc19a19a4b576a"
      unitRef="U002">63397000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_StatementGeographicalAxis_CN"
      decimals="-3"
      id="Fact_7aa5baf9e04e4c6b8cf0beb30ce75abe"
      unitRef="U002">53736000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_StatementGeographicalAxis_CN"
      decimals="-3"
      id="Fact_5320107c7e0e477e96d050efdbf122b0"
      unitRef="U002">39004000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_StatementGeographicalAxis_CN"
      decimals="-3"
      id="Fact_fd658f63059249c1aae0ba9356ed77cc"
      unitRef="U002">97432000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_StatementGeographicalAxis_CN"
      decimals="-3"
      id="Fact_3b2dffb078b141ebaa9ac0b00ab5400b"
      unitRef="U002">63293000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630_StatementGeographicalAxis_OherRegionsMember"
      decimals="-3"
      id="Fact_52c0017fb4434357a9db20316c54f176"
      unitRef="U002">128000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630_StatementGeographicalAxis_OherRegionsMember"
      decimals="-3"
      id="Fact_42068e73e3144d97ad76ff26a95b9e1b"
      unitRef="U002">45000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630_StatementGeographicalAxis_OherRegionsMember"
      decimals="-3"
      id="Fact_b0204174d3a940c4af1bc65ac9e45738"
      unitRef="U002">164000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630_StatementGeographicalAxis_OherRegionsMember"
      decimals="-3"
      id="Fact_45267665c1b44837a2156e20706ddc74"
      unitRef="U002">104000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_3360c494839244558804aa00f41705cb"
      unitRef="U002">53864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_fff3571accb7460ba1325a618530f97b"
      unitRef="U002">39049000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_e3e06d4acfb54c23ab1ecdadfca88a1d"
      unitRef="U002">97596000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_d3ba851f50d3447d87617b2232dc93af"
      unitRef="U002">63397000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_68797480ca2a48f0a3190b64a75d4e48">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 4 &#x2013; ACCOUNTS RECEIVABLE&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;A&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;t June 30, 2021 and December 31, 2020 accounts receivable consisted of the followin&lt;/span&gt;g:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z4ee7492cca344ee0a45e9b85e6e7ceab" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts&#160;receivable&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;71,357&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,441&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less:&#160;Allowance&#160;for&#160;doubtful&#160;accounts&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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: middle; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;71,357&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,441&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;T&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;he Company reviews accounts receivable on a periodic basis and makes general and specific allowances when there is doubt as to the collectability of individual balances. &lt;/span&gt;No&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; allowance for doubtful accounts was considered necessary at June 30, 2021 and December 31, 2020&lt;/span&gt;.&lt;/div&gt;
</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="c20210101to20210630"
      id="Text_987504ad112a4946aeece05ab632d69c">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;A&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;t June 30, 2021 and December 31, 2020 accounts receivable consisted of the followin&lt;/span&gt;g:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z4ee7492cca344ee0a45e9b85e6e7ceab" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts&#160;receivable&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;71,357&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,441&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less:&#160;Allowance&#160;for&#160;doubtful&#160;accounts&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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: middle; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;71,357&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,441&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_e476ea8686a5462bb718019f091445d8"
      unitRef="U002">71357000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_de90e03d6d42404c82e9410d7bf3b2c8"
      unitRef="U002">56441000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_601d83de31474d8b9f3eda97c8a80416"
      unitRef="U002">0</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_7f7eaead27cc44f489e8a51675c59a59"
      unitRef="U002">0</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_e4249516abce4b95a030e947edc3f215"
      unitRef="U002">71357000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_0467a4fb95be4dcc97dc549dbd7d76bb"
      unitRef="U002">56441000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_3e195f98285541ca8303534ac4d5a776"
      unitRef="U002">-0</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_22335ce52e77436088467527649a8eb0"
      unitRef="U002">-0</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_afa7982db9c247178ccc4c02c093e894">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 5 &#x2013; INVENTORIES&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June&lt;/span&gt; 30, 2021 and December 31, 2020 inventory consisted of the following:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z203bea1cd4074fdf9a8696eaa88b1e58" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Raw&#160;materials&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,801&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,391&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Work&#160;in&#160;process&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,084&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;23,871&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: middle; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Finished&#160;goods&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;63,967&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,377&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&#160;inventory&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;136,852&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;88,639&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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, the Company held an inventory reserve of $1,118 and $1,140, respectively. System shipments of first-tools to an existing or prospective customer, for which ownership does not transfer until customer acceptance, are classified as finished goods inventory and carried at cost until ownership is transferred.&lt;/div&gt;
</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_652ff7f319da4ddbaa31325634202e0b">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June&lt;/span&gt; 30, 2021 and December 31, 2020 inventory consisted of the following:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z203bea1cd4074fdf9a8696eaa88b1e58" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Raw&#160;materials&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,801&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,391&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Work&#160;in&#160;process&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,084&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;23,871&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: middle; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Finished&#160;goods&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;63,967&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,377&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&#160;inventory&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;136,852&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;88,639&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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="c20210630"
      decimals="-3"
      id="Fact_02ae7e1b0b47457487ff255d037cd094"
      unitRef="U002">48801000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="c20201231"
      decimals="-3"
      id="Fact_096c974772604edabdb6fabcb1f85f2d"
      unitRef="U002">32391000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="c20210630"
      decimals="-3"
      id="Fact_074150894d6f46eeae98e16ac64c361f"
      unitRef="U002">24084000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="c20201231"
      decimals="-3"
      id="Fact_07d2a249d1c440e6a6527a1c0ed44008"
      unitRef="U002">23871000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="c20210630"
      decimals="-3"
      id="Fact_af30fb2516584e469a5ce353c16faff9"
      unitRef="U002">63967000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b29fbd51bdb443e3b1280d75ea14a95b"
      unitRef="U002">32377000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross
      contextRef="c20210630"
      decimals="-3"
      id="Fact_10a6cb11df184d878dd574c6888ec349"
      unitRef="U002">136852000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="c20201231"
      decimals="-3"
      id="Fact_03779e1511034625a37235b24b4261d2"
      unitRef="U002">88639000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="c20210630"
      decimals="-3"
      id="Fact_5bad2a974db04b8e971bf41454601178"
      unitRef="U002">1118000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="c20201231"
      decimals="-3"
      id="Fact_7e7428ab8e2a4054a09dccbec7400a21"
      unitRef="U002">1140000</us-gaap:InventoryValuationReserves>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_f36f635be5354620854c90b8b78c400a">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 6 &#x2013; PROPERTY, PLANT AND EQUIPMENT, NET&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, property, plant and equipment consisted of the following:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zc8f722820e57482f8baf4f3e63b13498" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Manufacturing&#160;equipment&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,333&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,966&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Office&#160;equipment&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,425&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,047&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Transportation&#160;equipment&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;216&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;216&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Leasehold&#160;improvement&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,724&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,398&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&#160;cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,698&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,627&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less:&#160;Total&#160;accumulated&#160;depreciation&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4,681&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3,745&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Construction&#160;in&#160;progress&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,968&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,310&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&#160;property,&#160;plant&#160;and&#160;equipment,&#160;net&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,985&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,192&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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Depreciation expense was $&lt;/span&gt;467&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and $&lt;/span&gt;189&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for the three months &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;ended June 30, 2021 and 2020, respectively, and &lt;/span&gt;$906&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;$374&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for the &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;ended June &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;30,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2021&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2020,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; respectively.&lt;/span&gt;&lt;/div&gt;
</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="c20210101to20210630"
      id="Text_f1686a9f3f5645e9b0c3f32535152290">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, property, plant and equipment consisted of the following:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zc8f722820e57482f8baf4f3e63b13498" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Manufacturing&#160;equipment&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,333&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,966&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Office&#160;equipment&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,425&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,047&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Transportation&#160;equipment&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;216&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;216&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Leasehold&#160;improvement&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,724&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,398&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&#160;cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,698&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,627&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less:&#160;Total&#160;accumulated&#160;depreciation&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4,681&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3,745&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Construction&#160;in&#160;progress&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,968&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,310&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&#160;property,&#160;plant&#160;and&#160;equipment,&#160;net&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,985&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,192&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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20210630_PropertyPlantAndEquipmentByTypeAxis_EquipmentMember"
      decimals="-3"
      id="Fact_36af49a3c30246399f40d73d4a7b8244"
      unitRef="U002">6333000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_EquipmentMember"
      decimals="-3"
      id="Fact_2bd58b0929d2467b878c5ce10d7a7917"
      unitRef="U002">5966000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20210630_PropertyPlantAndEquipmentByTypeAxis_OfficeEquipmentMember"
      decimals="-3"
      id="Fact_1fd927e88a434360bca1aa9b005e727f"
      unitRef="U002">1425000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_OfficeEquipmentMember"
      decimals="-3"
      id="Fact_1f2c6502bf1345d59f76e4ff36219648"
      unitRef="U002">1047000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20210630_PropertyPlantAndEquipmentByTypeAxis_TransportationEquipmentMember"
      decimals="-3"
      id="Fact_ea8dd53e65304a6eb5a0beb001a951f4"
      unitRef="U002">216000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_TransportationEquipmentMember"
      decimals="-3"
      id="Fact_d67b9e12c3e0464c894af7ae31d6da1d"
      unitRef="U002">216000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20210630_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_dd687ad443914dfcac4c79b37f8d200a"
      unitRef="U002">2724000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_06252637575a44778b059621fb5aa0df"
      unitRef="U002">2398000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20210630"
      decimals="-3"
      id="Fact_be16c8c69a0244b3911c436671c53a37"
      unitRef="U002">10698000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9d757c8a62534c3a974ccbafdd720692"
      unitRef="U002">9627000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20210630"
      decimals="-3"
      id="Fact_b2f556bdcbd54075b09141a035868ef9"
      unitRef="U002">4681000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20201231"
      decimals="-3"
      id="Fact_01c62bd15e8f4e7d94d08838c4e26b78"
      unitRef="U002">3745000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:ConstructionInProgressGross
      contextRef="c20210630"
      decimals="-3"
      id="Fact_3ed68a7dc99645f9816d962c7ac228a7"
      unitRef="U002">2968000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="c20201231"
      decimals="-3"
      id="Fact_21ec5bdb5c534ce0ae88a9edb522abb0"
      unitRef="U002">2310000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_48fd0e9d3bab43be842b72fcd81f87d5"
      unitRef="U002">8985000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_5014dea562c74376b0170f18c5cce1b9"
      unitRef="U002">8192000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_b28631b1e31347a8bf7c0f06b98037b6"
      unitRef="U002">467000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_e1d67a09bd464b5488b0bb3e3a8b9cfd"
      unitRef="U002">189000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_744b4886dac24b62a23289e48c9b9699"
      unitRef="U002">906000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_caf3f48982cd407d9ea5d45a5dba2c80"
      unitRef="U002">374000</us-gaap:Depreciation>
    <acmr:LandUseRightsNetTextBlock
      contextRef="c20210101to20210630"
      id="Text_db1532287b594874bc9833f00a52999e">
&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 7 &#x2013; LAND USE RIGHT, NET&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;A summary of land use right is as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z53afdea8c07245c2857191e19d1e581a" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: top; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Land use right purchase amount&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,839&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,744&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Accumulated amortization&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(197&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(98&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Land use right, net&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,642&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,646&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In 2020 ACM Shanghai, through its wholly owned subsidiary ACM Shengwei, entered into an agreement for a 50-year land use right in the Lingang region of Shanghai. In July 2020 ACM Shengwei began a multi-year construction project for a new 1,000,000 square foot development and production center that will incorporate new manufacturing systems and automation technologies, and will provide floor space to support significantly increase production capacity and related research and development activities.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization expense was $49 for the three months ended June 30, 2021, and $98 for the six months ended June 30, 2021.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The annual amortization of land use right for each of the five succeeding years is as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z8ad2c19af83b4bd4bd214aab6a6a9ee2" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;Year ending December 31,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2022&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2023&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2024&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2025&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:LandUseRightsNetTextBlock>
    <acmr:LandUseRightsNetTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_acdc4f89379a460785c19367949392f4">
&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;A summary of land use right is as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z53afdea8c07245c2857191e19d1e581a" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: top; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Land use right purchase amount&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,839&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,744&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Accumulated amortization&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(197&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(98&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Land use right, net&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,642&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,646&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:LandUseRightsNetTableTextBlock>
    <acmr:LandUseRightPurchaseAmount
      contextRef="c20210630"
      decimals="-3"
      id="Fact_1689b27213624e19924cd01f2f747833"
      unitRef="U002">9839000</acmr:LandUseRightPurchaseAmount>
    <acmr:LandUseRightPurchaseAmount
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d17e3db54a674bc0b25c261a96884c93"
      unitRef="U002">9744000</acmr:LandUseRightPurchaseAmount>
    <acmr:LandUseRightAccumulatedAmortization
      contextRef="c20210630"
      decimals="-3"
      id="Fact_d637bda92d784b7dbabc059df771719f"
      unitRef="U002">197000</acmr:LandUseRightAccumulatedAmortization>
    <acmr:LandUseRightAccumulatedAmortization
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8932f9e729a44b08a7ccb31fe642eef6"
      unitRef="U002">98000</acmr:LandUseRightAccumulatedAmortization>
    <acmr:LandUseRightNet
      contextRef="c20210630"
      decimals="-3"
      id="Fact_f520771bc03643979ed0dd252d89f997"
      unitRef="U002">9642000</acmr:LandUseRightNet>
    <acmr:LandUseRightNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_dc97097c6fc14f8fb93fb541a24387cd"
      unitRef="U002">9646000</acmr:LandUseRightNet>
    <acmr:RightToUseLandLeaseTerm
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      id="Fact_8b287d71d1ff4f85a248c8bb1452182a">P50Y</acmr:RightToUseLandLeaseTerm>
    <acmr:AreaOfSquareFootForDevelopmentAndProductionCenter
      contextRef="c20200731_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember"
      decimals="0"
      id="Fact_3718aaf438134c3ab96d81053b46c0b7"
      unitRef="U007">1000000</acmr:AreaOfSquareFootForDevelopmentAndProductionCenter>
    <acmr:AmortizationOfGroundLease
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_fa8b7fe60c1e4f56b760131b4543b2b8"
      unitRef="U002">49000</acmr:AmortizationOfGroundLease>
    <acmr:AmortizationOfGroundLease
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_60ff2aeb85594800998103adc5e8da0b"
      unitRef="U002">98000</acmr:AmortizationOfGroundLease>
    <acmr:AnnualAmortizationOfLandUseRightTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_cf547ce830404b9fba89c9f4aa6e9e2a">
&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The annual amortization of land use right for each of the five succeeding years is as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z8ad2c19af83b4bd4bd214aab6a6a9ee2" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;Year ending December 31,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2022&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2023&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2024&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2025&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;197&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:AnnualAmortizationOfLandUseRightTableTextBlock>
    <acmr:AmortizationOfLandUseRightDueRemainderOfFiscalYear
      contextRef="c20201231"
      decimals="-3"
      id="Fact_59b4c1e1dc8442d68aaab1c647f1caa8"
      unitRef="U002">197000</acmr:AmortizationOfLandUseRightDueRemainderOfFiscalYear>
    <acmr:AmortizationOfLandUseRightDueNextTwelveMonths
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d223dcedad494509806f36e80e7f1db0"
      unitRef="U002">197000</acmr:AmortizationOfLandUseRightDueNextTwelveMonths>
    <acmr:AmortizationOfLandUseRightDueYearTwo
      contextRef="c20201231"
      decimals="-3"
      id="Fact_c32c40152dc4478d87a85e83dee901ee"
      unitRef="U002">197000</acmr:AmortizationOfLandUseRightDueYearTwo>
    <acmr:AmortizationOfLandUseRightDueYearThree
      contextRef="c20201231"
      decimals="-3"
      id="Fact_5be44f9a1dcf47669291dab61caa8e51"
      unitRef="U002">197000</acmr:AmortizationOfLandUseRightDueYearThree>
    <acmr:AnnualAmortizationOfLandUseRightDueYearFour
      contextRef="c20201231"
      decimals="-3"
      id="Fact_024669eff0644e6584fa1a2c8cd2533e"
      unitRef="U002">197000</acmr:AnnualAmortizationOfLandUseRightDueYearFour>
    <acmr:OtherAssetsNonCurrentDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_f6219a40fa8f43a8b89f69156f934ea1">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 8 &#x2013; OTHER LONG-TERM ASSETS&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, other long-term assets consisted of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z3b6b29b2302f470fb7177012274b9644" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: top; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prepayment for property - Lingang&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;40,372&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,450&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prepayment for property, plant and equipment and other non-current assets&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,463&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prepayment for property - lease deposit&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;610&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Security deposit for land use right&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;763&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;756&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: top; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Others&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;226&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;290&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total other long-term assets&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,434&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;40,496&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="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The prepayment for property - Lingang is for the housing in Lingang, Shanghai, which consists of (1) the contractual amount to acquire the property and (2) capitalized interest charges on the long-term loan related to acquisition of the property, which amounted to $&lt;/span&gt;541&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; as of June 30, 2021. The property is pledged for a long-term loan from China Merchants Bank (note 12).&lt;/span&gt;&lt;/div&gt;
</acmr:OtherAssetsNonCurrentDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock
      contextRef="c20210101to20210630"
      id="Text_4dbe113c33d74a7b8cf8b573e42cf391">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, other long-term assets consisted of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z3b6b29b2302f470fb7177012274b9644" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: top; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prepayment for property - Lingang&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;40,372&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,450&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prepayment for property, plant and equipment and other non-current assets&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,463&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prepayment for property - lease deposit&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;610&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Security deposit for land use right&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;763&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;756&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: top; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Others&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;226&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;290&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total other long-term assets&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,434&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;40,496&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:ScheduleOfOtherAssetsNoncurrentTextBlock>
    <acmr:PrepaymentForPropertyNonCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_5b74640f37c8440b94a7d059d3b9b7ba"
      unitRef="U002">40372000</acmr:PrepaymentForPropertyNonCurrent>
    <acmr:PrepaymentForPropertyNonCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d0eaa635c4884590928d0c4c3f5bdf27"
      unitRef="U002">39450000</acmr:PrepaymentForPropertyNonCurrent>
    <acmr:PrepaymentForPropertyPlantAndEquipmentAndOtherNonCurrentAssets
      contextRef="c20210630"
      decimals="-3"
      id="Fact_a7d4aebac3e54d918eba5f56e89b0ec4"
      unitRef="U002">1463000</acmr:PrepaymentForPropertyPlantAndEquipmentAndOtherNonCurrentAssets>
    <acmr:PrepaymentForPropertyPlantAndEquipmentAndOtherNonCurrentAssets
      contextRef="c20201231"
      decimals="-3"
      id="Fact_90e01930b10849f5ba3e3a90f70c415c"
      unitRef="U002">0</acmr:PrepaymentForPropertyPlantAndEquipmentAndOtherNonCurrentAssets>
    <acmr:PrepaymentForPropertyLeaseDeposit
      contextRef="c20210630"
      decimals="-3"
      id="Fact_50d0994d61b34bd7a2d707d6d2cf1197"
      unitRef="U002">610000</acmr:PrepaymentForPropertyLeaseDeposit>
    <acmr:PrepaymentForPropertyLeaseDeposit
      contextRef="c20201231"
      decimals="-3"
      id="Fact_24c62fd88d7b4029b580720be0850e45"
      unitRef="U002">0</acmr:PrepaymentForPropertyLeaseDeposit>
    <acmr:SecurityDepositForLandUseRight
      contextRef="c20210630"
      decimals="-3"
      id="Fact_8dd72a85582b4c3ba7520b7f904e6d03"
      unitRef="U002">763000</acmr:SecurityDepositForLandUseRight>
    <acmr:SecurityDepositForLandUseRight
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8f2cc2b353064eb889aa92318f81e489"
      unitRef="U002">756000</acmr:SecurityDepositForLandUseRight>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_0ea51a6947434415bdb9067d78acdb1e"
      unitRef="U002">226000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_26d5064eff64488e8d8f36b9ccae597b"
      unitRef="U002">290000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_9f3045c57d9749b5a64b9d6ac727da89"
      unitRef="U002">43434000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b9ae63fb4ed94eeb8623c2db13038bbc"
      unitRef="U002">40496000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AccumulatedCapitalizedInterestCosts
      contextRef="c20210630"
      decimals="-3"
      id="Fact_0314604aeca5465eb6d00b7438d27189"
      unitRef="U002">541000</us-gaap:AccumulatedCapitalizedInterestCosts>
    <us-gaap:ShortTermDebtTextBlock
      contextRef="c20210101to20210630"
      id="Text_b856d0bca3b54dc5aa7b6968978c9d9b">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 9 &#x2013; SHORT-TERM BORROWINGS&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, short-term and long-term borrowings consisted of the following:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="ze2c5c6ff66784d45b16d93b33bfae759" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB &lt;span style="text-indent: 0pt;"&gt;80,000&lt;/span&gt; from China Everbright Bank,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on April 1, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;4.70&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;March 23, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,599&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on June 27, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;4.25&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;June 28, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,380&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3)due on April 29, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;2.80&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;March 23, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;820&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4)due on June 27, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;2.70&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;June 25, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,080&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5)due on &lt;span style="text-indent: 0pt;"&gt;September 30, 2021&lt;/span&gt; with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;2.50&lt;/span&gt;%. *1&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,854&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB &lt;span style="text-indent: 0pt;"&gt;20,000&lt;/span&gt; from Bank of Communications,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on April 12, 2021 with an annual interest rate of 4.65% and fully repaid on April 12, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,533&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on May 24, 2021 with an annual interest rate of 3.65% and fully repaid on May 24, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,533&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 70,000 from Bank of Shanghai Pudong Branch,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on May 27, 2021 with an annual interest rate of 4.68%. *2 and fully repaid on May 27, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,575&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on June 27, 2021 with an annual interest rate of 4.68%. *2 and fully repaid on March 29, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,380&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3)due on May 28, 2021 with an annual interest rate of 3.48%. *2 and fully repaid on May 28, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,442&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4)due on June 7, 2021 with an annual interest rate of 3.50%. *2 and fully repaid on June 7, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,521&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5)due on June 16, 2021 with an annual interest rate of 3.50%. *2 and fully repaid on June 16, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,838&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 80,000 from China Merchants Bank,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on August 10, 2021 with annual interest rate of 3.85%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,380&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on August 25, 2021 with annual interest rate of 3.85%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,096&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,066&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3)due on February 1, 2022 with annual interest rate of 3.85%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4)due on May 26, 2022 with annual interest rate of 3.9%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5)due on February 2, 2022 with annual interest rate of 3.95%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,471&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6)due on February 2, 2022 with annual interest rate of 3.95%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,471&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7)due on February 2, 2022 with annual interest rate of 3.95%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 100,000 from Bank of Shanghai Pudong Branch,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on June 7, 2022 with an annual interest rate of 2.7%. *3.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,618&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 40,000 from Bank of China,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on June 15, 2022 with an annual interest rate of 3.86%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,080&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; 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: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;22,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: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26,147&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*1 Guaranteed by ACM&#x2019;s Chief Executive Officer&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*2 Guaranteed by ACM&#x2019;s Chief Executive Officer and CleanChip&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*3 Guaranteed by CleanChip&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;For the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;ended June &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;30,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;interest expense related to short-term borrowings amounted to &lt;/span&gt;$191&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;$228,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; respectively, and &lt;/span&gt;$380&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;$339&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for the &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;ended June &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;30,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;.&lt;/span&gt;&lt;/div&gt;
</us-gaap:ShortTermDebtTextBlock>
    <us-gaap:ScheduleOfShortTermDebtTextBlock
      contextRef="c20210101to20210630"
      id="Text_182564e0445943fe8b44062ec9f96d80">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, short-term and long-term borrowings consisted of the following:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="ze2c5c6ff66784d45b16d93b33bfae759" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB &lt;span style="text-indent: 0pt;"&gt;80,000&lt;/span&gt; from China Everbright Bank,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on April 1, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;4.70&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;March 23, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,599&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on June 27, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;4.25&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;June 28, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,380&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3)due on April 29, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;2.80&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;March 23, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;820&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4)due on June 27, 2021 with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;2.70&lt;/span&gt;%. *1 and fully repaid on &lt;span style="text-indent: 0pt;"&gt;June 25, 2021&lt;/span&gt;.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,080&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5)due on &lt;span style="text-indent: 0pt;"&gt;September 30, 2021&lt;/span&gt; with an annual interest rate of &lt;span style="text-indent: 0pt;"&gt;2.50&lt;/span&gt;%. *1&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,854&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB &lt;span style="text-indent: 0pt;"&gt;20,000&lt;/span&gt; from Bank of Communications,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on April 12, 2021 with an annual interest rate of 4.65% and fully repaid on April 12, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,533&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on May 24, 2021 with an annual interest rate of 3.65% and fully repaid on May 24, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,533&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 70,000 from Bank of Shanghai Pudong Branch,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on May 27, 2021 with an annual interest rate of 4.68%. *2 and fully repaid on May 27, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,575&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on June 27, 2021 with an annual interest rate of 4.68%. *2 and fully repaid on March 29, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,380&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3)due on May 28, 2021 with an annual interest rate of 3.48%. *2 and fully repaid on May 28, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,442&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4)due on June 7, 2021 with an annual interest rate of 3.50%. *2 and fully repaid on June 7, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,521&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5)due on June 16, 2021 with an annual interest rate of 3.50%. *2 and fully repaid on June 16, 2021.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,838&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 80,000 from China Merchants Bank,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on August 10, 2021 with annual interest rate of 3.85%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,380&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2)due on August 25, 2021 with annual interest rate of 3.85%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,096&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,066&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3)due on February 1, 2022 with annual interest rate of 3.85%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4)due on May 26, 2022 with annual interest rate of 3.9%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5)due on February 2, 2022 with annual interest rate of 3.95%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,471&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6)due on February 2, 2022 with annual interest rate of 3.95%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,471&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7)due on February 2, 2022 with annual interest rate of 3.95%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,393&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 100,000 from Bank of Shanghai Pudong Branch,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on June 7, 2022 with an annual interest rate of 2.7%. *3.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,618&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Line of credit up to RMB 40,000 from Bank of China,&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1)due on June 15, 2022 with an annual interest rate of 3.86%.&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,080&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; 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: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: justify; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;22,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: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26,147&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*1 Guaranteed by ACM&#x2019;s Chief Executive Officer&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*2 Guaranteed by ACM&#x2019;s Chief Executive Officer and CleanChip&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*3 Guaranteed by CleanChip&lt;/div&gt;
</us-gaap:ScheduleOfShortTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit5Member"
      decimals="-3"
      id="Fact_bd691955bb1843b9beb56d32aec82c6c"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit1Member"
      decimals="-3"
      id="Fact_aa583e29397b401ba3511215cff23fa7"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit2Member"
      decimals="-3"
      id="Fact_96072c09552f4bd3a02f0f7477194d7e"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit4Member"
      decimals="-3"
      id="Fact_724c041bdd754937b1bdcde6c6f5f6be"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit3Member"
      decimals="-3"
      id="Fact_62d351d99d344032b48f7b6950bfdde9"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit1Member"
      decimals="4"
      id="Fact_dd5da419f97c47a6ada549959167d18f"
      unitRef="U004">0.0470</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit1Member"
      id="Fact_c3387c4809454b6c9ace4bfc1f6df6bb">2021-03-23</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit1Member"
      decimals="-3"
      id="Fact_d7c69bb00ab94bbd83a7d088368c2357"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit1Member"
      decimals="-3"
      id="Fact_7e8c757dac1245f9a7ce12066fe91c17"
      unitRef="U002">4599000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit2Member"
      decimals="4"
      id="Fact_7f6f24ee77d04b568066757394bab80e"
      unitRef="U004">0.0425</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit2Member"
      id="Fact_e36253635cc94740abacd8993569a686">2021-06-28</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit2Member"
      decimals="-3"
      id="Fact_8f1711a8c2b744efa4fbc07539dacaba"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit2Member"
      decimals="-3"
      id="Fact_fe271af54ce34b5f9c516c41cd81a9a9"
      unitRef="U002">1380000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit3Member"
      decimals="4"
      id="Fact_8b9f91bdb3e8443594dba51a82f09e24"
      unitRef="U004">0.0280</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit3Member"
      id="Fact_c4e85926281848dbbe5d1d90119cf2fd">2021-03-23</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit3Member"
      decimals="-3"
      id="Fact_1d8797e10e6446d68e05fc6126a7f410"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit3Member"
      decimals="-3"
      id="Fact_299ef1b97585441884b2f7e62feca799"
      unitRef="U002">820000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit4Member"
      decimals="4"
      id="Fact_8a4116127f8347d296a4287d45a96dd3"
      unitRef="U004">0.0270</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit4Member"
      id="Fact_86e92e24d8d9464d88b5a77e9aa72292">2021-06-25</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit4Member"
      decimals="-3"
      id="Fact_ee1e14d4122d458e8d64df0039a094d9"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit4Member"
      decimals="-3"
      id="Fact_cbf14c3a7db249f5b5909fe139670a5d"
      unitRef="U002">2080000</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit5Member"
      id="Fact_ea0a4363f4af4905868d69062684cf50">2021-09-30</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit5Member"
      decimals="4"
      id="Fact_2bce9af6e9d945b492cea0a35c9cb621"
      unitRef="U004">0.0250</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit5Member"
      decimals="-3"
      id="Fact_82a98e1721de4833ad076c69830e4e39"
      unitRef="U002">2854000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit5Member"
      decimals="-3"
      id="Fact_dbb1228929a644b2b7c91b70b35aace3"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit6Member"
      decimals="-3"
      id="Fact_7177de749e814d25818bae4e8f79e4f4"
      unitRef="U008">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit7Member"
      decimals="-3"
      id="Fact_2d975ab5132d4bdf96c76c600138c4a1"
      unitRef="U008">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit6Member"
      decimals="4"
      id="Fact_be3a973aa5a44ad0959b6079975d08ca"
      unitRef="U004">0.0465</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit6Member"
      id="Fact_18eead19ba2f405c85c7a5dae20d5650">2021-04-12</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit6Member"
      decimals="-3"
      id="Fact_93f6a8e525594b07b5fa4fb2fc5427f5"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit6Member"
      decimals="-3"
      id="Fact_2925fd4a6c724038a51ce693fd57e31b"
      unitRef="U002">1533000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit7Member"
      decimals="4"
      id="Fact_06dc260c04be420da3f07b00fad6a418"
      unitRef="U004">0.0365</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit7Member"
      id="Fact_74263faf3a4149e2896d7c0531e2b27b">2021-05-24</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit7Member"
      decimals="-3"
      id="Fact_75708b0fd4894f9882acbb6456d72e51"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit7Member"
      decimals="-3"
      id="Fact_f610009654ec4b3e86c0dcddc811d03f"
      unitRef="U002">1533000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit9Member"
      decimals="-3"
      id="Fact_ef633697f9424aec98a082ca6e26fc74"
      unitRef="U008">70000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit12Member"
      decimals="-3"
      id="Fact_d93e3a49478b41a5aac15349cb455023"
      unitRef="U008">70000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit10Member"
      decimals="-3"
      id="Fact_5d0c9010f3ed4f1fb3715a03c5ad7876"
      unitRef="U008">70000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit11Member"
      decimals="-3"
      id="Fact_5a8e505a75174eb6b200892db5845160"
      unitRef="U008">70000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit8Member"
      decimals="-3"
      id="Fact_2e77d736d28c45cbb1c06816459b3130"
      unitRef="U008">70000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit8Member"
      decimals="4"
      id="Fact_e67b7e1ca6c64b359f50c209c2f56479"
      unitRef="U004">0.0468</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit8Member"
      id="Fact_cae7dd7e5a1b4d93b963aa76bfb6de22">2021-05-27</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit8Member"
      decimals="-3"
      id="Fact_4235cdb6de2f4d38b0cdd75665212776"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit8Member"
      decimals="-3"
      id="Fact_151ebf4efc4d4e32b56d25b44b7c38a6"
      unitRef="U002">2575000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit9Member"
      decimals="4"
      id="Fact_d123dc572f3a4e078d5354798fff2e43"
      unitRef="U004">0.0468</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit9Member"
      id="Fact_a9c1193fe8a846a990b0d3871f2a47e5">2021-03-29</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit9Member"
      decimals="-3"
      id="Fact_841a5bf268504fa69839750ac04a4eb1"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit9Member"
      decimals="-3"
      id="Fact_be9f9026dc624907b2ebdd8e106adf66"
      unitRef="U002">1380000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit10Member"
      decimals="4"
      id="Fact_d9f2769869754f95a71b4a291e232fa8"
      unitRef="U004">0.0348</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit10Member"
      id="Fact_0c1fb7e030cc4edf8bbacf83c148a2b7">2021-05-28</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit10Member"
      decimals="-3"
      id="Fact_2a6f54c50a964ab2a6b03a112bf81bff"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit10Member"
      decimals="-3"
      id="Fact_182c19e541024eff9968b5c7446eae49"
      unitRef="U002">2442000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit11Member"
      decimals="4"
      id="Fact_47fe0602539f44d28e9dcaf37c385dd9"
      unitRef="U004">0.0350</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit11Member"
      id="Fact_df2ccf8667fd4b6a8a0b87b28d9de8d9">2021-06-07</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit11Member"
      decimals="-3"
      id="Fact_dc2bbaa27ed747f69adf86a7fdbc896c"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit11Member"
      decimals="-3"
      id="Fact_bfba126bdd684ea5a829ef948b30b58c"
      unitRef="U002">1521000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit12Member"
      decimals="4"
      id="Fact_a84b40de0697435a8ecee36020c4ea3f"
      unitRef="U004">0.0350</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit12Member"
      id="Fact_929152aac95545e3b3d3e6a24e115834">2021-06-16</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit12Member"
      decimals="-3"
      id="Fact_376ccbcbba174a55a415db1c0fe7e7cb"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit12Member"
      decimals="-3"
      id="Fact_5b3661060b6e40e29031a9d62da98750"
      unitRef="U002">1838000</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit21Member"
      decimals="-3"
      id="Fact_f03f1e6d4cb14ccdb78a5fcfdab6f79d"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit24Member"
      decimals="-3"
      id="Fact_ceab15bb4de74170a7054413349c1f56"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit13Member"
      decimals="-3"
      id="Fact_c95cb62773444a678416dea6554cb13f"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit14Member"
      decimals="-3"
      id="Fact_bc659f0d6e924ecfaf861fd143152bee"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit15Member"
      decimals="-3"
      id="Fact_98d908b18a0e43e6b83e756a46f24afe"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit22Member"
      decimals="-3"
      id="Fact_0fda98b0bdd1407ba27ff823a3d3c8aa"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit23Member"
      decimals="-3"
      id="Fact_0e62a2ea8f20427ab8c4b92046870239"
      unitRef="U008">80000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit13Member"
      id="Fact_8c249d50297342608f8bf6b763781f53">2021-08-10</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit13Member"
      decimals="4"
      id="Fact_60cd001d31a644b48142092a7858335f"
      unitRef="U004">0.0385</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit13Member"
      decimals="-3"
      id="Fact_b180483028e7444294ced1561c529dab"
      unitRef="U002">1393000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit13Member"
      decimals="-3"
      id="Fact_76d75117c4774c54ad938a359800114d"
      unitRef="U002">1380000</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit14Member"
      id="Fact_6cca3eb31cb94e08994eefb4f069d9af">2021-08-25</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit14Member"
      decimals="4"
      id="Fact_a3406577c6dd4f22b56c373d30d63e92"
      unitRef="U004">0.0385</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit14Member"
      decimals="-3"
      id="Fact_128a53ca2bc346cf9bfde96e8b286ab3"
      unitRef="U002">3096000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit14Member"
      decimals="-3"
      id="Fact_d8957463ba4847acb05bd90aa8e58aee"
      unitRef="U002">3066000</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit15Member"
      id="Fact_096c49620f21488989450b055d8d5991">2022-02-01</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit15Member"
      decimals="4"
      id="Fact_bfbeef74a2464f169edb996c079f5f25"
      unitRef="U004">0.0385</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit15Member"
      decimals="-3"
      id="Fact_8393928db36b40dc85ef1b816ba3896b"
      unitRef="U002">1393000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit15Member"
      decimals="-3"
      id="Fact_3d7960d6ce8a4646a2bf94f4eef084c5"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit21Member"
      id="Fact_e0f81ae75bb44fa296c0dfa92399e175">2022-05-26</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit21Member"
      decimals="3"
      id="Fact_78473f5d91d640d5abc8b74264af37b6"
      unitRef="U004">0.039</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit21Member"
      decimals="-3"
      id="Fact_6bc70ce81391477e918da195738f6c73"
      unitRef="U002">1393000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit21Member"
      decimals="-3"
      id="Fact_4de22af046ca44bbb041589995320547"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit22Member"
      id="Fact_2cc77b4ac68d46f79a4ca04aa87a334e">2022-02-02</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit22Member"
      decimals="4"
      id="Fact_7cb72d10b86849c38d25f7b8e488050f"
      unitRef="U004">0.0395</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit22Member"
      decimals="-3"
      id="Fact_bcc7dc9e34da459d972645328d2aca8d"
      unitRef="U002">1471000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit22Member"
      decimals="-3"
      id="Fact_40ae6fbb5f664bae940b73f9900c5ee8"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit23Member"
      id="Fact_5ee9a9bed8444d37b910aa4a8e3da7b8">2022-02-02</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit23Member"
      decimals="4"
      id="Fact_e48c66c2b24e4a0491523132b3995863"
      unitRef="U004">0.0395</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit23Member"
      decimals="-3"
      id="Fact_5ef2929b045b4bd2ada3b62b4a664a94"
      unitRef="U002">1471000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit23Member"
      decimals="-3"
      id="Fact_a93196a8619b48b99226711f07dc364d"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit24Member"
      id="Fact_4a0f0d0fb6aa4fee907e510a12336dff">2022-02-02</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit24Member"
      decimals="4"
      id="Fact_32757001101e46c5ad30cc83b7f392ff"
      unitRef="U004">0.0395</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit24Member"
      decimals="-3"
      id="Fact_fa25d614e71c454693e17c6c8b7cc868"
      unitRef="U002">1393000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit24Member"
      decimals="-3"
      id="Fact_257a7f933e1b456f97df0078635a3005"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit25Member"
      decimals="-3"
      id="Fact_771ec5b9b9e54f118f49c90099914313"
      unitRef="U008">100000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit25Member"
      id="Fact_6011532b43554c3c9afcf639eda002d8">2022-06-07</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit25Member"
      decimals="3"
      id="Fact_2788510e225b44c98da7cb476ac44f29"
      unitRef="U004">0.027</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit25Member"
      decimals="-3"
      id="Fact_6b5d6486a47444d0806bbacfa401c621"
      unitRef="U002">4618000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit25Member"
      decimals="-3"
      id="Fact_9a74b6aba8224f3f9d6501f5cd8dafb2"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit26Member"
      decimals="-3"
      id="Fact_b80cd19b199242df97cf9ce9566098ea"
      unitRef="U008">40000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit26Member"
      id="Fact_fa8891ccdd2c446687ba48c784883509">2022-06-15</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_DebtInstrumentAxis_LineOfCredit26Member"
      decimals="4"
      id="Fact_7f8a65dfd7144d96b485f77ed165a722"
      unitRef="U004">0.0386</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630_DebtInstrumentAxis_LineOfCredit26Member"
      decimals="-3"
      id="Fact_37e07f9d71044c339997cf85ccf43643"
      unitRef="U002">3080000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231_DebtInstrumentAxis_LineOfCredit26Member"
      decimals="-3"
      id="Fact_e519887d07674e7c939ca1da4ee4052a"
      unitRef="U002">0</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20210630"
      decimals="-3"
      id="Fact_0dd3d0a066f2443394f9383ff79ecd2e"
      unitRef="U002">22162000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="c20201231"
      decimals="-3"
      id="Fact_4c0e767835e241639cb612b5f5f2753b"
      unitRef="U002">26147000</us-gaap:ShortTermBorrowings>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_4db6f435d7b6457a847cc0e5ed64cdf1"
      unitRef="U002">191000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_9f08c34bb237478aafa79ce73545405c"
      unitRef="U002">228000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_ebd0ff13cf9748ce829d4be9440f518d"
      unitRef="U002">380000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_125f34f78db64702aa7da1f34c6ab85c"
      unitRef="U002">339000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_9b74961b6f7c46bfaa08d6c8fff42635">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 10 &#x2013; OTHER PAYABLE AND ACCRUED EXPENSES&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, other payable and accrued expenses consisted of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z06b61effec13440faf0a7ced53c29192" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued commissions&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,426&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,127&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;warranty&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,471&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,975&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;payroll&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,659&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,068&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;professional&#160;fees&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;53&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;machine&#160;testing&#160;fees&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,758&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,595&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Others&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,504&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,656&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,871&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,805&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_b78c8459b32e4c40a991e6a77aebb6ec">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, other payable and accrued expenses consisted of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z06b61effec13440faf0a7ced53c29192" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued commissions&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,426&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,127&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;warranty&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,471&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,975&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;payroll&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,659&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,068&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;professional&#160;fees&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;53&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accrued&#160;machine&#160;testing&#160;fees&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,758&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,595&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Others&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,504&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,656&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,871&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,805&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_2d43528c5d1b4e78b6695bf1d13bcdfb"
      unitRef="U002">9426000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_0f4fa7f2bc04481e8c8773b992c43574"
      unitRef="U002">7127000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_1777d78cb7df4bdbb6ae8f2d9ce88f52"
      unitRef="U002">4471000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6a3e38be4660488585f6e05dc6ed0d9f"
      unitRef="U002">3975000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_895740ad1d684ddc8c2d7f5f46ca0ae7"
      unitRef="U002">2659000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_5a61d798fa3b4d21a8e6b3fa35dd02ae"
      unitRef="U002">3068000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_78aa02b44aa7434aad104e3875a79b16"
      unitRef="U002">53000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_51d378cc385948b48b9ab97374ca8087"
      unitRef="U002">384000</us-gaap:AccruedProfessionalFeesCurrent>
    <acmr:AccruedMachineTestingFeesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_f0d2e37b71774b9194d6a183243a19a4"
      unitRef="U002">1758000</acmr:AccruedMachineTestingFeesCurrent>
    <acmr:AccruedMachineTestingFeesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_f13c3020a5824aa08aab4d0c9de9a1b5"
      unitRef="U002">1595000</acmr:AccruedMachineTestingFeesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_a90061b7efd84be78b57b8e087bb005a"
      unitRef="U002">3504000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_630ad56f9a7c4aba9a9c6ec2ab9c426e"
      unitRef="U002">2656000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="c20210630"
      decimals="-3"
      id="Fact_3d052c16755243d8b011bb9515419038"
      unitRef="U002">21871000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="c20201231"
      decimals="-3"
      id="Fact_800c83a15af84b68a0d9e861ccfce025"
      unitRef="U002">18805000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="c20210101to20210630"
      id="Text_f891bde96ecb4fd7aec5b38179271bfc">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 11 &#x2013; LEASES&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company leases space under non-cancelable operating leases for several office and manufacturing locations. These leases do not have significant rent escalation holidays, concessions, leasehold improvement incentives, or other build-out clauses. Further, the leases do not contain contingent rent provisions.&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Most leases include one or more options to renew. The exercise of lease renewal options is typically at the Company&#x2019;s sole discretion; therefore, the majority of renewals to extend the lease terms are not included in the Company&#x2019;s right-of-use assets and lease liabilities as they are not reasonably certain of exercise. The Company regularly evaluates the renewal options, and when they are reasonably certain of exercise, the Company includes the renewal period in its lease term.&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As most of the Company&#x2019;s leases do not provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at the lease commencement date in determining the present value of the lease payments. The Company has a centrally managed treasury function; therefore, based on the applicable lease terms and the current economic environment, it applies a portfolio approach for determining the incremental borrowing rate.&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of lease expense were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z07e4f52e5cf34f2b8ce80e2ed121c7a5" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"/&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating lease cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;660&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;378&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,175&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;755&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Short-term lease cost&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;74&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;153&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;97&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lease cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;734&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;425&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,328&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;852&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Supplemental cash flow information related to operating leases was as follows for the three months ended &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June 30, 2021 and 2020&lt;/span&gt;:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z5b6c6878fa7f46f0bcb5317ff6ceef9c" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"/&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;" 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;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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating cash outflow from operating leases&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;734&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;425&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,328&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;852&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Maturities of lease liabilities for all operating leases were as follows as of &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June 30, 2021&lt;/span&gt;:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="ze26d6ddf35994f42a5076a5052751901" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&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: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,274&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,312&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,027&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;918&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total lease payments&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,551&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Interest&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(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: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Present value of lease liabilities&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,209&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The weighted average remaining lease terms and discount rates for all operating leases were as follows as of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;:&#160;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd518740f766c49e5a31207fb6e6b4ec3" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining lease term and discount rate:&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: middle; 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: middle; 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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average remaining lease term (years)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.80&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.11&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average discount rate&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.59&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.14&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_e7c435752a19483081e90b7c6c7b0038">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of lease expense were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z07e4f52e5cf34f2b8ce80e2ed121c7a5" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"/&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating lease cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;660&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;378&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,175&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;755&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Short-term lease cost&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;74&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;153&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;97&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lease cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;734&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;425&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,328&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;852&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_9e525f67ac4d49709b346b154d100a2b"
      unitRef="U002">660000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_2730778f5ec2421085bdaea0a6be77b7"
      unitRef="U002">378000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_f9a0b000eac44e898268975ef6cd4635"
      unitRef="U002">1175000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_6f69d7301f2445e5895bb37cd461d062"
      unitRef="U002">755000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_cf4b6b61fda24283b74a9b2b5cf74d0b"
      unitRef="U002">74000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_e38859841f654da6aa9391797bb6e6f7"
      unitRef="U002">47000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_ec8cb053b0814e5298863206b4f0c456"
      unitRef="U002">153000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_7d3a89f0b5f94407b4d306eaa1ad2938"
      unitRef="U002">97000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_be51be737d04480d8541c8630fcb94ed"
      unitRef="U002">734000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_a0ffa837abde4ed1b5eb8eb2f65ca368"
      unitRef="U002">425000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_38cead7bd099493cbc150b3627d69870"
      unitRef="U002">1328000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_f05e1e85288e484eb5f99f2bd1e21439"
      unitRef="U002">852000</us-gaap:LeaseCost>
    <acmr:LesseeOperatingLeaseSupplementalCashFlowInformationRelatedToOperatingLeasTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_cdd5e52cdecf4db7b778b83fc921cecc">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Supplemental cash flow information related to operating leases was as follows for the three months ended &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June 30, 2021 and 2020&lt;/span&gt;:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z5b6c6878fa7f46f0bcb5317ff6ceef9c" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"/&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended &lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td rowspan="1" style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: -7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;" 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;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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 14.4pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating cash outflow from operating leases&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;734&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;425&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,328&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;852&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:LesseeOperatingLeaseSupplementalCashFlowInformationRelatedToOperatingLeasTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_3f5f31c8e28346f491604fb4e21f0122"
      unitRef="U002">734000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_855a1fc2811544aba25ab8772f68edcf"
      unitRef="U002">425000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_a9fc7ae0d5b84c52acb962c6c4333775"
      unitRef="U002">1328000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_884f4c1963fa4c228206e992dde10927"
      unitRef="U002">852000</us-gaap:OperatingLeasePayments>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_856409f6f8104b0d94528d0de651e2d8">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Maturities of lease liabilities for all operating leases were as follows as of &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;June 30, 2021&lt;/span&gt;:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="ze26d6ddf35994f42a5076a5052751901" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&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: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,274&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,312&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,027&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;918&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total lease payments&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,551&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Interest&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(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: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Present value of lease liabilities&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #FFFFFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,209&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="c20210630"
      decimals="-3"
      id="Fact_be886d8ab3d645a1b3befe6566420356"
      unitRef="U002">1274000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20210630"
      decimals="-3"
      id="Fact_d056a59d706742adb9fb92bdec5aa161"
      unitRef="U002">2312000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20210630"
      decimals="-3"
      id="Fact_0726ac3d10cb4131abb008161f9114c8"
      unitRef="U002">1027000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="c20210630"
      decimals="-3"
      id="Fact_b5137cf41abf4471b161aa3236f95708"
      unitRef="U002">918000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="c20210630"
      decimals="-3"
      id="Fact_c6cd2a02175149e99a0e8090356a43bd"
      unitRef="U002">20000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="c20210630"
      decimals="-3"
      id="Fact_03e9500c1b06432e9240108a9df63ebc"
      unitRef="U002">5551000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20210630"
      decimals="-3"
      id="Fact_653741fe5e9648be907cd02f1c085642"
      unitRef="U002">342000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="c20210630"
      decimals="-3"
      id="Fact_984009d1dd2a45e3b8314ce8c2ca3351"
      unitRef="U002">5209000</us-gaap:OperatingLeaseLiability>
    <acmr:LesseeOperatingLeaseWeightedAverageRemainingLeaseTermAndDiscountRateTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_0b2a8f306b144eea9ee8c522bf085452">
&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The weighted average remaining lease terms and discount rates for all operating leases were as follows as of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;:&#160;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd518740f766c49e5a31207fb6e6b4ec3" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining lease term and discount rate:&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: middle; 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: middle; 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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average remaining lease term (years)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.80&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.11&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average discount rate&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.59&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.14&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:LesseeOperatingLeaseWeightedAverageRemainingLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20210630"
      id="Fact_b46e29fdc5f843d095aabe6539af38f3">P1Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20201231"
      id="Fact_b098d9139d6941ca8911d9edff51a332">P2Y1M9D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20210630"
      decimals="4"
      id="Fact_420b9453274748df9dd311b07ecc55ef"
      unitRef="U004">0.0459</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20201231"
      decimals="4"
      id="Fact_020aff59b1b24b269076e683266ed3ef"
      unitRef="U004">0.0514</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LongTermDebtTextBlock
      contextRef="c20210101to20210630"
      id="Text_e699a97f9475460e97fa00ce453d5653">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 12 &#x2013; LONG-TERM BORROWINGS&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;At June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; long-term borrowings consisted of the following:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z439683e1db7844a9b4134655e41aca32" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -0.75pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Loan from China Merchants Bank&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,968&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,570&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Loan from Bank of China&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,548&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Current portion&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,799&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,591&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;&#160;&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,717&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17,979&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="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The loan from China Merchants Bank is for the purpose of purchasing property in Lingang, Shanghai. The loan is repayable in &lt;/span&gt;120&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; installments with the last installment due in &lt;/span&gt;&lt;span style="-sec-ix-hidden:Fact_9196e04082ea45b8aed729f2b142cf31"&gt;November 2030&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; with an annual interest rate of &lt;/span&gt;4.65%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. The loan is pledged by the property of ACM Shengwei and guaranteed by ACM Shanghai. As of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the right certificate of the pledged property has not been obtained and the procedures of the formal pledge registration in the bank had not been completed.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The loan from Bank of China is for the purpose of funding ACM Shanghai project expenditures. The loan bears interest at an annual rate of &lt;/span&gt;2.6%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and is repayable in &lt;/span&gt;6&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; installments, with the last installment due in &lt;/span&gt;&lt;span style="-sec-ix-hidden:Fact_3027849a328f428d9a34aa749e609222"&gt;June 2024&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Scheduled principal payments for the outstanding long-term loan as of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are as follows:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z4b6248ed83ed49af901f6b23b57d0ca7" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year ending December 31, 2021&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&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: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;890&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2022&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,837&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: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,917&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2024&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,007&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: middle; width: 88%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2025 and onwards&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,865&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20,516&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="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;For the &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; months ended June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; interest related to long-term borrowings of &lt;/span&gt;$227&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; was incurred, of which &lt;/span&gt;$3&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;was charged to interest expenses and $&lt;/span&gt;224&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; was capitalized as other long-term assets. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;For the&#160;six&#160;months ended June 30,&#160;2021, interest related to long-term borrowings of $&lt;/span&gt;544&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; was incurred, of which $&lt;/span&gt;3&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; was charged to interest expenses and $&lt;/span&gt;541&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; was capitalized as other long-term assets&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;"&gt;.&lt;/span&gt;&lt;/div&gt;
</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="c20210101to20210630"
      id="Text_996057107ee34be6b739a5d904e9cbbd">
&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;At June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; long-term borrowings consisted of the following:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z439683e1db7844a9b4134655e41aca32" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -0.75pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Loan from China Merchants Bank&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,968&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19,570&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Loan from Bank of China&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,548&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Current portion&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,799&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,591&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&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;&#160;&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,717&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17,979&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:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="c20210630_LineOfCreditFacilityAxis_ChinaMerchantsBankMember"
      decimals="-3"
      id="Fact_f4fbf69897cd470e93e0c9c3d84a5fb4"
      unitRef="U002">18968000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="c20201231_LineOfCreditFacilityAxis_ChinaMerchantsBankMember"
      decimals="-3"
      id="Fact_3b05e3d8134949a0b920fa90490666f9"
      unitRef="U002">19570000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="c20210630_LineOfCreditFacilityAxis_BankOfChinaMember"
      decimals="-3"
      id="Fact_ac9026fcde674c72a191d82eae6898ef"
      unitRef="U002">1548000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="c20201231_LineOfCreditFacilityAxis_BankOfChinaMember"
      decimals="-3"
      id="Fact_70a6af6487d1407e8a87dd14e39fe3df"
      unitRef="U002">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_557906daa7d5481a83b799a5c6eab98f"
      unitRef="U002">1799000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_519e516716204e4ea89880f99d4635d5"
      unitRef="U002">1591000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_f9363d1d5818462d9c851d9af82bb3c1"
      unitRef="U002">18717000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_c0d11d0dcbf0405e8ec95b05dfb7ef32"
      unitRef="U002">17979000</us-gaap:LongTermDebtNoncurrent>
    <acmr:NumberOfInstallmentsForLoanRepayable
      contextRef="c20210101to20210630_LineOfCreditFacilityAxis_ChinaMerchantsBankMember"
      decimals="0"
      id="Fact_ee6ffdc5adf34d0ba801e4dd682180b6"
      unitRef="U009">120</acmr:NumberOfInstallmentsForLoanRepayable>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_LineOfCreditFacilityAxis_ChinaMerchantsBankMember"
      decimals="4"
      id="Fact_281ab14c022f48d9bb755afecef7ad2a"
      unitRef="U004">0.0465</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="c20210101to20210630_LineOfCreditFacilityAxis_BankOfChinaMember"
      decimals="3"
      id="Fact_ee280e317bb24f9a91110db6dc542ce9"
      unitRef="U004">0.026</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <acmr:NumberOfInstallmentsForLoanRepayable
      contextRef="c20210101to20210630_LineOfCreditFacilityAxis_BankOfChinaMember"
      decimals="0"
      id="Fact_b419fd7d491a4ea9b00716f2220647c5"
      unitRef="U009">6</acmr:NumberOfInstallmentsForLoanRepayable>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_0996f2930386424791bb9564270b7f0f">
&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Scheduled principal payments for the outstanding long-term loan as of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; are as follows:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z4b6248ed83ed49af901f6b23b57d0ca7" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year ending December 31, 2021&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&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: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;890&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2022&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,837&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: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,917&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2024&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,007&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: middle; width: 88%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2025 and onwards&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,865&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20,516&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:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
      contextRef="c20210630"
      decimals="-3"
      id="Fact_c675beb687a7431bb3a38c1f5875ea92"
      unitRef="U002">890000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="c20210630"
      decimals="-3"
      id="Fact_40daf3ab59854323a9a842a286c18b9d"
      unitRef="U002">1837000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="c20210630"
      decimals="-3"
      id="Fact_c6f2a13f100849dc8dea6aeb984f5d7b"
      unitRef="U002">1917000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="c20210630"
      decimals="-3"
      id="Fact_13c7214c9e8641c382e300ab2a347577"
      unitRef="U002">3007000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <acmr:LongTermDebtMaturitiesRepaymentsOfPrincipalYearFourAndAfter
      contextRef="c20210630"
      decimals="-3"
      id="Fact_72d90f049f9342a58e7a9c0a8ac66e5d"
      unitRef="U002">12865000</acmr:LongTermDebtMaturitiesRepaymentsOfPrincipalYearFourAndAfter>
    <us-gaap:LongTermDebt
      contextRef="c20210630"
      decimals="-3"
      id="Fact_7ed47338c23a4e77817a74228204a541"
      unitRef="U002">20516000</us-gaap:LongTermDebt>
    <us-gaap:InterestCostsIncurred
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_923c13390b224d0d8346f0858a49ed70"
      unitRef="U002">227000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestExpenseLongTermDebt
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_cd3610cb298348b2a3ffb120f14131c0"
      unitRef="U002">3000</us-gaap:InterestExpenseLongTermDebt>
    <us-gaap:InterestCostsCapitalized
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_e999f513bfd24a0bb3cc556c2afe46ab"
      unitRef="U002">224000</us-gaap:InterestCostsCapitalized>
    <us-gaap:InterestCostsIncurred
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_1614b75712e6482aae3e0f8472f5e78c"
      unitRef="U002">544000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestExpenseLongTermDebt
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_9113017e89e04911959220722123f260"
      unitRef="U002">3000</us-gaap:InterestExpenseLongTermDebt>
    <us-gaap:InterestCostsCapitalized
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_cf59836c7d9246e09d34311bc417bb8e"
      unitRef="U002">541000</us-gaap:InterestCostsCapitalized>
    <us-gaap:OtherLiabilitiesDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_4d360b793dd64c84b822372ad7257420">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 13 &#x2013; OTHER LONG-TERM LIABILITIES&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Other long-term liabilities represent government subsidies received from PRC governmental authorities for development and commercialization of certain technology but not yet recognized. As of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; other long-term liabilities consisted of the following unearned government subsidies:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z40a66c4313df4baa80a4559e3e3e1645" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies&#160;to&#160;Stress&#160;Free&#160;Polishing&#160;project,&#160;commenced&#160;in&#160;2008&#160;and&#160;2017&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,260&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,266&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies&#160;to&#160;Electro&#160;Copper&#160;Plating&#160;project,&#160;commenced&#160;in&#160;2014&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,922&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="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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,156&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies&#160;to&#160;Polytetrafluoroethylene,&#160;commenced&#160;in&#160;2018&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;130&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies to Tahoe-Single Bench Clean, commenced&#160;in 2020&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;600&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="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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,544&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies to Backside Clean-YMTC National Project, commenced&#160;in 2020&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;370&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,591&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;405&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;347&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: middle; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,557&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,034&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:OtherLiabilitiesDisclosureTextBlock>
    <us-gaap:OtherNoncurrentLiabilitiesTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_0a83a0155bb34efba616f248316f0153">
&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;Other long-term liabilities represent government subsidies received from PRC governmental authorities for development and commercialization of certain technology but not yet recognized. As of June 30&lt;/span&gt;,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and December &lt;/span&gt;31,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2020,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; other long-term liabilities consisted of the following unearned government subsidies:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z40a66c4313df4baa80a4559e3e3e1645" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies&#160;to&#160;Stress&#160;Free&#160;Polishing&#160;project,&#160;commenced&#160;in&#160;2008&#160;and&#160;2017&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,260&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,266&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies&#160;to&#160;Electro&#160;Copper&#160;Plating&#160;project,&#160;commenced&#160;in&#160;2014&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,922&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="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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,156&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies&#160;to&#160;Polytetrafluoroethylene,&#160;commenced&#160;in&#160;2018&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;130&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies to Tahoe-Single Bench Clean, commenced&#160;in 2020&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;600&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="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: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,544&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidies to Backside Clean-YMTC National Project, commenced&#160;in 2020&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;370&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,591&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;405&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;347&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: middle; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,557&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #0D0D0D; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,034&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:OtherNoncurrentLiabilitiesTableTextBlock>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630_DebtInstrumentAxis_SubsidiesToStressFreePolishingProjectMember"
      decimals="-3"
      id="Fact_b10877daf4ce4eb39856c6bddfe97fe8"
      unitRef="U002">1260000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231_DebtInstrumentAxis_SubsidiesToStressFreePolishingProjectMember"
      decimals="-3"
      id="Fact_3822afd99f22430495905aa0fee04466"
      unitRef="U002">1266000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630_DebtInstrumentAxis_SubsidiesToElectroCopperPlatingProjectMember"
      decimals="-3"
      id="Fact_f37477589fc840949054f00857823151"
      unitRef="U002">1922000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231_DebtInstrumentAxis_SubsidiesToElectroCopperPlatingProjectMember"
      decimals="-3"
      id="Fact_80796208c08046a0abab1d596c330fea"
      unitRef="U002">2156000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630_DebtInstrumentAxis_SubsidiesToPolytetrafluoroethyleneMember"
      decimals="-3"
      id="Fact_26a2a73c411a447c8196ee90c6f12255"
      unitRef="U002">0</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231_DebtInstrumentAxis_SubsidiesToPolytetrafluoroethyleneMember"
      decimals="-3"
      id="Fact_fe2d91f01b894724a4ba5c5d083c6e7f"
      unitRef="U002">130000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630_DebtInstrumentAxis_SubsidiesToTahoeSingleBenchCleanCommencedIn2020Member"
      decimals="-3"
      id="Fact_3b5b069ee3e34ff8aa766c6ee3f3ee5d"
      unitRef="U002">600000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231_DebtInstrumentAxis_SubsidiesToTahoeSingleBenchCleanCommencedIn2020Member"
      decimals="-3"
      id="Fact_f2f6f24b340244a09c713e554a793f48"
      unitRef="U002">1544000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630_DebtInstrumentAxis_SubsidiesToBacksideCleanYMTCNationalProjectMember"
      decimals="-3"
      id="Fact_a4885882f6614192a3accbf674b66ef2"
      unitRef="U002">370000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231_DebtInstrumentAxis_SubsidiesToBacksideCleanYMTCNationalProjectMember"
      decimals="-3"
      id="Fact_d77d66bad11b4649baf6c3a8b0be93a6"
      unitRef="U002">2591000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630_DebtInstrumentAxis_OtherMember"
      decimals="-3"
      id="Fact_4536fbd004904ab8a5afea85cc2d361f"
      unitRef="U002">405000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231_DebtInstrumentAxis_OtherMember"
      decimals="-3"
      id="Fact_8e90a988e3014f59a659fe53240ade9c"
      unitRef="U002">347000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_9f91f154f5264c5c974d314b50493e35"
      unitRef="U002">4557000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d7602c7c5fca41918bc63497a78c35b2"
      unitRef="U002">8034000</us-gaap:OtherLiabilitiesNoncurrent>
    <acmr:LongTermInvestmentTextBlock
      contextRef="c20210101to20210630"
      id="Text_114de6ae690a448d9c2cf77b02625742">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 14 &#x2013; LONG-TERM INVESTMENT&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;On September &lt;/span&gt;6,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2017,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; ACM and Ninebell Co., Ltd. (&#x201c;Ninebell&#x201d;), a Korean company that is &lt;/span&gt;one&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; of the Company&#x2019;s principal material suppliers, entered into an ordinary share purchase agreement, effective as of September &lt;/span&gt;11,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2017,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; pursuant to which Ninebell issued to ACM ordinary shares representing &lt;/span&gt;20%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; of Ninebell&#x2019;s post-closing equity for a purchase price of &lt;/span&gt;$1,200,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and a common stock purchase agreement, effective as of September &lt;/span&gt;11,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2017,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; pursuant to which ACM issued &lt;/span&gt;133,334&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; shares of Class A common stock to Ninebell for a purchase price of &lt;/span&gt;$1,000&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; at &lt;/span&gt;$7.50&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;per share. The investment in Ninebell is accounted for under the equity method.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;On June &lt;/span&gt;27,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; ACM Shanghai and Shengyi Semiconductor Technology Co., Ltd. (&#x201c;Shengyi&#x201d;), a company based in Wuxi, China that is &lt;/span&gt;one&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; of the Company&#x2019;s component suppliers, entered into an agreement pursuant to which Shengyi issued to ACM Shanghai shares representing &lt;/span&gt;15%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; of Shengyi&#x2019;s post-closing equity for a purchase price of &lt;/span&gt;$109.&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; The investment in Shengyi is accounted for under the equity method.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;On September &lt;/span&gt;5,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; ACM Shanghai, entered into a Partnership Agreement with &lt;/span&gt;six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; other investors, as limited partners, and Beijing Shixi Qingliu Investment Co., Ltd., as general partner and manager, with respect to the formation of Hefei Shixi Chanheng Integrated Circuit Industry Venture Capital Fund Partnership (LP), a Chinese limited partnership based in Hefei, China. Pursuant to such Partnership Agreement, on September &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2019,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; ACM Shanghai invested RMB &lt;/span&gt;30,000&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; (&lt;/span&gt;$4,200)&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;, which represented &lt;/span&gt;10%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; of the partnership&#x2019;s total subscribed capital. The investment in Hefei Shixi Chanheng Integrated Circuit Industry Venture Capital Fund Partnership (LP) is accounted for under the equity method in accordance with ASC &lt;/span&gt;323&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-S&lt;/span&gt;99&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;-&lt;/span&gt;1.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company treats the equity investment in the consolidated financial statements under the equity method. Under the equity method, the investment is initially recorded at cost, adjusted for any excess of the Company&#x2019;s share of the incorporated-date fair values of the investee&#x2019;s identifiable net assets over the cost of the investment (if any). Thereafter, the investment is adjusted for the post incorporation change in the Company&#x2019;s share of the investee&#x2019;s net assets and any impairment loss relating to the investment.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd4bceff0b75e4f9b95b1029c19596654" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,271&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,666&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;192&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;134&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Hefei Shixi&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,543&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,540&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; 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: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,006&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,340&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="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company&#x2019;s share of equity investees&#x2019; net income was &lt;/span&gt;$295&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;$209,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;for the&#160;three&#160;months ended June 30, 2021 and 2020, respectively, and $&lt;/span&gt;615&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and $&lt;/span&gt;357&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for the six-months ended June 30,&#160;2021&#160;and&#160;2020, respectively,&#160;which amounts were included in equity income in net income of affiliates in the accompanying condensed consolidated statements of operations and comprehensive income.&lt;/span&gt;&lt;/div&gt;
</acmr:LongTermInvestmentTextBlock>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember"
      decimals="2"
      id="Fact_28c4fe8ee5a44cde81e6f776ac0f190c"
      unitRef="U004">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentAggregateCost
      contextRef="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember"
      decimals="-3"
      id="Fact_8d9bc0811799403d937fa3089627a61c"
      unitRef="U002">1200000</us-gaap:EquityMethodInvestmentAggregateCost>
    <us-gaap:SharesIssued
      contextRef="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_bc9da58116bb434bafcb066cc7c203eb"
      unitRef="U001">133334</us-gaap:SharesIssued>
    <us-gaap:EquityMethodInvestmentAggregateCost
      contextRef="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="-3"
      id="Fact_209591b8015644518b96ed7b82e91408"
      unitRef="U002">1000000</us-gaap:EquityMethodInvestmentAggregateCost>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="c20170911_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="2"
      id="Fact_30f1410c50df4a18a475f15379bff3d1"
      unitRef="U003">7.50</us-gaap:SharesIssuedPricePerShare>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="c20190627_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember"
      decimals="2"
      id="Fact_fba7ad1fdfff4bccac9fcadc65a53543"
      unitRef="U004">0.15</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="c20190627_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember"
      decimals="-3"
      id="Fact_0b1bb0839c10491ba3142137f3fd8c93"
      unitRef="U002">109000</us-gaap:EquityMethodInvestments>
    <acmr:NumberOfInvestorsWithAgreementsEntered
      contextRef="c20190905to20190905_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember"
      decimals="INF"
      id="Fact_2828428e19c04c13acd4f4917b906510"
      unitRef="U001">6</acmr:NumberOfInvestorsWithAgreementsEntered>
    <acmr:InvestmentInPartnership
      contextRef="c20190930_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember"
      decimals="-3"
      id="Fact_58feecb74b4247fcb02e5ed0a6432fcb"
      unitRef="U008">30000000</acmr:InvestmentInPartnership>
    <acmr:InvestmentInPartnership
      contextRef="c20190930_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember"
      decimals="-3"
      id="Fact_b86777b63eaa4f9a9f91b5ba856336ec"
      unitRef="U002">4200000</acmr:InvestmentInPartnership>
    <acmr:OwnershipPercentageInPartnership
      contextRef="c20190930_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember"
      decimals="2"
      id="Fact_0457558bf5d1443a8f6452858dd9b117"
      unitRef="U004">0.10</acmr:OwnershipPercentageInPartnership>
    <acmr:LongTermInvestmentTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_f5a0512aa8784a23adb10bf43ebdf772">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company treats the equity investment in the consolidated financial statements under the equity method. Under the equity method, the investment is initially recorded at cost, adjusted for any excess of the Company&#x2019;s share of the incorporated-date fair values of the investee&#x2019;s identifiable net assets over the cost of the investment (if any). Thereafter, the investment is adjusted for the post incorporation change in the Company&#x2019;s share of the investee&#x2019;s net assets and any impairment loss relating to the investment.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd4bceff0b75e4f9b95b1029c19596654" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 90%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,271&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,666&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;192&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;134&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Hefei Shixi&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,543&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,540&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; 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: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,006&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,340&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;
</acmr:LongTermInvestmentTableTextBlock>
    <us-gaap:Investments
      contextRef="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember"
      decimals="-3"
      id="Fact_e40062c9d82742b781d0393df55f8c11"
      unitRef="U002">2271000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCompanyLimitedMember"
      decimals="-3"
      id="Fact_1752b0ce7b3041dab73e2b66cb93ecb0"
      unitRef="U002">1666000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember"
      decimals="-3"
      id="Fact_0b49a251525e4616bdea2e9255a6cbf4"
      unitRef="U002">192000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCompanyLimitedMember"
      decimals="-3"
      id="Fact_4a95d64b15ed4c4bbd7ee1721073815e"
      unitRef="U002">134000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember"
      decimals="-3"
      id="Fact_471850bfb39c4a188a56877cd8d42eef"
      unitRef="U002">4543000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_HefeiShixiChanhengIntegratedCircuitIndustryVentureCapitalFundPartnershipMember"
      decimals="-3"
      id="Fact_867779ef728841a7a98c408eb12be5c3"
      unitRef="U002">4540000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20210630"
      decimals="-3"
      id="Fact_313054a6f29d4bc5b120feee4dc3a37b"
      unitRef="U002">7006000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="c20201231"
      decimals="-3"
      id="Fact_515884bebb504f53bb5c78e196f3ec7a"
      unitRef="U002">6340000</us-gaap:Investments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_12633ffd2c67409cbd29c2221c46b796"
      unitRef="U002">295000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_3ffe616d645a45208dfd191bfe3a2f5b"
      unitRef="U002">209000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_07414b98b7334a11a788bc68922863ff"
      unitRef="U002">615000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_89491624ce1d404296988fe7d124daf8"
      unitRef="U002">357000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <acmr:FinancialLiabilityCarriedAtFairValueDisclosuresTextBlock
      contextRef="c20210101to20210630"
      id="Text_1a156e598d78475aac576e61f0e0fa5d">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 15 &#x2013; FINANCIAL LIABILITY CARRIED AT FAIR VALUE&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In December 2016 Shengxin (Shanghai) Management Consulting Limited Partnership (&#x201c;SMC&#x201d;) paid 20,123,500 RMB ($2,981 as of the date of funding) (the &#x201c;SMC Investment&#x201d;) to ACM Shanghai as an investment pursuant to terms to be subsequently negotiated. SMC is a PRC limited partnership partially owned by employees of ACM Shanghai.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In March 2017 (a) ACM issued to SMC a warrant (the &#x201c;2017 Warrant&#x201d;) exercisable to purchase 397,502 shares of Class A common stock at a price of $7.50 per share, for a total exercise price of $2,981, and (b) ACM Shanghai agreed to repay the SMC Investment within 60 days after the exercise of the 2017 Warrant. In March 2018 SMC exercised the 2017 Warrant in full, as a result of which (1) ACM issued 397,502 shares of Class A common stock to SMC (the &#x201c;2017 Warrant Shares&#x201d;), (2) SMC borrowed the funds to pay the 2017 Warrant exercise price pursuant to a senior secured promissory note (the &#x201c;SMC Note&#x201d;) in the principal amount of $2,981 issued to ACM Shanghai, which in turn issued to ACM a promissory note (the &#x201c;Intercompany Note&#x201d;) in the principal amount of $2,981 in payment of the 2017 Warrant exercise price. Each of the SMC Note and the Intercompany Note bore interest at a rate of 3.01% per annum and matured on August 17, 2023. The SMC Note was secured by a pledge of the 2017 Warrant Shares.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In connection with its follow-on public offering of Class A common stock in August 2019, ACM agreed to purchase a total of 154,821 of the 2017 Warrant Shares from SMC at a per share price of $13.195, of which (a) $1,161 was applied to reduce SMC&#x2019;s obligations to ACM Shanghai under the SMC Note, and which ACM then withheld for its own account and applied to reduce ACM Shanghai&#x2019;s obligations to ACM under the Intercompany Note, and (b) the remaining $882 was paid to SMC. In a separate transaction, ACM Shanghai repaid $1,161 of the SMC Investment in cash, which reduced the amount of the SMC Investment due to SMC to $1,820.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The SMC Note and SMC Investment were offsetting items in the Company&#x2019;s consolidated balance sheet in accordance with ASC 210-20-45-1 up to April 30, 2020.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In preparation for the STAR IPO, ACM Shanghai was required to terminate its financial relationship with SMC. In order to facilitate such termination, on April 30, 2020, ACM entered into two agreements relating to outstanding obligations among ACM Research, ACM Shanghai and SMC. Pursuant to such agreements: (i) ACM Shanghai assigned to ACM its rights under the SMC Note, including the right to receive payment of the $1,820 payable thereunder; (ii) ACM cancelled the outstanding $1,820 obligation of ACM Shanghai under the Intercompany Note; (iii) SMC surrendered its remaining 242,681 2017 Warrant Shares to ACM Research; and (iv) in exchange for such 242,681 2017 Warrant Shares, ACM agreed to deliver to SMC certain consideration (&#x201c;SMC Consideration&#x201d;) agreed upon by ACM Research and SMC, subject to obtaining certain PRC regulatory approvals. Under the agreements, if the required approvals were not obtained by December 31, 2023, ACM would cancel the SMC Note as consideration for the 242,681 2017 Warrant Shares. In a separate transaction in April 2020, ACM Shanghai repaid the remaining $1,820 of the SMC Investment in cash.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Beginning April 30, 2020, the SMC Consideration was accounted for as a financial liability, and the Company applied the fair value measurement option to value the SMC Consideration in accordance with ASC 825-10-15-4a. On April 30, 2020, the SMC Consideration was $9,715, which reflected cancellation of the 2017 Warrant Shares and was recorded in equity. The financial liability was remeasured to fair value as of the end of each subsequent reporting period.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On July 29, 2020, ACM and SMC entered into an amended agreement under which, in settlement of the SMC Consideration, ACM issued to SMC a warrant (the &#x201c;2020 Warrant&#x201d;) to purchase 242,681 shares of Class A common stock at a purchase price of $7.50 per share, and ACM cancelled the SMC Note. The financial liability was remeasured to fair value of $21,679 as of July 29, 2020, and was retired with the issuance of the 2020 Warrant.&#160; The Company recognized a change in fair value of financial liability of $11,964 for the year ended December 31, 2020, which was reflected in the consolidated statement of operations. The Company recorded the difference of $19,859 between the 2020 Warrant of $21,679 and the SMC Note of $1,820 into equity.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The 2020 Warrant was initially measured at fair value at the issuance date and classified as equity permanently in accordance with ASC 815. The fair value of the 2020 Warrant amounted to $21,679, based on the grant date using the Black-Scholes valuation model with the following assumptions:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd5ad7a1468334bccbed8b4508fba4e25" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;July 29,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fair value of common share(1)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;89.28&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected term in years(2)&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.42&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Volatility(3)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47.42&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate(4)&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected dividend(5)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z172e0e70fb6743519c8b6d31d3ab2387" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fair value of Class A common stock was the closing market price of the Class A common stock on July 29, 2020.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z3bd6bbae690b4811b935062b0cc8de9a" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected term of share options was based on the average of the vesting period and the contractual term for each grant according to Staff Accounting Bulletin 110.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z80baaa66f9f94be197cdc37ef3c8baa7" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Volatility was calculated based on the historical volatility of the stock of companies comparable to ACM in the period equal to the expected term of each grant.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="za18cd1893184481da92e4e88146f45f5" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate was based on the yields of U.S. Treasury securities with maturities similar to the expected term of the share options in effect at the time of grant.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z7503c2ac77d94725bed5b53083298e8e" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected dividend was assumed to be 0%, as ACM had no history or expectation of paying a dividend on its common stock.&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; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;On June 9, 2021, subsequent to its obtaining the necessary PRC approvals, SMC exercised the 2020 Warrant by paying the $&lt;/span&gt;1,820&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; exercise price to ACM and surrendering the 2020 Warrant to ACM. In return, ACM delivered &lt;/span&gt;242,681&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; shares of ACM Class A common stock to SMC.&lt;/span&gt;&lt;/div&gt;
</acmr:FinancialLiabilityCarriedAtFairValueDisclosuresTextBlock>
    <acmr:CashDeliveredAsOfCloseOfBusiness
      contextRef="c20161231_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_8941924981554e9eaed06542f0ad4202"
      unitRef="U008">20123500000</acmr:CashDeliveredAsOfCloseOfBusiness>
    <acmr:CashDeliveredAsOfCloseOfBusiness
      contextRef="c20161231_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_7b937f777f1c43929b440570b9ed63dc"
      unitRef="U002">2981000</acmr:CashDeliveredAsOfCloseOfBusiness>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20170301to20170331_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_df838af38e35490e9690e1a7dce1f95a"
      unitRef="U001">397502</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="c20170331_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="2"
      id="Fact_37c5fe8e74de4a84ba3d13b50a1285c7"
      unitRef="U003">7.50</us-gaap:SharePrice>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20170301to20170331_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="-3"
      id="Fact_8e6ab06ee9e34bd580ddcca3bfd2592f"
      unitRef="U002">2981000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <acmr:InvestmentRepaymentPeriod
      contextRef="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      id="Fact_c84b757d5c804bc3a8190cfdcfe1e869">P60D</acmr:InvestmentRepaymentPeriod>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20180301to20180331_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_9b2e55b08920467f99a00b0dc6b29b66"
      unitRef="U001">397502</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="c20180331_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_d2c0789125e24a52b90d9b62090adc21"
      unitRef="U002">2981000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="c20180331_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember"
      decimals="-3"
      id="Fact_d5bfde9bd6584666bede4b84537272ab"
      unitRef="U002">2981000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c20180331_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="4"
      id="Fact_da151c5dab054c60a078988c31c367b6"
      unitRef="U004">0.0301</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c20180331_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember"
      decimals="4"
      id="Fact_27db757c7f8b46a28a63e3e4d6c73700"
      unitRef="U004">0.0301</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember"
      id="Fact_56d96d2902034c08accbb7a69507971f">2023-08-17</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="c20210101to20210630_LongtermDebtTypeAxis_SeniorNotesMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      id="Fact_4ac0ff162596448e8353de5ea7fb271a">2023-08-17</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20190801to20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="0"
      id="Fact_0eaf8c2d92f2470192d0f5d756b1376b"
      unitRef="U001">154821</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:SharePrice
      contextRef="c20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="3"
      id="Fact_ea6d46ded3704688aac4158f16f23fac"
      unitRef="U003">13.195</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="3"
      id="Fact_4e062dee3e73429788c138646d9c094e"
      unitRef="U003">13.195</us-gaap:SharePrice>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="c20190801to20190831_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_d1608c2ab6e44ae98a144c4d48e53d6b"
      unitRef="U002">1161000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="c20190801to20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_c4258d65a74e42f284cbb84c9a95d4b5"
      unitRef="U002">882000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:PaymentsForProceedsFromInvestments
      contextRef="c20190801to20190831_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_ed3b935c19134285a3b0e2f7fef1dab1"
      unitRef="U002">1161000</us-gaap:PaymentsForProceedsFromInvestments>
    <us-gaap:DueToRelatedPartiesCurrentAndNoncurrent
      contextRef="c20190831_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_2ad6aab0d1674c479a408a9f9a15a3e8"
      unitRef="U002">1820000</us-gaap:DueToRelatedPartiesCurrentAndNoncurrent>
    <acmr:NumberOfAgreements
      contextRef="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="INF"
      id="Fact_51877ef3eddd454db76efa9178232e3b"
      unitRef="U010">2</acmr:NumberOfAgreements>
    <us-gaap:ReceivablesNetCurrent
      contextRef="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_SeniorNotesMember"
      decimals="-3"
      id="Fact_393abe02e74749c5b2b37973afa2f964"
      unitRef="U002">1820000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:WarrantsNotSettleableInCashFairValueDisclosure
      contextRef="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember"
      decimals="-3"
      id="Fact_2b03b8ca7c534fa997b7558149ef1aa0"
      unitRef="U002">1820000</us-gaap:WarrantsNotSettleableInCashFairValueDisclosure>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200401to20200430_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="0"
      id="Fact_969531ac892d44739eb988de23fc45a9"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200401to20200430_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="0"
      id="Fact_a217de075e91410f9dc58d9a1309ec2b"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200401to20200430_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="0"
      id="Fact_ac2172208f8c48c69a261b7bc8a10f24"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForProceedsFromInvestments
      contextRef="c20200401to20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_46b2a3a897bf4f81a86f1db1a77b5d9e"
      unitRef="U002">1820000</us-gaap:PaymentsForProceedsFromInvestments>
    <acmr:ConsiderationPriceInFairValue
      contextRef="c20200430_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_618063d6eb3947fdbf0913b6e2a0ce93"
      unitRef="U002">9715000</acmr:ConsiderationPriceInFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_e4805ce4aaeb4792b36812dbee47aad7"
      unitRef="U001">242681</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="c20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="2"
      id="Fact_42f658e62d2441809242ef4229e5ead3"
      unitRef="U003">7.50</us-gaap:SharePrice>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure
      contextRef="c20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="-3"
      id="Fact_d8ff3f6b55084a5f86df94ebb612cf45"
      unitRef="U002">21679000</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue
      contextRef="c20200101to20201231_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="-3"
      id="Fact_c2dc5eef9b1a4c38aa30c861869d5274"
      unitRef="U002">11964000</acmr:IncreaseDecreaseInFinancialLiabilityCarriedAtFairValue>
    <acmr:IssuanceOfWarrantForSettlementOfFinancialLiability
      contextRef="c20200101to20201231_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_bb084b09b6574166b2d0c983fa7663b6"
      unitRef="U002">19859000</acmr:IssuanceOfWarrantForSettlementOfFinancialLiability>
    <us-gaap:WarrantsNotSettleableInCashFairValueDisclosure
      contextRef="c20201231_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="-3"
      id="Fact_160b4ce32e26492b9ca6fb3efa1087f8"
      unitRef="U002">21679000</us-gaap:WarrantsNotSettleableInCashFairValueDisclosure>
    <us-gaap:WarrantsNotSettleableInCashFairValueDisclosure
      contextRef="c20200430_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_LongtermDebtTypeAxis_IntercompanyNoteMember"
      decimals="-3"
      id="Fact_7e19976b7ada4191b4776de18ac455d5"
      unitRef="U002">1820000</us-gaap:WarrantsNotSettleableInCashFairValueDisclosure>
    <acmr:ScheduleOfShareBasedPaymentAwardWarrantsValuationAssumptionsTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_ecbcb7d6d8104264a6a88798d737ec75">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The 2020 Warrant was initially measured at fair value at the issuance date and classified as equity permanently in accordance with ASC 815. The fair value of the 2020 Warrant amounted to $21,679, based on the grant date using the Black-Scholes valuation model with the following assumptions:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zd5ad7a1468334bccbed8b4508fba4e25" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;July 29,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fair value of common share(1)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;89.28&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected term in years(2)&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.42&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: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Volatility(3)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47.42&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate(4)&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.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;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: top; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected dividend(5)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z172e0e70fb6743519c8b6d31d3ab2387" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fair value of Class A common stock was the closing market price of the Class A common stock on July 29, 2020.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z3bd6bbae690b4811b935062b0cc8de9a" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected term of share options was based on the average of the vesting period and the contractual term for each grant according to Staff Accounting Bulletin 110.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z80baaa66f9f94be197cdc37ef3c8baa7" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Volatility was calculated based on the historical volatility of the stock of companies comparable to ACM in the period equal to the expected term of each grant.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="za18cd1893184481da92e4e88146f45f5" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate was based on the yields of U.S. Treasury securities with maturities similar to the expected term of the share options in effect at the time of grant.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z7503c2ac77d94725bed5b53083298e8e" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5)&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected dividend was assumed to be 0%, as ACM had no history or expectation of paying a dividend on its common stock.&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:ScheduleOfShareBasedPaymentAwardWarrantsValuationAssumptionsTableTextBlock>
    <us-gaap:WarrantsNotSettleableInCashFairValueDisclosure
      contextRef="c20201231_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="-3"
      id="Fact_f5bb7bf629c845ac873d354896e01684"
      unitRef="U002">21679000</us-gaap:WarrantsNotSettleableInCashFairValueDisclosure>
    <us-gaap:SharePrice
      contextRef="c20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="2"
      id="Fact_108441702e93486abfb4b576022f884b"
      unitRef="U003">89.28</us-gaap:SharePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      id="Fact_468756f1c21a4d8f83d7cf01677fec4c">P3Y5M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="4"
      id="Fact_32cdff6e659b406c98f47917c631ede0"
      unitRef="U004">0.4742</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="4"
      id="Fact_4bf8fdc2575d42b290cc4c2d6f716d05"
      unitRef="U004">0.0015</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="2"
      id="Fact_b658fbb58de84f5aa4de429f587b55b8"
      unitRef="U004">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20200729to20200729_ClassOfWarrantOrRightAxis_ShengxinShanghaiManagementConsultingLimitedPartnership2020WarrantsMember"
      decimals="2"
      id="Fact_b5e8da7ddd6d4ef0832348603c9be82d"
      unitRef="U004">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210609to20210609_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember"
      decimals="-3"
      id="Fact_6a1746643b14483cb54a94995cb0255e"
      unitRef="U002">1820000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20210609to20210609_RelatedPartyTransactionsByRelatedPartyAxis_ShengxinShanghaiManagementConsultingLimitedPartnershipSMCMember_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_ce9b0fbc355947f38556bcd7a5207f19"
      unitRef="U001">242681</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <acmr:TradingSecuritiesTextBlock
      contextRef="c20210101to20210630"
      id="Text_aeccdbb0504940d09159c8c6ac035371">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 16 &#x2013; TRADING SECURITIES&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Pursuant to a Partnership Agreement dated &lt;/span&gt;June 9, 2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; (the &#x201c;Partnership Agreement&#x201d;) and a Supplementary Agreement thereto dated &lt;/span&gt;June 15, 2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; (the &#x201c;Supplementary Agreement&#x201d;), ACM Shanghai became a limited partner of Qingdao Fortune-Tech Xinxing Capital Partnership (L.P.), a Chinese limited partnership based in Shanghai, China (the &#x201c;Partnership&#x201d;) of which China Fortune-Tech Capital Co., Ltd serves as general partner and &lt;/span&gt;thirteen&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; unaffiliated entities serve, with ACM Shanghai, as limited partners. The Partnership was formed to establish a special fund that would purchase, in a strategic placement, shares of Semiconductor Manufacturing International Corporation, (&#x201c;SMIC&#x201d;) to be listed on the STAR Market. SMIC is a Shanghai-based foundry that has been a customer of the Company&#x2019;s single-wafer wet-cleaning tools. The limited partners of the Partnership contributed to the fund a total of RMB &lt;/span&gt;2.224&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; billion ($&lt;/span&gt;315,000&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;), of which ACM Shanghai contributed RMB &lt;/span&gt;100&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million ($&lt;/span&gt;14.2&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million), or &lt;/span&gt;4.3%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; of the total contribution, on &lt;/span&gt;June 18, 2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Upon the closing of the SMIC offering in &lt;/span&gt;July 2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;, the initial number of SMIC shares owned by the Partnership was apportioned to all of the limited partners in proportion to their respective capital contributions (&lt;/span&gt;4.3%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; in the case of ACM Shanghai). All of the SMIC shares acquired by the Partnership are subject, under applicable Chinese laws, to lock-up restrictions that prevent sales of the shares for &lt;/span&gt;one&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; year after the shares were acquired. Thereafter an individual limited partner will be able to instruct the general partner to sell, on behalf of the limited partner, all or a portion of the limited partner&#x2019;s apportioned shares, subject to compliance with all laws, regulations, trading rules, the Partnership Agreement and the Supplementary Agreement. Alternatively, following the lock-up period, limited partners holding at least &lt;/span&gt;thirty percent&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; of the total SMIC shares held by the Partnership will be able, pursuant to a call auction in accordance with the Supplementary Agreement, to cause the general partner to arrange to sell all of the shares desired to be offered by each of the limited partners that complies with procedural requirements provided in the Supplementary Agreement.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As SMIC was listed on the STAR Market in July 2020, &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;ACM Shanghai&#x2019;s investment is accounted for as trading securities and is stated at fair market value, which is classified as Level &lt;/span&gt;2&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; of the hierarchy established under ASC &lt;/span&gt;820&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; with valuations based on quoted prices for identical securities in active markets, less a discount applied to reflect the remaining lock-up period.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of trading securities were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z1cf525a087484c33a83946e28af34656" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Trading securities listed in Shanghai Stock Exchange&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,167&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,020&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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 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="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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Market value&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;31,257&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;28,239&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unrealized gain on trading securities, &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;net of exchange difference&lt;/span&gt; amounted to $3,783 for the three months ended June 30, 2021, and $2,736 for the six months ended June 30, 2021.&lt;/div&gt;
</acmr:TradingSecuritiesTextBlock>
    <acmr:CapitalFundOfLimitedPartnership
      contextRef="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember"
      decimals="-6"
      id="Fact_82d4ef5959bd459ba9f96c34125910a8"
      unitRef="U008">2224000000</acmr:CapitalFundOfLimitedPartnership>
    <acmr:CapitalFundOfLimitedPartnership
      contextRef="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember"
      decimals="-3"
      id="Fact_f077841727c046899522c1a133c21e11"
      unitRef="U002">315000000</acmr:CapitalFundOfLimitedPartnership>
    <acmr:InvestmentInPartnership
      contextRef="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember"
      decimals="-6"
      id="Fact_eb40c248897f4046b1fc797d5063a052"
      unitRef="U008">100000000</acmr:InvestmentInPartnership>
    <acmr:InvestmentInPartnership
      contextRef="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember"
      decimals="-5"
      id="Fact_8cc0cc7e63c14e4583332c0cc0eae406"
      unitRef="U002">14200000</acmr:InvestmentInPartnership>
    <acmr:OwnershipPercentageInPartnership
      contextRef="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember"
      decimals="3"
      id="Fact_7429cef6d252478fb169862cfdacffcb"
      unitRef="U004">0.043</acmr:OwnershipPercentageInPartnership>
    <acmr:OwnershipPercentageInPartnership
      contextRef="c20200618_RelatedPartyTransactionsByRelatedPartyAxis_QingdaoFortuneTechXinxingCapitalPartnershipMember"
      decimals="3"
      id="Fact_850c8a0d64c74c33aaabb7ac40e0b990"
      unitRef="U004">0.043</acmr:OwnershipPercentageInPartnership>
    <acmr:OwnershipPercentageInPartnership
      contextRef="c20210630_RangeAxis_MinimumMember_RelatedPartyTransactionsByRelatedPartyAxis_SemiconductorManufacturingInternationalCorporationMember"
      decimals="2"
      id="Fact_11d9b2b325a14ed2a13a1d8c13442b83"
      unitRef="U004">0.30</acmr:OwnershipPercentageInPartnership>
    <us-gaap:TradingSecuritiesAndCertainTradingAssetsTextBlock
      contextRef="c20210101to20210630"
      id="Text_26e192659fca41e99723c76cf8f73307">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of trading securities were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z1cf525a087484c33a83946e28af34656" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31,&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Trading securities listed in Shanghai Stock Exchange&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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Cost&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,167&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,020&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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 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="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: middle; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Market value&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;31,257&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;28,239&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:TradingSecuritiesAndCertainTradingAssetsTextBlock>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="c20210630"
      decimals="-3"
      id="Fact_51cc8425c6f745c3b73bcdf046e8dfbe"
      unitRef="U002">15167000</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9bf3e03391744a0793e4db6d7ea4cf99"
      unitRef="U002">15020000</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <acmr:DebtSecuritiesTradingSecuritiesEquity
      contextRef="c20210630"
      decimals="-3"
      id="Fact_f98934ba5403446aac03332ccf063dc7"
      unitRef="U002">31257000</acmr:DebtSecuritiesTradingSecuritiesEquity>
    <acmr:DebtSecuritiesTradingSecuritiesEquity
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d983d6e2989e4a7a8a3c032aed5bfbd6"
      unitRef="U002">28239000</acmr:DebtSecuritiesTradingSecuritiesEquity>
    <us-gaap:DebtSecuritiesTradingUnrealizedGain
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_e87ade4028c1417c80ea8693644285aa"
      unitRef="U002">3783000</us-gaap:DebtSecuritiesTradingUnrealizedGain>
    <us-gaap:DebtSecuritiesTradingUnrealizedGain
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_c9bc553614e742dc904f35ccd9bb1b9c"
      unitRef="U002">2736000</us-gaap:DebtSecuritiesTradingUnrealizedGain>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_8154b32eea0246f593d3a1ddfa008618">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 17 &#x2013; RELATED PARTY BALANCES AND TRANSACTIONS&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z8d2346432ed4459cb43bfff35eaf1913" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Prepaid expenses&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30, 2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2020&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%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,732&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,607&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; 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;table cellpadding="0" cellspacing="0" id="z441fdd10d1664f4b8299cf961687f381" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Accounts payable&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30, 2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,331&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,898&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;594&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,195&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: middle; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,925&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,093&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; 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;table cellpadding="0" cellspacing="0" id="zf510502cdbfa46b5a9ae2a39fe151b9a" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"/&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; Months&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Purchase of materials&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,496&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,370&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,378&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,523&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;287&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;456&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;645&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;514&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,783&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,826&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,023&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,037&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; 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;table cellpadding="0" cellspacing="0" id="zfba36b11be044cbeb859db6938882325" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"/&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Ended June 30,&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Ended June 30,&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; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Service fee charged by&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;117&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;144&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;190&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;117&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;144&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;190&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_1428cb1d24fa45b999b9e9c84e4d1f29">
&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z8d2346432ed4459cb43bfff35eaf1913" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Prepaid expenses&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30, 2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2020&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%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,732&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,607&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; 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;table cellpadding="0" cellspacing="0" id="z441fdd10d1664f4b8299cf961687f381" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 70%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Accounts payable&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30, 2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2020&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: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,331&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,898&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; 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;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;594&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,195&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: middle; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,925&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,093&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; 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;table cellpadding="0" cellspacing="0" id="zf510502cdbfa46b5a9ae2a39fe151b9a" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"/&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; Months&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Ended &lt;/span&gt;June 30&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;,&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Purchase of materials&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,496&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,370&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,378&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,523&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;287&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;456&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;645&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;514&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,783&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,826&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,023&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,037&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; 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;table cellpadding="0" cellspacing="0" id="zfba36b11be044cbeb859db6938882325" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"/&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Ended June 30,&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Ended June 30,&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; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Service fee charged by&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shengyi&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;117&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;144&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;190&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Ninebell&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;117&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;144&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;190&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock>
    <acmr:RelatedPartyTransactionPrepaidExpenseFromRelatedParty
      contextRef="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_a79ef15e5e564ac0a649cd04e3333aec"
      unitRef="U002">1732000</acmr:RelatedPartyTransactionPrepaidExpenseFromRelatedParty>
    <acmr:RelatedPartyTransactionPrepaidExpenseFromRelatedParty
      contextRef="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_444af6d55ebc41fe9f9b0113efb3aaf5"
      unitRef="U002">1607000</acmr:RelatedPartyTransactionPrepaidExpenseFromRelatedParty>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_f69e2613c5ac4ea4a9229a5013bd0032"
      unitRef="U002">5331000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_e1596a5942a04e94bee6bd966610f030"
      unitRef="U002">2898000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="c20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_0545c8455f63454a930f6904bc91e83b"
      unitRef="U002">594000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="c20201231_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_4224c1c5c81444dea8db3f3f81954bbb"
      unitRef="U002">1195000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="c20210630"
      decimals="-3"
      id="Fact_7e1e11a976814a89b77b3fee848ecda8"
      unitRef="U002">5925000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_667210511e814c07bcae4bec221a6164"
      unitRef="U002">4093000</us-gaap:AccountsPayableRelatedPartiesCurrent>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20210401to20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_a9b733c817e94b1daac542ae182017bb"
      unitRef="U002">7496000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20200401to20200630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_39bb424c08784b89a92774061ed20f82"
      unitRef="U002">3370000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_5c19cf64efd04da79a9c06d3daba47d7"
      unitRef="U002">14378000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20200101to20200630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_081ab00c563641199c38775ffe86bb76"
      unitRef="U002">5523000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20210401to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_5e681228ac9e4089ab80a8254424e7f9"
      unitRef="U002">287000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20200401to20200630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_eee29a5b776245faaf70a68536c9c265"
      unitRef="U002">456000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_c3594bab777e431ba3968d9f8676384d"
      unitRef="U002">645000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20200101to20200630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_aa99f83cb1214e6c8455ad791e24119a"
      unitRef="U002">514000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_c04d4df1902c4559b8e61a622856650b"
      unitRef="U002">7783000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_1ef098853cf54794a2641c06c19d65ae"
      unitRef="U002">3826000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_5324b825ab6d4c0eb04d1cb3d4fc7965"
      unitRef="U002">15023000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_564b14ac1bb14ac1a8e59cb165d65b38"
      unitRef="U002">6037000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyCosts
      contextRef="c20210401to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_6e276389c8f94b85b8a164516dac28b0"
      unitRef="U002">117000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20200401to20200630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_65a32da652214b679f42f9c36b5cf7d2"
      unitRef="U002">144000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_3c11678ecd3b47ba9d12b06160c1eb81"
      unitRef="U002">259000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20200101to20200630_RelatedPartyTransactionsByRelatedPartyAxis_ShengyiSemiconductorTechnologyCoLtdMember"
      decimals="-3"
      id="Fact_fb4bae2e0e2542f6acc874cfe4ae6216"
      unitRef="U002">190000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20210401to20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_5ab74de7e3f64e5a8ff21708f4a49d77"
      unitRef="U002">0</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20200401to20200630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_62e9f9ea6ca54ed38c17ce84ee8e2a40"
      unitRef="U002">0</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20210101to20210630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_7e1b1eca2eab4592bbd4f44c0379d7e4"
      unitRef="U002">0</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20200101to20200630_RelatedPartyTransactionsByRelatedPartyAxis_NinebellCoLtdMember"
      decimals="-3"
      id="Fact_a3b14852f9bb4eeb8fef6448b1360f6e"
      unitRef="U002">0</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_d30e3d3b679342eb98be57b865f5f0f8"
      unitRef="U002">117000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_b37ad8cc0a1b495ea3cb35b7ae974bab"
      unitRef="U002">144000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_1a2febad2b7249c7a81492a7def3a64e"
      unitRef="U002">259000</us-gaap:RelatedPartyCosts>
    <us-gaap:RelatedPartyCosts
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c41354a3429f429fa8dedb9124656e07"
      unitRef="U002">190000</us-gaap:RelatedPartyCosts>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_acc76c88671a480e944b71643940e29c">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 18 &#x2013; COMMON STOCK&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM is authorized to issue 50,000,000 shares of Class A common stock and 2,409,738 shares of Class B common stock, each with a par value of $0.0001. Each share of Class A common stock is entitled to one vote, and each share of Class B common stock is entitled to twenty votes and is convertible at any time into one share of Class A common stock. Shares of Class A common stock and Class B common stock are treated equally, identically and ratably with respect to any dividends declared by the Board of Directors unless the Board of Directors declares different dividends to the Class A common stock and Class B common stock by getting approval from a majority of common stockholders.&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During the three months ended June 30, 2021, ACM issued 124,094 shares of Class A common stock upon option exercises by employees and non-employees, and an additional 61,667 shares of Class A common stock upon conversion of an equal number of shares of Class B common stock.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During the six months ended June 30, 2021, ACM issued 434,034 shares of Class A common stock upon option exercises by employees and non-employees, and an additional 95,001 shares of Class A common stock upon conversion of an equal number of shares of Class B common stock.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During the three and six months ended June 30, 2021, ACM issued 242,681 shares of Class A common stock upon the warrant exercise by SMC (Note 15).&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During the three months ended June 30, 2020, ACM issued 115,425 shares of Class A common stock upon option exercises by employees and non-employees, and an additional 60,002 shares of Class A common stock upon conversion of an equal number of shares of Class B common stock.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;During the six months ended June 30, 2020, ACM issued &lt;/span&gt;185,903&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; shares of Class A common stock upon option exercises by employees and non-employees, and an additional &lt;/span&gt;60,002&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; shares of Class A common stock upon conversion of an equal number of shares of Class B common stock.&lt;/span&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;During the&lt;/span&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;six months ended June 30, 2020, ACM issued &lt;/span&gt;64,717&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; shares of Class A common stock upon a cashless warrant exercise by a non-employee.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During the three and six months ended June 30, 2020, SMC transferred its ownership of 242,681 shares of Class A common stock to ACM in exchange for the SMC Consideration. The 242,681 shares were cancelled during the three and six months ended June 30, 2020. (Note 15)&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, the number of shares of Class A common stock issued and outstanding was 17,668,409, and 16,896,693, respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At June 30, 2021 and December 31, 2020, the number of shares of Class B common stock issued and outstanding was 1,707,605 and 1,802,606, respectively.&lt;/div&gt;
</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_8cec32ba73f04e0095e865ae9152f8a7"
      unitRef="U001">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_aff2f0650e9f41779071f8d94dd8f939"
      unitRef="U001">2409738</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="4"
      id="Fact_58b8d64065394af38f52230bf0e3b4d1"
      unitRef="U003">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="4"
      id="Fact_3548461b3a1c494e867e2bbaadb5582b"
      unitRef="U003">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <acmr:VotingRightsPerShare
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="INF"
      id="Fact_e7195036b7f2461f9bd810507dc39060"
      unitRef="U011">1</acmr:VotingRightsPerShare>
    <acmr:VotingRightsPerShare
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="INF"
      id="Fact_4d3a367fe5914bc087ad47f44dfd8290"
      unitRef="U011">20</acmr:VotingRightsPerShare>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="INF"
      id="Fact_94ed5e559e84432b825667534632be14"
      unitRef="U001">1</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_94964ad5bd25428a92605df968d9d921"
      unitRef="U001">124094</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_7e5e898883fd40579ced914f6e50d008"
      unitRef="U001">61667</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_0faee59564f649c18ae52f885c584543"
      unitRef="U001">434034</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_b2d2abf6016b48469b3dfb3a932573cb"
      unitRef="U001">95001</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20210101to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_c64edf8c0d684641b54958a69fdc85c1"
      unitRef="U001">242681</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20210401to20210630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_0dfd6811bd1b4bf3a3ad70c8fe614d2d"
      unitRef="U001">242681</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_274c97d21c3c413e90da864386be1647"
      unitRef="U001">115425</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_9508a3b247294b0084356ce9513323a2"
      unitRef="U001">60002</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_c5d8d6816af2443a93f3468369b543c6"
      unitRef="U001">185903</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_66df4892427e4a699fc6705d5f4a58fb"
      unitRef="U001">60002</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_431d33d2fe434020a86d2e282b6569f5"
      unitRef="U001">64717</acmr:StockIssuedDuringPeriodSharesCommonStockWarrantExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200401to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_bf03cb9596b34a37b7743ecdb376f63c"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200101to20200630_StatementClassOfStockAxis_CommonClassAMember_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_2ac01776ab3447fca521808a66ffb169"
      unitRef="U001">242681</us-gaap:StockRepurchasedDuringPeriodShares>
    <acmr:NumberOfSharesCancelled
      contextRef="c20200401to20200630"
      decimals="0"
      id="Fact_f6e1482c05cd47479dac998eaaa41b76"
      unitRef="U001">242681</acmr:NumberOfSharesCancelled>
    <acmr:NumberOfSharesCancelled
      contextRef="c20200101to20200630"
      decimals="0"
      id="Fact_e079163443464181a6fd82bdb09a8d6f"
      unitRef="U001">242681</acmr:NumberOfSharesCancelled>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_e4a87d261ae34dc48add7d5659b631b8"
      unitRef="U001">17668409</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_99a189950fa8472cbc89afe22da5519a"
      unitRef="U001">17668409</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_f4e3b94fa1a444a0819c006e1ad55c12"
      unitRef="U001">16896693</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_a4e9752e04cc4c098aef6921d114c30a"
      unitRef="U001">16896693</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_c14b143ee7ae4fb29fb01a9d3dbe395e"
      unitRef="U001">1707605</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_5e311ebe402e4bc28c371d1f8437225a"
      unitRef="U001">1707605</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_d7c0432896d244f099416f2f704ec35f"
      unitRef="U001">1802606</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_3dc029c6b0d04d0f816b25909fd3b7f3"
      unitRef="U001">1802606</us-gaap:CommonStockSharesOutstanding>
    <acmr:RedeemableNonControllingInterestsTextBlock
      contextRef="c20210101to20210630"
      id="Text_bad2b8741e8f44e0b86d2622d7215926">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 19 &#x2013; REDEEMABLE NON-CONTROLLING INTERESTS&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During the second quarter of 2020, the redemption feature of the private placement funding terminated and the aggregate proceeds of the funding therefore were reclassified from redeemable non-controlling interests to non-controlling interests. At June 30, 2020, the balance of redeemable non-controlling interest was &lt;span style="-sec-ix-hidden:Fact_b42af2376b5740d8921914edd354710c"&gt;nil&lt;/span&gt;.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of the change in the redeemable non-controlling interests for the six months ended June 30, 2020 are presented in the following table:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z855a81d292cd4c41854075c414bef053" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Balance at December 31, &lt;span style="text-indent: 0pt;"&gt;2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;60,162&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income attributable to redeemable non-controlling interests&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;643&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: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effect of foreign currency translation gain attributable to redeemable non-controlling interests&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(847&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Reclassification of redeemable non-controlling interest&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(59,958&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Balance at &lt;span style="text-indent: 0pt;"&gt;June 30&lt;/span&gt;, &lt;span style="text-indent: 0pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</acmr:RedeemableNonControllingInterestsTextBlock>
    <us-gaap:RedeemableNoncontrollingInterestTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_89bbe32d9d074fbf997acea19c00021b">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of the change in the redeemable non-controlling interests for the six months ended June 30, 2020 are presented in the following table:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z855a81d292cd4c41854075c414bef053" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 80%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Balance at December 31, &lt;span style="text-indent: 0pt;"&gt;2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;60,162&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income attributable to redeemable non-controlling interests&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;643&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: middle; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effect of foreign currency translation gain attributable to redeemable non-controlling interests&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(847&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Reclassification of redeemable non-controlling interest&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(59,958&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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 88%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Balance at &lt;span style="text-indent: 0pt;"&gt;June 30&lt;/span&gt;, &lt;span style="text-indent: 0pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:RedeemableNoncontrollingInterestTableTextBlock>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="c20191231"
      decimals="-3"
      id="Fact_616088a005444041ba0b17df0cb58217"
      unitRef="U002">60162000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:NetIncomeLossAttributableToRedeemableNoncontrollingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_502e5e221a494fb7b8f811865452b458"
      unitRef="U002">643000</us-gaap:NetIncomeLossAttributableToRedeemableNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToNoncontrollingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_d3d4061be27e45d195ce12869021099a"
      unitRef="U002">-847000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToNoncontrollingInterest>
    <acmr:ReclassificationOfRedeemableNonControllingInterest
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_dd7147ff8a364632ad72210d1db1d079"
      unitRef="U002">59958000</acmr:ReclassificationOfRedeemableNonControllingInterest>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="c20200630"
      decimals="-3"
      id="Fact_72e1d90f90404c54bc0213907f22d3be"
      unitRef="U002">0</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="c20210101to20210630"
      id="Text_9748a74eb326483f8a6caed79365ce53">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 20 &#x2013; STOCK-BASED COMPENSATION&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In January 2020 ACM Shanghai adopted a 2019 Stock Option Incentive Plan (the &#x201c;Subsidiary Stock Option Plan&#x201d;) that provides for, among other incentives, the granting to officers, directors, employees of options to purchase shares of ACM Shanghai&#x2019;s common stock. The fair value of the stock options granted is estimated at the date of grant based on the Black-Scholes option pricing model using assumptions generally consistent with those used for ACM&#x2019;s stock options. Because ACM Shanghai shares are not publicly traded, the expected volatility is estimated with reference to the average historical volatility of a group of publicly traded companies that are believed to have similar characteristics to ACM Shanghai.&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM&#x2019;s stock-based compensation consists of employee and non-employee awards issued under its 1998 Stock Option Plan, its 2016 Omnibus Incentive Plan, and as standalone options. ACM granted stock options to employees under the 2016 Omnibus Incentive Plan during the three and six months ended June 30, 2021. The vesting condition may consist of a service period determined by the Board of Directors for a grant or certain performance conditions determined by the Board of Directors for a grant. The fair value of the stock options granted with service period based condition is estimated at the date of grant using the Black-Scholes option pricing model. The fair value of the stock options granted with market based condition is estimated at the date of grant using the Monte Carlo simulation model.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the components of stock-based compensation expense included in the consolidated statements of operations:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zefd191ddf07b4162a3799f7e5a6d08a7" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="vertical-align: middle; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six Months Ended June 30,&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Stock-Based Compensation Expense:&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: middle; 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: middle; 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;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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Cost of revenue&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;110&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;181&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;88&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales and marketing expense&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;478&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;164&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;983&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;258&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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Research and development expense&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;279&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;188&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;508&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;375&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;General and administrative expense&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;468&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;873&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;823&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,335&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;855&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,545&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,544&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="za4fc857b38fe4484bb2cbfbed3b5dadb" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="vertical-align: middle; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six Months Ended June 30,&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Stock-based compensation expense by type:&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: middle; 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: middle; 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: middle; 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: middle; 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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Employee stock purchase plan&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,217&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;635&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,302&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,066&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Non-employee stock purchase plan&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;70&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;312&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: middle; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidiary option grants&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;88&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;173&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;166&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,335&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;855&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,544&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="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the Company&#x2019;s employee share option activities during the six months ended June 30, 2021:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z284dfd96d592494dbaf7c6b6aa75a5dc" style="font-family: 'Times New Roman'; font-size: 10pt; border-collapse: collapse; text-align: left; color: #000000; width: 100%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle;"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Number of&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Option Share&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.29%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Grant&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Date Fair Value&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.3%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Exercise&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; border-bottom: #000000 2px solid;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contractual Term&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3,191,411&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5.13&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;12.73&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;7.13 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;106,400&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50.67&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;111.98&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(336,216)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.27&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.74&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited/cancelled&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(19,212)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30.33&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;69.14&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: bottom; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding at &lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2,942,383&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;6.94&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;16.75&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;6.99 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Vested&#160;and&#160;exercisable&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,845,023&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;As of June 30, 2021 and December 31, 2020, $&lt;/span&gt;11,033&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and $&lt;/span&gt;8,733&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;, respectively, of total unrecognized employee stock-based compensation expense, net of estimated forfeitures, related to stock-based awards for ACM were expected to be recognized over a weighted-average period of &lt;/span&gt;1.82&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; years and &lt;/span&gt;1.89&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; years, respectively. Total recognized compensation cost may be adjusted for future changes in estimated forfeitures.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The fair value of options granted to employee with a &lt;/span&gt;service period based condition &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;is estimated on the grant date using the Black-Scholes valuation.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z90c8d7d6e11a4305bdc6df1b756d8fbc" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months Ended&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="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: 7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;June 30&lt;/span&gt;,&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: 7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fair value of common share(1)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;111.98&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected term in years(2)&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 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="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.50-6.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: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Volatility(3)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48.53&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate(4)&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 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="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.00&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="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected dividend(5)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zf8fd5c2cf65c4455bf53c0fad4ed7cb0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Equal to closing value on the grant date.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zd142c7f31d54400a8e05e387357fc8a3" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Expected term of share options is based on the average of the vesting period and the contractual term for each grant according to Staff Accounting Bulletin 110.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z9e13ba7f38f54825b44e6cb8a6c187ff" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Volatility is calculated based on the historical volatility of ACM&#x2019;s comparable companies in the period equal to the expected term of each grant.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zbb87a4cd14fc4d54a18badc8486fad94" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Risk-free interest rate is based on the yields of U.S. Treasury securities with maturities similar to the expected term of the share options in effect at the time of grant.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zd481f4f6c90047ba8713e6b4f8af8fb4" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Expected dividend is assumed to be &lt;/span&gt;0%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; as ACM has no history or expectation of paying a dividend on its common stock.&lt;/span&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="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Non-employee Awards&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the Company&#x2019;s non-employee share option activities during the six-months ended June 30, 2021:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z398efde1f30840679d4ab86dd145775c" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Number of&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Option Shares&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.27%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Grant&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Date Fair Value&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.26%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Exercise&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; border-bottom: #000000 2px solid;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contractual Term&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;836,038&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1.02&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3.07&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;4.92&lt;/span&gt;&#160;years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(97,818)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.03&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.91&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited/cancelled&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(250)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.30&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.75&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;737,970&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1.02&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2.96&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; text-indent: 10.05pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;4.43&lt;/span&gt;&#160;years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Vested&#160;and&#160;exercisable&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;724,220&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;As of June 30, 2021 and December 31, 2020, $&lt;/span&gt;125&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and $&lt;/span&gt;195&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;, respectively, of total unrecognized non-employee stock-based compensation expense, net of estimated forfeitures, related to stock-based awards were expected to be recognized over a weighted-average period of &lt;/span&gt;0.07&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; years and &lt;/span&gt;0.09&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; years, respectively. Total recognized compensation cost may be adjusted for future changes in estimated forfeitures.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;ACM Shanghai Option Grants&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the ACM Shanghai employee stock option activities during the three months ended June 30, 2021:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zaf36132d41604baaa728a4e487b0aacd" style="font-family: 'Times New Roman'; font-size: 10pt; border-collapse: collapse; text-align: left; color: #000000; width: 100%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle;"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Number of&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Option Shares in&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;ACM Shanghai&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.29%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Grant&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Date Fair Value&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.29%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Exercise&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; border-bottom: #000000 2px solid;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contractual Term&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5,423,654&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;0.23&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1.89&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 1pt;"&gt;_&lt;/span&gt;3.50 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited/cancelled&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(46,154)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.24&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.01&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding at &lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5,377,500&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;0.24&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2.01&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3.01 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Vested&#160;and&#160;exercisable&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&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; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of June 30, 2021 and December 31, 2020, $693 and $822, respectively, of total unrecognized non-employee stock-based compensation expense, net of estimated forfeitures, related to ACM Shanghai stock-based awards were expected to be recognized over a weighted-average period of 2.01 years and 2.5 years, respectively. Total recognized compensation cost may be adjusted for future changes in estimated forfeitures.&lt;/div&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_da28899630534ef2a5b7d52178919930">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the components of stock-based compensation expense included in the consolidated statements of operations:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zefd191ddf07b4162a3799f7e5a6d08a7" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="vertical-align: middle; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six Months Ended June 30,&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;2020&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Stock-Based Compensation Expense:&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: middle; 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: middle; 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;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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Cost of revenue&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;110&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;181&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;88&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales and marketing expense&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;478&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;164&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;983&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;258&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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Research and development expense&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;279&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;188&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;508&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;375&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;General and administrative expense&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;468&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;873&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="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: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;823&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: middle; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,335&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;855&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,545&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,544&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="za4fc857b38fe4484bb2cbfbed3b5dadb" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended June 30,&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;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="vertical-align: middle; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six Months Ended June 30,&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Stock-based compensation expense by type:&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: middle; 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: middle; 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: middle; 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: middle; 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: middle; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Employee stock purchase plan&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,217&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;635&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,302&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,066&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Non-employee stock purchase plan&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 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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;70&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="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: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;312&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: middle; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Subsidiary option grants&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;88&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;173&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;166&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: middle; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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 colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,335&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;855&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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,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="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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 double 4px;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,544&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:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_IncomeStatementLocationAxis_CostOfSalesMember"
      decimals="-3"
      id="Fact_9497a67dbc414468b9cf86f827324433"
      unitRef="U002">110000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_IncomeStatementLocationAxis_CostOfSalesMember"
      decimals="-3"
      id="Fact_8d8f32b2478046efa2e9c51bcecfc3da"
      unitRef="U002">43000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_IncomeStatementLocationAxis_CostOfSalesMember"
      decimals="-3"
      id="Fact_69b390dfc7054148840cde78697097f6"
      unitRef="U002">181000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_IncomeStatementLocationAxis_CostOfSalesMember"
      decimals="-3"
      id="Fact_882759f86a0a40aaa667e14d1e05c34b"
      unitRef="U002">88000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember"
      decimals="-3"
      id="Fact_f7fae73b411e44b481e0ac472f2f4e98"
      unitRef="U002">478000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember"
      decimals="-3"
      id="Fact_338c2ad517a349328ba3de702f351afa"
      unitRef="U002">164000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember"
      decimals="-3"
      id="Fact_7d131df0bc3a47cf9662bc41b6f9266a"
      unitRef="U002">983000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_IncomeStatementLocationAxis_SellingAndMarketingExpenseMember"
      decimals="-3"
      id="Fact_f48b572a6a244bbea02f210a966895f0"
      unitRef="U002">258000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="Fact_a4d191a49a33452c9d49f4d9758c0cbb"
      unitRef="U002">279000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="Fact_1ef5c7b9e96240af8a74e15e176f3529"
      unitRef="U002">188000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="Fact_2df7462a799e4eafbed9b83233bffc06"
      unitRef="U002">508000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_IncomeStatementLocationAxis_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="Fact_2b32b0cb558b4d51b3dbaa2a48576f12"
      unitRef="U002">375000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="Fact_5ffb4d9c8cd6496b8fd2b57638408218"
      unitRef="U002">468000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="Fact_d9b69e04bc2d4f1bb8f8b815f0358ed6"
      unitRef="U002">460000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="Fact_fbeb83f0c4344cffa03f11b8edca5ccb"
      unitRef="U002">873000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="Fact_a45e1f7e292e4332b68c8e807e55dd3e"
      unitRef="U002">823000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_0fbc80ed625643e9be26f632b12422f2"
      unitRef="U002">1335000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_a2bcb66a131644c09116ad68232c6609"
      unitRef="U002">855000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_f0c76883c2bb4f48b9a26d39ab139e0b"
      unitRef="U002">2545000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c2036346008143a9bb275a76dd6a554d"
      unitRef="U002">1544000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="-3"
      id="Fact_fa95335fae184550a47d63b22a0624d2"
      unitRef="U002">1217000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="-3"
      id="Fact_0be35884f0fc473eaa9421f146d50cbc"
      unitRef="U002">635000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="-3"
      id="Fact_47ba50a17bd7429fa6b261b339040ccb"
      unitRef="U002">2302000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="-3"
      id="Fact_aaebf2308a3d4528a28abb327c3a36a9"
      unitRef="U002">1066000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="-3"
      id="Fact_8918c9dd385d487e92c91498e086f7a0"
      unitRef="U002">30000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="-3"
      id="Fact_84805dcc673c4ce1b45860a7d0f3e6c5"
      unitRef="U002">140000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="-3"
      id="Fact_a6ba0084fbf144a0a00f6c9e79c37d51"
      unitRef="U002">70000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="-3"
      id="Fact_dba2a96bf8c44a498c686d919ee720bf"
      unitRef="U002">312000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_b38903b764e2489ab72f4470e9e0b383"
      unitRef="U002">88000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_280f29aa556e42758074266498559440"
      unitRef="U002">80000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_266694c829fc44e3b763aafb3bca92b4"
      unitRef="U002">173000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_9b091e94a52a4d759df436b49bbac5ea"
      unitRef="U002">166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_c3665661c6da4482976552ec2c86f97f"
      unitRef="U002">1335000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_edc5efcba2674920b7cc2af16159fa3b"
      unitRef="U002">855000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_47dab274af524671ac78e1496eb1cdf0"
      unitRef="U002">2545000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_c88a1dcd28444ede8db3a7bdc806a0ce"
      unitRef="U002">1544000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Text_02c5d81089964004832d0ccd9b8b037a">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the Company&#x2019;s employee share option activities during the six months ended June 30, 2021:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z284dfd96d592494dbaf7c6b6aa75a5dc" style="font-family: 'Times New Roman'; font-size: 10pt; border-collapse: collapse; text-align: left; color: #000000; width: 100%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle;"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Number of&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Option Share&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.29%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Grant&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Date Fair Value&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.3%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Exercise&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; border-bottom: #000000 2px solid;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contractual Term&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3,191,411&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5.13&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;12.73&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;7.13 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;106,400&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50.67&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;111.98&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(336,216)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.27&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.74&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited/cancelled&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(19,212)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30.33&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;69.14&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: bottom; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding at &lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2,942,383&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;6.94&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;16.75&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;6.99 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.03%; vertical-align: middle; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Vested&#160;and&#160;exercisable&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,845,023&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.45%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.81%; vertical-align: middle; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="0"
      id="Fact_d2c6d9a2ea1d4c709f31f58b365d3ce1"
      unitRef="U001">3191411</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_697cadcbe76b4e30bd1f0a58f9e6a347"
      unitRef="U003">5.13</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_84f35ee1e962417d87bd3d2d80b0d852"
      unitRef="U003">12.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember"
      id="Fact_a7a4d9fe5e6a41809fc74b2a92131ff2">P7Y1M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="0"
      id="Fact_aa2a84b6401a470dac16a97be4545d8f"
      unitRef="U001">106400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_dc152a80277c4887b6d82bfd57fa2f89"
      unitRef="U003">50.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_4833cc2220f34dcd9e11cb8469fb32ef"
      unitRef="U003">111.98</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="0"
      id="Fact_85ccd577cf634084b7cfde6e4105d4da"
      unitRef="U001">336216</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_16f47a564a06458590e151eb2aededa2"
      unitRef="U003">2.27</acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_bb4aba63f7fc4a4e97b1711001e0bfd7"
      unitRef="U003">5.74</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="0"
      id="Fact_ef5328b564504013b4de59f2bfd88064"
      unitRef="U001">19212</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_d173f4efe1a045e0b47c82594d96e648"
      unitRef="U003">30.33</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_65cab923dc5d448da418031e5714f252"
      unitRef="U003">69.14</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="0"
      id="Fact_0862932e02354cdda7e08e7307a2f837"
      unitRef="U001">2942383</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_0562a7a9b8cc4476884a54bd673b9a0f"
      unitRef="U003">6.94</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_76839c2b5ee54ea8b8c42dc8f8efe5f0"
      unitRef="U003">16.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      id="Fact_387551c12a6c43b58c7edb2a5fdb52cd">P6Y11M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="0"
      id="Fact_dd791da2c4424c05b41b0ad8bcd96a68"
      unitRef="U001">1845023</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="-3"
      id="Fact_aa95ccb677094091b02f45cee2b665e5"
      unitRef="U002">11033000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="-3"
      id="Fact_42f7cdd590774fdf922bdbb8c311f6d3"
      unitRef="U002">8733000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      id="Fact_feb1c2e0889d460683d4577a7ff0b961">P1Y9M25D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember"
      id="Fact_a727cf55c33c4812be9900c3d3158ee5">P1Y10M20D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_2c0bf42f6af3438aaf29339526234948">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The fair value of options granted to employee with a &lt;/span&gt;service period based condition &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;is estimated on the grant date using the Black-Scholes valuation.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z90c8d7d6e11a4305bdc6df1b756d8fbc" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 60%; margin-left: auto; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"/&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;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Six Months Ended&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="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: 7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;June 30&lt;/span&gt;,&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold; text-indent: 7pt;"&gt;&lt;span style="text-indent: 0pt;"&gt;2021&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fair value of common share(1)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;111.98&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected term in years(2)&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 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="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.50-6.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: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Volatility(3)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48.53&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate(4)&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 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="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.00&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="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected dividend(5)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zf8fd5c2cf65c4455bf53c0fad4ed7cb0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Equal to closing value on the grant date.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zd142c7f31d54400a8e05e387357fc8a3" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Expected term of share options is based on the average of the vesting period and the contractual term for each grant according to Staff Accounting Bulletin 110.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="z9e13ba7f38f54825b44e6cb8a6c187ff" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Volatility is calculated based on the historical volatility of ACM&#x2019;s comparable companies in the period equal to the expected term of each grant.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zbb87a4cd14fc4d54a18badc8486fad94" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Risk-free interest rate is based on the yields of U.S. Treasury securities with maturities similar to the expected term of the share options in effect at the time of grant.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" id="zd481f4f6c90047ba8713e6b4f8af8fb4" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 27pt; vertical-align: top; align: right;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: auto; vertical-align: top;"&gt;&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Expected dividend is assumed to be &lt;/span&gt;0%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; as ACM has no history or expectation of paying a dividend on its common stock.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharePrice
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember"
      decimals="2"
      id="Fact_b0eb3d6360df479fa13128341b31793e"
      unitRef="U003">111.98</us-gaap:SharePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember_RangeAxis_MinimumMember"
      id="Fact_aac7b4b88c9f4e08aead3cd89f6466c1">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember_RangeAxis_MaximumMember"
      id="Fact_d1cfb30e26504ca2a37876d9a714a38f">P6Y3M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember"
      decimals="4"
      id="Fact_fb110abe505e4ac899f2b71339660b3f"
      unitRef="U004">0.4853</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember"
      decimals="4"
      id="Fact_adebba59dbde4334abc8d13930f158c2"
      unitRef="U004">0.0100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember"
      decimals="2"
      id="Fact_bc1b42589d46487bbd717da7a690c381"
      unitRef="U004">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_ServicePeriodBasedApproachMember"
      decimals="2"
      id="Fact_8c9120a8ba2949e0b56285dec041d926"
      unitRef="U004">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      id="Text_9c780849067a47709485bfb661803724">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the Company&#x2019;s non-employee share option activities during the six-months ended June 30, 2021:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z398efde1f30840679d4ab86dd145775c" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Number of&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Option Shares&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.27%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Grant&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Date Fair Value&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.26%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Exercise&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; border-bottom: #000000 2px solid;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contractual Term&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;836,038&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1.02&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3.07&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;4.92&lt;/span&gt;&#160;years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(97,818)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.03&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.91&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited/cancelled&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(250)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.30&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.75&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;737,970&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1.02&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2.96&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; text-indent: 10.05pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;4.43&lt;/span&gt;&#160;years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 41.94%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Vested&#160;and&#160;exercisable&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;724,220&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.42%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.92%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.43%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_46984b1b49ab44f591e1f999f77ecb50"
      unitRef="U001">836038</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_6c64e76f572a4b918631301ba40a0da6"
      unitRef="U003">1.02</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_bb61cac73c88431b929ef8093c81e789"
      unitRef="U003">3.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="c20200101to20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      id="Fact_c35bf6d22df74db1bfbaa75daef1be33">P4Y11M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="INF"
      id="Fact_e0bf39a8f81c4184b023ecb80118852f"
      unitRef="U001">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_c466544ba6c74c90ab6e38f7ee1e02e8"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_e98f407f325040a8853688f0a5ca7ab5"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_ccfb18e06fab457f9f15378dabe7e2e6"
      unitRef="U001">97818</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_d2aa5695a26d43cba4bf73e000139c42"
      unitRef="U003">1.03</acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_4cb7d65965714a1ab9a4b9bb0776fd5a"
      unitRef="U003">3.91</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="INF"
      id="Fact_efa79556eb0b4962aebf38b627d927b6"
      unitRef="U001">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpiredInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_eefa0ccedc4b4f729aed3cb343fa0651"
      unitRef="U003">0</acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpiredInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_0391dbe15ba14d36a40f73e61ff7822a"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_ce317b6cf1e240418b60b5fece7970ba"
      unitRef="U001">250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_7c246ac5dc63406bb2e86d3d28b2e0eb"
      unitRef="U003">0.30</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_6d38109b06804d14a712eb33ff861aae"
      unitRef="U003">0.75</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_f60eade218164c8386ff4ba6bb96847b"
      unitRef="U001">737970</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_718ab314672e40df8ab8e1ab1bddc6e7"
      unitRef="U003">1.02</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="2"
      id="Fact_7e56df7d8deb4e2e9aa67f27478f2627"
      unitRef="U003">2.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      id="Fact_b8f03dac23df4f29a1d3c7b2577271df">P4Y5M4D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="0"
      id="Fact_2e84fa94710f46fbb32ce610d4fefd67"
      unitRef="U001">724220</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="-3"
      id="Fact_08282ad9d9b543ba876b6cdcbff7aa51"
      unitRef="U002">125000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      decimals="-3"
      id="Fact_c1337521d7b146f297795d45c779bcdd"
      unitRef="U002">195000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      id="Fact_e7aacc6d44bd4f69a8bb7d78e29c616c">P0Y25D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20200101to20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember"
      id="Fact_1598c08e806b4fd39642e6f36ee75074">P0Y1M2D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember"
      id="Text_8434b30effde432b8ce336e5ab03b381">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the ACM Shanghai employee stock option activities during the three months ended June 30, 2021:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="zaf36132d41604baaa728a4e487b0aacd" style="font-family: 'Times New Roman'; font-size: 10pt; border-collapse: collapse; text-align: left; color: #000000; width: 100%; margin-left: 0px; margin-right: auto;"&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle;"&gt;&lt;div style="text-align: center; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Number of&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Option Shares in&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;ACM Shanghai&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.29%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average Grant&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Date Fair Value&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="width: 14.29%; vertical-align: bottom; border-bottom: #000000 2px solid; white-space: nowrap;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Exercise&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; border-bottom: #000000 2px solid;"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Weighted&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Average&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contractual Term&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5,423,654&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;0.23&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1.89&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 1pt;"&gt;_&lt;/span&gt;3.50 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited/cancelled&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(46,154)&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.24&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.01&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: bottom; background-color: #FFFFFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Outstanding at &lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5,377,500&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;0.24&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2.01&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3.01 years&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style="width: 42.01%; vertical-align: middle; background-color: #CCEEFF; white-space: nowrap;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Vested&#160;and&#160;exercisable&#160;at&#160;&lt;span style="text-indent: 0pt;"&gt;June 30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: bottom; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
    &lt;td style="width: 0.01%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 0.84%; vertical-align: middle; background-color: #CCEEFF;"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 13.44%; vertical-align: middle; background-color: #CCEEFF;"&gt;&lt;div style="text-align: right; text-indent: 36pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_38de82baa10648fc83a771d4558f08bb"
      unitRef="U001">5423654</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_6583a92ba4b14fa9b0445bed2c590107"
      unitRef="U003">0.23</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_dbc509dacd2f49b8a84990160ba08e3d"
      unitRef="U003">1.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_32819c05840f4a1db0bc7b5cf61959d7">P3Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="INF"
      id="Fact_8d9fdd6844654078bb2b84b2d622bd61"
      unitRef="U001">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_f506596f37d74179b41ee1604bc55111"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_4344786437b2440391fb8e4c7ab10bcd"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="INF"
      id="Fact_1a4c7c74589f45d1bacb71988ca507e6"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_26f7252afada445e9788bf27bb56bb57"
      unitRef="U003">0</acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_ce304ad4f1a44100a6409d27f1e0dd88"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="INF"
      id="Fact_cd8a85b8a6ed4f2da86b5afc6686fd68"
      unitRef="U001">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpiredInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_a85a565eed9c46a4abf8106c56bb70a9"
      unitRef="U003">0</acmr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpiredInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_b2569c884d6349b2bd4d0d7b64cbc982"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_d3435f79875a4945aa05ac3ae1dfb727"
      unitRef="U001">46154</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_ae93ec0c5fcb4e208c7db8e467f96487"
      unitRef="U003">0.24</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_6f659c36c8c74eeda652bd7d0706dd8f"
      unitRef="U003">2.01</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="0"
      id="Fact_d2406a1950c94022a366d35bedc92889"
      unitRef="U001">5377500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_0f87f106f2994e3784efa3b690878332"
      unitRef="U003">0.24</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_0252d421bb3e48a78982b6ee4c5a3239"
      unitRef="U003">2.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="c20210101to20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_4d2fa8610fba4333b84ab356f8a12002">P3Y3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c20210630_AwardTypeAxis_EmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="INF"
      id="Fact_9c3d5b2478804b67acfb9ee62d579719"
      unitRef="U001">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_c2b3382c047a4b6a99a00cc75080d6c3"
      unitRef="U002">693000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="-3"
      id="Fact_58bdbcea49e94a409a31cd88ba02b959"
      unitRef="U002">822000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20210101to20210630_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_abcb59cf0cc94ca6945728cf8f35ea3c">P2Y3D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20200101to20201231_AwardTypeAxis_ShareBasedPaymentArrangementNonEmployeeStockOptionMember_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      id="Fact_e11637fdb0c045ea8fb878dda5ae0ee3">P2Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_3dc5d6c73c1d4e3bbc6a7c5e613ce890">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 21 &#x2013; INCOME TAXES&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carry-forwards. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period during which such rates are enacted.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company considers all available evidence to determine whether it is more likely than not that some portion or all of the deferred tax assets will 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 become realizable. Management considers the scheduled reversal of deferred tax liabilities (including the impact of available carryback and carry-forward periods) and projected taxable income in assessing the realizability of deferred tax assets. In making such judgments, significant weight is given to evidence that can be objectively verified.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of each reporting date, management considers new evidence, both positive and negative, that could affect its view of the future realization of deferred tax assets. Prior to September 30, 2019, the Company had recorded a valuation allowance for the full amount of net deferred tax assets in the United States, as the realization of deferred tax assets was uncertain. Since September 30, 2019, the Company has not maintained a valuation allowance except for a partial valuation allowance on certain U.S. deferred tax assets. In order to recognize the remaining U.S. deferred tax assets that continue to be subject to a valuation allowance, the Company will need to generate sufficient U.S. taxable income in future periods before the expiration of the deferred tax assets governed by the tax code.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM Shanghai has shown a three-year historical cumulative profit and has projections of future income. As a result, the Company does not maintain a valuation allowance.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company accounts for uncertain tax positions in accordance with the authoritative guidance on income taxes under which the Company may only recognize or continue to recognize tax positions that meet a more likely than not threshold. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as a component of the provision for income taxes.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company&#x2019;s effective tax rate differs from statutory rates of 21% for U.S. federal income tax purposes and 12.5% to 25% for Chinese income tax purposes due to the effects of the valuation allowance and certain permanent differences from book-tax differences. As a result, the Company recorded income tax benefit (expense) of $2,755 and $(2,163) during the six months ended June 30, 2021 and 2020, respectively&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of June 30, 2021, the Company&#x2019;s total unrecognized tax benefits were $570 of which $422 would affect the effective tax rate if recognized. The Company will recognize interest and penalties, when they occur, related to uncertain tax provisions as a component of tax expense. No interest or penalties were recognized for the six months ended June 30, 2021.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company files income tax returns in the United States and state and foreign jurisdictions. The federal, state and foreign income tax returns are under the statute of limitations subject to tax examinations for the tax years ended December 31, 2002 through December 31, 2020. To the extent the Company has tax attribute carry-forwards, the tax years in which the attribute was generated may still be adjusted upon examination by the U.S. Internal Revenue Service, state or foreign tax authorities to the extent utilized in a future period.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company&#x2019;s effective tax rate differs from statutory rates of &lt;/span&gt;21%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for U.S. federal income tax purposes and &lt;/span&gt;12.5%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; to &lt;/span&gt;25%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for Chinese income tax purposes due to the effects of the valuation allowance and certain permanent differences as it pertains to book-tax differences in the treatment of stock-based compensation and non-US research expenses. The Company&#x2019;s &lt;/span&gt;three&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; PRC subsidiaries, ACM Shanghai, ACM Wuxi and ACM Shengwei, are liable for PRC corporate income taxes at the rates of &lt;/span&gt;12.5%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;, &lt;/span&gt;25%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;25%,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; respectively. Pursuant to the Corporate Income Tax Law of the PRC, ACM&#x2019;s PRC subsidiaries generally would be liable for PRC corporate income taxes as a rate of &lt;/span&gt;25%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. According to Guoshuihan &lt;/span&gt;2009&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; No. &lt;/span&gt;203,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; an entity certified as an &#x201c;advanced and new technology enterprise&#x201d; is entitled to a preferential income tax rate of &lt;/span&gt;15%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. ACM Shanghai was certified as an &#x201c;advanced and new technology enterprise&#x201d; in &lt;/span&gt;2012&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and again in &lt;/span&gt;2016&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; and &lt;/span&gt;2018,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; with an effective period of &lt;/span&gt;three years&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;. &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;In 2021, ACM Shanghai was certified as an eligible integrated circuit production enterprise and is entitled to a preferential income tax rate of &lt;/span&gt;12.5%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; from January 1, 2020 to December 31, 2022.&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;ACM files income tax returns in the United States and state and foreign jurisdictions. Those federal, state and foreign income tax returns are under the statute of limitations subject to tax examinations for 2009 through 2020. To the extent ACM has tax attribute carryforwards, the tax years in which the attribute was generated may still be adjusted upon examination by the U.S. Internal Revenue Service or state or foreign tax authorities to the extent utilized in a future period.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In December 2019, the FASB issued ASU No. 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes, which enhances and simplifies various aspects of the income tax accounting guidance, including requirements such as the elimination of exceptions related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period, the recognition of deferred tax liabilities for outside basis differences, ownership changes in investments, and tax basis step-up in goodwill obtained in a transaction that is not a business combination. The guidance is effective for public companies for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020. The impact of the adoption by the Company on its condensed consolidated financial statements and disclosures is immaterial.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income tax benefit (expense) was as follows:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z5544d6aa4ecb4c5ab80a590d1f3aa34b" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended&lt;/div&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total income tax benefit (expense)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(15&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,859&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,755&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,163&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20210101to20210630"
      decimals="2"
      id="Fact_29326fc69ec54cd1aaf6b8a8e436693b"
      unitRef="U004">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="3"
      id="Fact_577f1d4937dd49d39fba3f8782de8218"
      unitRef="U004">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="2"
      id="Fact_1f24e9ce80a04404846063352a3b09e8"
      unitRef="U004">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_c2d0f07ac84642a6afdc8213787e6969"
      unitRef="U002">-2755000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_910694bc4d4444839a73c151456fcf43"
      unitRef="U002">2163000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20210630"
      decimals="-3"
      id="Fact_ac2ee77bb4c349beb59132aeaf4574f1"
      unitRef="U002">570000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="c20210630"
      decimals="-3"
      id="Fact_bc26d9dc2dc342118e11bbe51feb3dbd"
      unitRef="U002">422000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestExpense
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_d07f31a3bc3b485e897e8c459c7cd008"
      unitRef="U002">0</us-gaap:IncomeTaxExaminationPenaltiesAndInterestExpense>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20210101to20210630"
      decimals="2"
      id="Fact_0bdb51c2354044fda9505f07edb62d5d"
      unitRef="U004">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="3"
      id="Fact_2fd0abd617084ce8abea831043896833"
      unitRef="U004">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchWuxiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="2"
      id="Fact_d009f1419ebf49a3aea79ad9c61916cd"
      unitRef="U004">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <acmr:NumberOfSubsidiaries
      contextRef="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="INF"
      id="Fact_6c7bfa3c0520489690ad580a335255d1"
      unitRef="U012">3</acmr:NumberOfSubsidiaries>
    <acmr:ForeignCorporateTaxRate
      contextRef="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember_RangeAxis_MinimumMember"
      decimals="3"
      id="Fact_95d7500877a549cc8a2b5c99f8eba355"
      unitRef="U004">0.125</acmr:ForeignCorporateTaxRate>
    <acmr:ForeignCorporateTaxRate
      contextRef="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember_RangeAxis_MaximumMember"
      decimals="2"
      id="Fact_fa369fe0866846649f273314ab8af960"
      unitRef="U004">0.25</acmr:ForeignCorporateTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ShengweiResearchShanghaiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="2"
      id="Fact_6cf4351d26e245ef8000313e8e2a3059"
      unitRef="U004">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <acmr:ForeignCorporateTaxRate
      contextRef="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="2"
      id="Fact_cd2250b330524513ad751b50c97a2562"
      unitRef="U004">0.25</acmr:ForeignCorporateTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember"
      decimals="2"
      id="Fact_ae650c43bd4b48478443f877a1341c32"
      unitRef="U004">0.15</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <acmr:EffectivePeriodOfPreferentialIncomeTaxRate
      contextRef="c20210101to20210630_IncomeTaxAuthorityAxis_ForeignCountryMember"
      id="Fact_62b46b4bca6447f98728eb7f9c07491c">P3Y</acmr:EffectivePeriodOfPreferentialIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="c20210101to20210630_ConsolidatedEntitiesAxis_ACMResearchShanghaiIncMember_IncomeTaxAuthorityAxis_ForeignCountryMember"
      decimals="3"
      id="Fact_daaa6633813b4dab8025b467892ada19"
      unitRef="U004">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="c20210101to20210630"
      id="Text_4c9ad45765ef4e29bda2989a3ed1a5c2">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income tax benefit (expense) was as follows:&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" id="z5544d6aa4ecb4c5ab80a590d1f3aa34b" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;June 30,&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="6" style="vertical-align: middle; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;Six&lt;/span&gt; Months Ended&lt;/div&gt;&lt;div style="text-align: center; text-indent: -9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-indent: 0pt;"&gt;June 30&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;/tr&gt;
  &lt;tr&gt;
    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2021&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: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2020&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: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="text-align: left; text-indent: -9.35pt; margin-left: 16.55pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total income tax benefit (expense)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(15&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,859&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,755&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; 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: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,163&lt;/div&gt;&lt;/td&gt;
    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_10a1af2819d944049a6cc6a1770c94b2"
      unitRef="U002">15000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_3ad6b249bb73486984e286e72e553992"
      unitRef="U002">1859000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_c4522ab0ac25439cb112d8552ba6d020"
      unitRef="U002">-2755000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200101to20200630"
      decimals="-3"
      id="Fact_d99ad8565a2347efb4ebda30fa71e0fb"
      unitRef="U002">2163000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="c20210101to20210630"
      id="Text_9182e5e065744c3193a2191298f59fbf">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 22 &#x2013; COMMITMENTS AND CONTINGENCIES&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;The Company leases offices under non-cancelable operating lease agreements. See note &lt;/span&gt;8&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; for future minimum lease payments under non-cancelable operating lease agreements with initial terms of &lt;/span&gt;one&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; year or more.&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', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;As of June &lt;/span&gt;30,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt;&#160;&lt;/span&gt;2021,&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; the Company had &lt;/span&gt;$2,942&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; color: #000000;"&gt; of open capital commitments.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Covenants in ACM Shengwei&#x2019;s Grant Contract for State-owned Construction Land Use Right in Shanghai City with the China (Shanghai) Pilot Free Trade Zone Lingang Special Area Administration require, among other things, that ACM Shengwei pay liquidated damages in the event that (a) it does not make a total investment (including the costs of construction, fixtures, equipment and grant fees) of at least RMB 450.0 million ($63,400) or (b) within six years after the land use right is obtained, the Company does not (i) generate a minimum specified amount of annual sales of products manufactured on the granted land or (ii) pay to the PRC at least RMB 157.6 million ($22,000) in annual total taxes (including value-added taxes, corporate income tax, personal income taxes, urban maintenance and construction taxes, education surcharges, stamp taxes, and vehicle and shipping taxes) as a result of operations in connection with the granted land. As of June 30, 2021, the Company had paid in total $10,328 for its Lingang-related investments.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In the normal course of business, the Company is subject to contingencies, including legal proceedings and environmental claims arising out of the normal course of businesses that relate to a wide range of matters, including among others, contracts breach liability. The Company records accruals for such contingencies based upon the assessment of the probability of occurrence and, where determinable, an estimate of the liability. Management may consider many factors in making these assessments including past history, scientific evidence and the specifics of each matter.&#160; Some of these contingencies involve claims that are subject to substantial uncertainties and unascertainable damages.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company&#x2019;s management has evaluated all such proceedings and claims that existed as of June 30, 2021 and December 31, 2020. In the opinion of management, no provision for liability nor disclosure was required as of June 30, 2021 related to any claim against the Company because: (a) there is not a reasonable possibility that a loss exceeding amounts already recognized (if any) may be incurred with respect to such claim; (b) a reasonably possible loss or range of loss cannot be estimated; or (c) such estimate is immaterial.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of June 30, 2021, the Company had one outstanding legal proceeding. On December 21, 2020, a putative class action lawsuit against ACM and three of its officers was filed in the U.S. District Court for the Northern District of California under the caption &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;Kain v. ACM Research, Inc., et al.&lt;/span&gt;, No. 3:20-cv-09241. The complaint alleges claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 promulgated thereunder, and seeks monetary damages in an unspecified amount as well as costs and expenses incurred in the litigation. On April 15, 2021, the court appointed Mr. Kain as lead plaintiff, finding that no better-suited candidates emerged during the statutory sixty-day period following public notice of the lawsuit. &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;On May 27, 2021, defendants filed a motion to dismiss Mr. Kain&#x2019;s complaint.&#160; Defendants&#x2019; motion to dismiss is fully briefed and currently scheduled to be heard by the court on September 9, 2021.&lt;/span&gt; ACM&#x2019;s management believes the claims are without merit and intends to vigorously defend this litigation. The Company is currently unable to predict the outcome of this lawsuit and therefore cannot determine the likelihood of loss or estimate a range of possible loss.&lt;/div&gt;
</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:ContractualObligation
      contextRef="c20210630"
      decimals="-3"
      id="Fact_fc83e551615845e9b7d4fa360bbdec6a"
      unitRef="U002">2942000</us-gaap:ContractualObligation>
    <us-gaap:LossContingencyDamagesAwardedValue
      contextRef="c20210101to20210630"
      decimals="-5"
      id="Fact_7ff7451265cf49d284d8c854b014296c"
      unitRef="U008">450000000.0</us-gaap:LossContingencyDamagesAwardedValue>
    <us-gaap:LossContingencyDamagesAwardedValue
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_2fdbd7fdb24b4a6391f51272bd66d352"
      unitRef="U002">63400000</us-gaap:LossContingencyDamagesAwardedValue>
    <acmr:LandUseRightsPeriod
      contextRef="c20210101to20210630"
      id="Fact_adb37bb3199d48c4b1c2c7d54adc7925">P6Y</acmr:LandUseRightsPeriod>
    <acmr:AnnualTotalTaxes
      contextRef="c20210101to20210630"
      decimals="-5"
      id="Fact_1b238d094ff947889f973464963ee815"
      unitRef="U008">157600000</acmr:AnnualTotalTaxes>
    <acmr:AnnualTotalTaxes
      contextRef="c20210101to20210630"
      decimals="-3"
      id="Fact_b0beb45579e34c27b1595f28b5614a1b"
      unitRef="U002">22000000</acmr:AnnualTotalTaxes>
    <us-gaap:RealEstateInvestments
      contextRef="c20210630"
      decimals="-3"
      id="Fact_aa593b5d8e494b2c81fead6517b9bd4f"
      unitRef="U002">10328000</us-gaap:RealEstateInvestments>
    <acmr:NumberOfOutstandingLegalProceedings
      contextRef="c20210630"
      decimals="INF"
      id="Fact_73992fe943944b61a693c42c87a0b39e"
      unitRef="U013">1</acmr:NumberOfOutstandingLegalProceedings>
    <acmr:NumberOfExecutiveOfficersAgainstLawsuitFiled
      contextRef="c20201221"
      decimals="INF"
      id="Fact_ab4cac034a3b4346b2bc507d046cc874"
      unitRef="U014">3</acmr:NumberOfExecutiveOfficersAgainstLawsuitFiled>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="c20210101to20210630"
      id="Text_c942560c57274fc6b9061d4ceb407eda">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;NOTE 23 &#x2013; SUBSEQUENT EVENT&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On July 13, 2021, the Company filed a certificate of amendment to our restated certificate of incorporation with the Secretary of State of the State of Delaware.&#160; The amendment i) increased the authorized number of shares of Class A common stock from 50,000,000 to 150,000,000 with 60,000,000 of the 100,000,000 additional authorized shares of Class A common stock reserved for issuance only as dividends on outstanding shares of Class A common stock;&#160; ii) increased the authorized number of shares of Class B common stock from 2,409,738 to 5,307,816, with all of the authorized but unissued shares of Class B common stock being available for issuance only as dividends on outstanding shares of Class B common stock; and iii) removed a now-obsolete provision related to the automatic conversion of Class B common stock into Class A common stock.&lt;/div&gt;
</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_b0e183527fff409fb0809f71c9c38f4b"
      unitRef="U001">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210713_StatementClassOfStockAxis_CommonClassAMember_SubsequentEventTypeAxis_SubsequentEventMember"
      decimals="0"
      id="Fact_04e1fd4c12894fef92ef796d060e161f"
      unitRef="U001">150000000</us-gaap:CommonStockSharesAuthorized>
    <acmr:AdditionalSharesReservedForIssuanceAsDividends
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_37bc307e8a874b22a35c00bef0d24604"
      unitRef="U001">60000000</acmr:AdditionalSharesReservedForIssuanceAsDividends>
    <acmr:CommonStockAdditionalSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassAMember"
      decimals="0"
      id="Fact_f0d3bcadcade4a76a96ff4a46639b5f1"
      unitRef="U001">100000000</acmr:CommonStockAdditionalSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210630_StatementClassOfStockAxis_CommonClassBMember"
      decimals="0"
      id="Fact_a32ef6b107ae46c59e6acce347f4f6da"
      unitRef="U001">2409738</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20210713_StatementClassOfStockAxis_CommonClassBMember_SubsequentEventTypeAxis_SubsequentEventMember"
      decimals="0"
      id="Fact_83e80591ea1048a5a60287e047df206d"
      unitRef="U001">5307816</us-gaap:CommonStockSharesAuthorized>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact_468756f1c21a4d8f83d7cf01677fec4c"
          xlink:label="Fact_468756f1c21a4d8f83d7cf01677fec4c"
          xlink:type="locator"/>
        <link:footnote id="Foot_c4b257251cb842cab1cbe24ea44e1896" xlink:label="Foot_c4b257251cb842cab1cbe24ea44e1896" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Expected term of share options was based on the average of the vesting period and the contractual term for each grant according to Staff Accounting Bulletin 110.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_468756f1c21a4d8f83d7cf01677fec4c"
          xlink:to="Foot_c4b257251cb842cab1cbe24ea44e1896"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_d1cfb30e26504ca2a37876d9a714a38f"
          xlink:label="Fact_d1cfb30e26504ca2a37876d9a714a38f"
          xlink:type="locator"/>
        <link:footnote id="Foot_3f1ca883c8c449f5b69794bf31505280" xlink:label="Foot_3f1ca883c8c449f5b69794bf31505280" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Expected term of share options is based on the average of the vesting period and the contractual term for each grant according to Staff Accounting Bulletin 110.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_d1cfb30e26504ca2a37876d9a714a38f"
          xlink:to="Foot_3f1ca883c8c449f5b69794bf31505280"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_aac7b4b88c9f4e08aead3cd89f6466c1"
          xlink:label="Fact_aac7b4b88c9f4e08aead3cd89f6466c1"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_aac7b4b88c9f4e08aead3cd89f6466c1"
          xlink:to="Foot_3f1ca883c8c449f5b69794bf31505280"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_108441702e93486abfb4b576022f884b"
          xlink:label="Fact_108441702e93486abfb4b576022f884b"
          xlink:type="locator"/>
        <link:footnote id="Foot_7f99eb7f5795480ea271eed6bd1902a4" xlink:label="Foot_7f99eb7f5795480ea271eed6bd1902a4" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Fair value of Class A common stock was the closing market price of the Class A common stock on July 29, 2020.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_108441702e93486abfb4b576022f884b"
          xlink:to="Foot_7f99eb7f5795480ea271eed6bd1902a4"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_b0eb3d6360df479fa13128341b31793e"
          xlink:label="Fact_b0eb3d6360df479fa13128341b31793e"
          xlink:type="locator"/>
        <link:footnote id="Foot_450079cb66b844ec87e04d874a6f563a" xlink:label="Foot_450079cb66b844ec87e04d874a6f563a" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Equal to closing value on the grant date.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_b0eb3d6360df479fa13128341b31793e"
          xlink:to="Foot_450079cb66b844ec87e04d874a6f563a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_4bf8fdc2575d42b290cc4c2d6f716d05"
          xlink:label="Fact_4bf8fdc2575d42b290cc4c2d6f716d05"
          xlink:type="locator"/>
        <link:footnote id="Foot_a568dc6349b9413ea59a50ddae0297b5" xlink:label="Foot_a568dc6349b9413ea59a50ddae0297b5" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Risk-free interest rate was based on the yields of U.S. Treasury securities with maturities similar to the expected term of the share options in effect at the time of grant.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_4bf8fdc2575d42b290cc4c2d6f716d05"
          xlink:to="Foot_a568dc6349b9413ea59a50ddae0297b5"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_adebba59dbde4334abc8d13930f158c2"
          xlink:label="Fact_adebba59dbde4334abc8d13930f158c2"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_adebba59dbde4334abc8d13930f158c2"
          xlink:to="Foot_a568dc6349b9413ea59a50ddae0297b5"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_8c9120a8ba2949e0b56285dec041d926"
          xlink:label="Fact_8c9120a8ba2949e0b56285dec041d926"
          xlink:type="locator"/>
        <link:footnote id="Foot_994a47a3b7cc48f2aa3ab55cdd4b7957" xlink:label="Foot_994a47a3b7cc48f2aa3ab55cdd4b7957" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Expected dividend is assumed to be 0% as ACM has no history or expectation of paying a dividend on its common stock.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_8c9120a8ba2949e0b56285dec041d926"
          xlink:to="Foot_994a47a3b7cc48f2aa3ab55cdd4b7957"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_bc1b42589d46487bbd717da7a690c381"
          xlink:label="Fact_bc1b42589d46487bbd717da7a690c381"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_bc1b42589d46487bbd717da7a690c381"
          xlink:to="Foot_994a47a3b7cc48f2aa3ab55cdd4b7957"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_b5e8da7ddd6d4ef0832348603c9be82d"
          xlink:label="Fact_b5e8da7ddd6d4ef0832348603c9be82d"
          xlink:type="locator"/>
        <link:footnote id="Foot_8861fb2a36ca4ede87e52ea7bccf33c9" xlink:label="Foot_8861fb2a36ca4ede87e52ea7bccf33c9" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Expected dividend was assumed to be 0%, as ACM had no history or expectation of paying a dividend on its common stock.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_b5e8da7ddd6d4ef0832348603c9be82d"
          xlink:to="Foot_8861fb2a36ca4ede87e52ea7bccf33c9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_b658fbb58de84f5aa4de429f587b55b8"
          xlink:label="Fact_b658fbb58de84f5aa4de429f587b55b8"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_b658fbb58de84f5aa4de429f587b55b8"
          xlink:to="Foot_8861fb2a36ca4ede87e52ea7bccf33c9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_32cdff6e659b406c98f47917c631ede0"
          xlink:label="Fact_32cdff6e659b406c98f47917c631ede0"
          xlink:type="locator"/>
        <link:footnote id="Foot_1f1f964567f14f698967309501d296ff" xlink:label="Foot_1f1f964567f14f698967309501d296ff" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Volatility was calculated based on the historical volatility of the stock of companies comparable to ACM in the period equal to the expected term of each grant.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_32cdff6e659b406c98f47917c631ede0"
          xlink:to="Foot_1f1f964567f14f698967309501d296ff"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_fb110abe505e4ac899f2b71339660b3f"
          xlink:label="Fact_fb110abe505e4ac899f2b71339660b3f"
          xlink:type="locator"/>
        <link:footnote id="Foot_26756271e39f48f992ac8dc293e51a79" xlink:label="Foot_26756271e39f48f992ac8dc293e51a79" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Volatility is calculated based on the historical volatility of ACM&#x2019;s comparable companies in the period equal to the expected term of each grant.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_fb110abe505e4ac899f2b71339660b3f"
          xlink:to="Foot_26756271e39f48f992ac8dc293e51a79"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_4235cdb6de2f4d38b0cdd75665212776"
          xlink:label="Fact_4235cdb6de2f4d38b0cdd75665212776"
          xlink:type="locator"/>
        <link:footnote id="Foot_5e43ccf3208f465ca16177b9b833f7be" xlink:label="Foot_5e43ccf3208f465ca16177b9b833f7be" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Guaranteed by ACM&#x2019;s Chief Executive Officer and CleanChip</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_4235cdb6de2f4d38b0cdd75665212776"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_182c19e541024eff9968b5c7446eae49"
          xlink:label="Fact_182c19e541024eff9968b5c7446eae49"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_182c19e541024eff9968b5c7446eae49"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_5b3661060b6e40e29031a9d62da98750"
          xlink:label="Fact_5b3661060b6e40e29031a9d62da98750"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_5b3661060b6e40e29031a9d62da98750"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_841a5bf268504fa69839750ac04a4eb1"
          xlink:label="Fact_841a5bf268504fa69839750ac04a4eb1"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_841a5bf268504fa69839750ac04a4eb1"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_bfba126bdd684ea5a829ef948b30b58c"
          xlink:label="Fact_bfba126bdd684ea5a829ef948b30b58c"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_bfba126bdd684ea5a829ef948b30b58c"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_be9f9026dc624907b2ebdd8e106adf66"
          xlink:label="Fact_be9f9026dc624907b2ebdd8e106adf66"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_be9f9026dc624907b2ebdd8e106adf66"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_376ccbcbba174a55a415db1c0fe7e7cb"
          xlink:label="Fact_376ccbcbba174a55a415db1c0fe7e7cb"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_376ccbcbba174a55a415db1c0fe7e7cb"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_151ebf4efc4d4e32b56d25b44b7c38a6"
          xlink:label="Fact_151ebf4efc4d4e32b56d25b44b7c38a6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_151ebf4efc4d4e32b56d25b44b7c38a6"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_2a6f54c50a964ab2a6b03a112bf81bff"
          xlink:label="Fact_2a6f54c50a964ab2a6b03a112bf81bff"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_2a6f54c50a964ab2a6b03a112bf81bff"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_dc2bbaa27ed747f69adf86a7fdbc896c"
          xlink:label="Fact_dc2bbaa27ed747f69adf86a7fdbc896c"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_dc2bbaa27ed747f69adf86a7fdbc896c"
          xlink:to="Foot_5e43ccf3208f465ca16177b9b833f7be"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_299ef1b97585441884b2f7e62feca799"
          xlink:label="Fact_299ef1b97585441884b2f7e62feca799"
          xlink:type="locator"/>
        <link:footnote id="Foot_6d7b1f618ce746288c00f0d442a1e03a" xlink:label="Foot_6d7b1f618ce746288c00f0d442a1e03a" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Guaranteed by ACM&#x2019;s Chief Executive Officer</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_299ef1b97585441884b2f7e62feca799"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_d7c69bb00ab94bbd83a7d088368c2357"
          xlink:label="Fact_d7c69bb00ab94bbd83a7d088368c2357"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_d7c69bb00ab94bbd83a7d088368c2357"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_8f1711a8c2b744efa4fbc07539dacaba"
          xlink:label="Fact_8f1711a8c2b744efa4fbc07539dacaba"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_8f1711a8c2b744efa4fbc07539dacaba"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_fe271af54ce34b5f9c516c41cd81a9a9"
          xlink:label="Fact_fe271af54ce34b5f9c516c41cd81a9a9"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_fe271af54ce34b5f9c516c41cd81a9a9"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_1d8797e10e6446d68e05fc6126a7f410"
          xlink:label="Fact_1d8797e10e6446d68e05fc6126a7f410"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_1d8797e10e6446d68e05fc6126a7f410"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_82a98e1721de4833ad076c69830e4e39"
          xlink:label="Fact_82a98e1721de4833ad076c69830e4e39"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_82a98e1721de4833ad076c69830e4e39"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_cbf14c3a7db249f5b5909fe139670a5d"
          xlink:label="Fact_cbf14c3a7db249f5b5909fe139670a5d"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_cbf14c3a7db249f5b5909fe139670a5d"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_7e8c757dac1245f9a7ce12066fe91c17"
          xlink:label="Fact_7e8c757dac1245f9a7ce12066fe91c17"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_7e8c757dac1245f9a7ce12066fe91c17"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_dbb1228929a644b2b7c91b70b35aace3"
          xlink:label="Fact_dbb1228929a644b2b7c91b70b35aace3"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_dbb1228929a644b2b7c91b70b35aace3"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_ee1e14d4122d458e8d64df0039a094d9"
          xlink:label="Fact_ee1e14d4122d458e8d64df0039a094d9"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_ee1e14d4122d458e8d64df0039a094d9"
          xlink:to="Foot_6d7b1f618ce746288c00f0d442a1e03a"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_6b5d6486a47444d0806bbacfa401c621"
          xlink:label="Fact_6b5d6486a47444d0806bbacfa401c621"
          xlink:type="locator"/>
        <link:footnote id="Foot_f9fa8ced4fa040c2bc2d7e8b84cc639e" xlink:label="Foot_f9fa8ced4fa040c2bc2d7e8b84cc639e" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Guaranteed by CleanChip</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_6b5d6486a47444d0806bbacfa401c621"
          xlink:to="Foot_f9fa8ced4fa040c2bc2d7e8b84cc639e"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_9a74b6aba8224f3f9d6501f5cd8dafb2"
          xlink:label="Fact_9a74b6aba8224f3f9d6501f5cd8dafb2"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_9a74b6aba8224f3f9d6501f5cd8dafb2"
          xlink:to="Foot_f9fa8ced4fa040c2bc2d7e8b84cc639e"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
