<?xml version="1.0" ?>
<proxyVoteTable xmlns="http://www.sec.gov/edgar/document/npxproxy/informationtable">
  <proxyTable>
    <issuerName>ACI WORLDWIDE, INC.</issuerName>
    <cusip>004498101</cusip>
    <isin>US0044981019</isin>
    <meetingDate>06/03/2025</meetingDate>
    <voteDescription>To conduct an advisory vote to approve named executive officer compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>390</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>390</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>AEROVIRONMENT, INC.</issuerName>
    <cusip>008073108</cusip>
    <isin>US0080731088</isin>
    <meetingDate>09/27/2024</meetingDate>
    <voteDescription>Non-binding advisory vote on the compensation of the company's Named Executive Officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>622689</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>630698</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>AGILYSYS, INC.</issuerName>
    <cusip>00847J105</cusip>
    <isin>US00847J1051</isin>
    <meetingDate>09/12/2024</meetingDate>
    <voteDescription>Approval, on a non-binding advisory basis, of the compensation of the Company's named executive officers set forth in the attached Proxy Statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>176</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>176</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>ALARM.COM HOLDINGS, INC.</issuerName>
    <cusip>011642105</cusip>
    <isin>US0116421050</isin>
    <meetingDate>06/04/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of the Company's named executive officers as disclosed in the Proxy Statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>5643</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>5734</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>ALTAIR ENGINEERING INC.</issuerName>
    <cusip>021369103</cusip>
    <isin>US0213691035</isin>
    <meetingDate>01/22/2025</meetingDate>
    <voteDescription>To approve on an advisory (non-binding) basis the compensation that may be paid or become payable to Altair's named executive officers that is based on or otherwise relates to the merger.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>430</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>430</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>AMAZON.COM, INC.</issuerName>
    <cusip>023135106</cusip>
    <isin>US0231351067</isin>
    <meetingDate>05/21/2025</meetingDate>
    <voteDescription>ADVISORY VOTE TO APPROVE EXECUTIVE COMPENSATION</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>30</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>30</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>ANSYS, INC.</issuerName>
    <cusip>03662Q105</cusip>
    <isin>US03662Q1058</isin>
    <meetingDate>06/27/2025</meetingDate>
    <voteDescription>Advisory Approval of the Compensation of Our Named Executive Officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>12982</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>12982</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>APPFOLIO, INC.</issuerName>
    <cusip>03783C100</cusip>
    <isin>US03783C1009</isin>
    <meetingDate>06/13/2025</meetingDate>
    <voteDescription>Advisory vote to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>246</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>246</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>APPFOLIO, INC.</issuerName>
    <cusip>03783C100</cusip>
    <isin>US03783C1009</isin>
    <meetingDate>06/13/2025</meetingDate>
    <voteDescription>Advisory vote on the frequency of future stockholder advisory votes to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>246</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>1 YEAR</howVoted>
        <sharesVoted>246</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>ASPEN TECHNOLOGY, INC.</issuerName>
    <cusip>29109X106</cusip>
    <isin>US29109X1063</isin>
    <meetingDate>12/17/2024</meetingDate>
    <voteDescription>Approve, on an advisory basis, the compensation of our named executive officers as identified in the Proxy Statement for the 2024 Annual Meeting of Stockholders.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>76292</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>76721</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>AZENTA, INC.</issuerName>
    <cusip>114340102</cusip>
    <isin>US1143401024</isin>
    <meetingDate>01/30/2025</meetingDate>
    <voteDescription>To approve by a non-binding advisory vote the compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>290746</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>291652</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>BADGER METER, INC.</issuerName>
    <cusip>056525108</cusip>
    <isin>US0565251081</isin>
    <meetingDate>04/25/2025</meetingDate>
    <voteDescription>ADVISORY VOTE TO APPROVE COMPENSATION OF OUR NAMED EXECUTIVE OFFICERS.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>149</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>149</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>BIO-TECHNE CORP</issuerName>
    <cusip>09073M104</cusip>
    <isin>US09073M1045</isin>
    <meetingDate>10/24/2024</meetingDate>
    <voteDescription>Approve, on an advisory basis, the compensation of our executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>546327</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>554843</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>BLACKBAUD, INC.</issuerName>
    <cusip>09227Q100</cusip>
    <isin>US09227Q1004</isin>
    <meetingDate>06/11/2025</meetingDate>
    <voteDescription>ADVISORY VOTE TO APPROVE THE 2024 COMPENSATION OF OUR NAMED EXECUTIVE OFFICERS.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>112521</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>112521</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>CAREDX, INC.</issuerName>
    <cusip>14167L103</cusip>
    <isin>US14167L1035</isin>
    <meetingDate>06/12/2025</meetingDate>
    <voteDescription>Approval, on an advisory basis, of the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>883</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>883</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>CERENCE INC.</issuerName>
    <cusip>156727109</cusip>
    <isin>US1567271093</isin>
    <meetingDate>02/13/2025</meetingDate>
    <voteDescription>Approval, on a non-binding, advisory basis, of the compensation of the Company's named executive officers, as disclosed in the proxy statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1590073</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1594400</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>CERTARA, INC.</issuerName>
    <cusip>15687V109</cusip>
    <isin>US15687V1098</isin>
    <meetingDate>05/21/2025</meetingDate>
    <voteDescription>A non-binding advisory vote to approve the compensation of our named executive officers for the most recently completed fiscal year.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>5000</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>5000</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>CHARLES RIVER LABORATORIES INTL., INC.</issuerName>
    <cusip>159864107</cusip>
    <isin>US1598641074</isin>
    <meetingDate>05/20/2025</meetingDate>
    <voteDescription>Advisory Approval of 2024 Executive Officer Compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>600</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>600</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>COGNEX CORPORATION</issuerName>
    <cusip>192422103</cusip>
    <isin>US1924221039</isin>
    <meetingDate>04/30/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of Cognex's named executive officers, as described in the proxy statement including the Compensation Discussion and Analysis, compensation tables and narrative discussion (&quot;say-on-pay&quot;).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>626725</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>626725</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>COMMVAULT SYSTEMS, INC.</issuerName>
    <cusip>204166102</cusip>
    <isin>US2041661024</isin>
    <meetingDate>08/08/2024</meetingDate>
    <voteDescription>To approve, on an advisory basis, Commvault's executive compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>388793</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>396921</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>COSTAR GROUP, INC.</issuerName>
    <cusip>22160N109</cusip>
    <isin>US22160N1090</isin>
    <meetingDate>06/26/2025</meetingDate>
    <voteDescription>Proposal to approve, on an advisory basis, the Company's executive compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>419951</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>419951</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>DEXCOM, INC.</issuerName>
    <cusip>252131107</cusip>
    <isin>US2521311074</isin>
    <meetingDate>05/08/2025</meetingDate>
    <voteDescription>To provide a non-binding advisory vote on the compensation of our named executive officers for the fiscal year ended December 31, 2024.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>151495</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>151507</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>DIGITALOCEAN HOLDINGS, INC.</issuerName>
    <cusip>25402D102</cusip>
    <isin>US25402D1028</isin>
    <meetingDate>06/09/2025</meetingDate>
    <voteDescription>Approval, on a non-binding advisory basis, of the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>757</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>757</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>DORMAN PRODUCTS, INC.</issuerName>
    <cusip>258278100</cusip>
    <isin>US2582781009</isin>
    <meetingDate>05/16/2025</meetingDate>
    <voteDescription>Advisory approval of the compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>310</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>310</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>DOUBLEVERIFY HOLDINGS, INC.</issuerName>
    <cusip>25862V105</cusip>
    <isin>US25862V1052</isin>
    <meetingDate>05/21/2025</meetingDate>
    <voteDescription>Non-binding advisory vote on the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1634</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1634</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>ENVESTNET, INC.</issuerName>
    <cusip>29404K106</cusip>
    <isin>US29404K1060</isin>
    <meetingDate>09/24/2024</meetingDate>
    <voteDescription>To approve, on a non-binding advisory basis, the compensation that will or may become payable by Envestnet to its named executive officers in connection with the Merger.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>639</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>639</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>EXACT SCIENCES CORPORATION</issuerName>
    <cusip>30063P105</cusip>
    <isin>US30063P1057</isin>
    <meetingDate>06/12/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>130</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>130</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>FACTSET RESEARCH SYSTEMS INC.</issuerName>
    <cusip>303075105</cusip>
    <isin>US3030751057</isin>
    <meetingDate>12/19/2024</meetingDate>
    <voteDescription>To vote on a non-binding advisory resolution to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>58048</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>58281</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>FORTINET, INC.</issuerName>
    <cusip>34959E109</cusip>
    <isin>US34959E1091</isin>
    <meetingDate>06/13/2025</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation, as disclosed in the Proxy Statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>386420</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>386420</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>GENTEX CORPORATION</issuerName>
    <cusip>371901109</cusip>
    <isin>US3719011096</isin>
    <meetingDate>05/15/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1154421</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1247937</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>GLOBUS MEDICAL, INC.</issuerName>
    <cusip>379577208</cusip>
    <isin>US3795772082</isin>
    <meetingDate>06/04/2025</meetingDate>
    <voteDescription>To approve, in an advisory vote, the compensation of the Company's named executive officers (the Say-on-Pay Vote).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>151801</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>151801</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>GLOBUS MEDICAL, INC.</issuerName>
    <cusip>379577208</cusip>
    <isin>US3795772082</isin>
    <meetingDate>06/04/2025</meetingDate>
    <voteDescription>To approve, in an advisory vote, the frequency of the approval, on an advisory basis, of the compensation of our named executive officers (the Frequency Vote).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>151801</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>1 YEAR</howVoted>
        <sharesVoted>151801</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>GUIDEWIRE SOFTWARE, INC.</issuerName>
    <cusip>40171V100</cusip>
    <isin>US40171V1008</isin>
    <meetingDate>12/17/2024</meetingDate>
    <voteDescription>To conduct a non-binding, advisory vote to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>154408</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>154958</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>HAEMONETICS CORPORATION</issuerName>
    <cusip>405024100</cusip>
    <isin>US4050241003</isin>
    <meetingDate>07/25/2024</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>16500</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>16500</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>IDEXX LABORATORIES, INC.</issuerName>
    <cusip>45168D104</cusip>
    <isin>US45168D1046</isin>
    <meetingDate>05/07/2025</meetingDate>
    <voteDescription>Advisory Vote on Executive Compensation. To approve a nonbinding advisory resolution on the Company's executive compensation (Proposal Three).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>77788</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>77791</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>INSPIRE MEDICAL SYSTEMS, INC.</issuerName>
    <cusip>457730109</cusip>
    <isin>US4577301090</isin>
    <meetingDate>05/01/2025</meetingDate>
    <voteDescription>Approval, on an advisory (non-binding) basis, of the compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>85</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>85</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>INSULET CORPORATION</issuerName>
    <cusip>45784P101</cusip>
    <isin>US45784P1012</isin>
    <meetingDate>05/22/2025</meetingDate>
    <voteDescription>To approve, on a non-binding, advisory basis, the compensation of certain executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>205</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>205</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>IRHYTHM TECHNOLOGIES, INC.</issuerName>
    <cusip>450056106</cusip>
    <isin>US4500561067</isin>
    <meetingDate>05/28/2025</meetingDate>
    <voteDescription>To approve, on a non-binding advisory basis, the named executive officer compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>132</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>132</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>JACK HENRY &amp; ASSOCIATES, INC.</issuerName>
    <cusip>426281101</cusip>
    <isin>US4262811015</isin>
    <meetingDate>11/12/2024</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>244456</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>247897</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>KRATOS DEFENSE &amp; SEC SOLUTIONS, INC.</issuerName>
    <cusip>50077B207</cusip>
    <isin>US50077B2079</isin>
    <meetingDate>05/14/2025</meetingDate>
    <voteDescription>An advisory vote to approve the compensation of the Company's named executive officers, as presented in the proxy statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1290236</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1290614</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>LIVERAMP HOLDINGS, INC.</issuerName>
    <cusip>53815P108</cusip>
    <isin>US53815P1084</isin>
    <meetingDate>08/13/2024</meetingDate>
    <voteDescription>Advisory (non-binding) vote to approve the compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>856641</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>871724</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>MANHATTAN ASSOCIATES, INC.</issuerName>
    <cusip>562750109</cusip>
    <isin>US5627501092</isin>
    <meetingDate>05/13/2025</meetingDate>
    <voteDescription>Non-binding resolution to approve the compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>151920</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>185629</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>MEDPACE HOLDINGS, INC.</issuerName>
    <cusip>58506Q109</cusip>
    <isin>US58506Q1094</isin>
    <meetingDate>05/16/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of our named executive officers as disclosed in the proxy statement for the 2025 Annual Meeting.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>132103</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>132154</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>MERIT MEDICAL SYSTEMS, INC.</issuerName>
    <cusip>589889104</cusip>
    <isin>US5898891040</isin>
    <meetingDate>05/14/2025</meetingDate>
    <voteDescription>Approval of a non-binding, advisory resolution approving the compensation of the Company's named executive officers as described in the Merit Medical Systems, Inc. Proxy Statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>793</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>793</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>MONOLITHIC POWER SYSTEMS, INC.</issuerName>
    <cusip>609839105</cusip>
    <isin>US6098391054</isin>
    <meetingDate>06/12/2025</meetingDate>
    <voteDescription>Approve, on an advisory basis, the 2024 executive compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1095</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1095</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>MORNINGSTAR, INC.</issuerName>
    <cusip>617700109</cusip>
    <isin>US6177001095</isin>
    <meetingDate>05/09/2025</meetingDate>
    <voteDescription>Advisory vote to approve executive compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>82064</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>82064</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>NCINO, INC.</issuerName>
    <cusip>63947X101</cusip>
    <isin>US63947X1019</isin>
    <meetingDate>06/18/2025</meetingDate>
    <voteDescription>Approval, on a non-binding, advisory basis, of the compensation paid to the company's named executive officers (or NEOs).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>944407</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>944407</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>NEOGEN CORPORATION</issuerName>
    <cusip>640491106</cusip>
    <isin>US6404911066</isin>
    <meetingDate>10/24/2024</meetingDate>
    <voteDescription>To Approve, On An Advisory Basis, The Compensation of Named Executive Officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1450634</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1468488</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>NEOGENOMICS, INC.</issuerName>
    <cusip>64049M209</cusip>
    <isin>US64049M2098</isin>
    <meetingDate>05/22/2025</meetingDate>
    <voteDescription>Approval, on a non-binding advisory basis, of the Compensation Paid to the Company's Named Executive Officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>20391</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>20391</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>NEOGENOMICS, INC.</issuerName>
    <cusip>64049M209</cusip>
    <isin>US64049M2098</isin>
    <meetingDate>05/22/2025</meetingDate>
    <voteDescription>Recommend, on a non-binding advisory basis, the Frequency of Future Advisory Votes on Executive Compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>20391</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>1 YEAR</howVoted>
        <sharesVoted>20391</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>O'REILLY AUTOMOTIVE, INC.</issuerName>
    <cusip>67103H107</cusip>
    <isin>US67103H1077</isin>
    <meetingDate>05/15/2025</meetingDate>
    <voteDescription>Advisory vote to approve executive compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>600</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>600</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>PAYCHEX, INC.</issuerName>
    <cusip>704326107</cusip>
    <isin>US7043261079</isin>
    <meetingDate>10/10/2024</meetingDate>
    <voteDescription>ADVISORY VOTE TO APPROVE NAMED EXECUTIVE OFFICER COMPENSATION.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>225</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>225</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>PAYCOM SOFTWARE, INC.</issuerName>
    <cusip>70432V102</cusip>
    <isin>US70432V1026</isin>
    <meetingDate>05/05/2025</meetingDate>
    <voteDescription>Advisory approval of the compensation of the Company's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>98963</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>98963</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>PROTO LABS, INC.</issuerName>
    <cusip>743713109</cusip>
    <isin>US7437131094</isin>
    <meetingDate>05/20/2025</meetingDate>
    <voteDescription>Advisory vote on executive compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>565</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>565</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Q2 HOLDINGS INC</issuerName>
    <cusip>74736L109</cusip>
    <isin>US74736L1098</isin>
    <meetingDate>06/03/2025</meetingDate>
    <voteDescription>Advisory vote to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>489</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>489</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>QUALYS, INC.</issuerName>
    <cusip>74758T303</cusip>
    <isin>US74758T3032</isin>
    <meetingDate>06/11/2025</meetingDate>
    <voteDescription>To approve, on an advisory and non-binding basis, the compensation of Qualys, Inc.'s named executive officers as described in the Proxy Statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>235103</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>235103</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>RBC BEARINGS INCORPORATED</issuerName>
    <cusip>75524B104</cusip>
    <isin>US75524B1044</isin>
    <meetingDate>09/05/2024</meetingDate>
    <voteDescription>To consider a resolution regarding the stockholder advisory vote on named executive officer compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>45420</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>48376</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>REPLIGEN CORPORATION</issuerName>
    <cusip>759916109</cusip>
    <isin>US7599161095</isin>
    <meetingDate>05/15/2025</meetingDate>
    <voteDescription>Advisory vote to approve the compensation paid to Repligen Corporation's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>173381</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>173438</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>RESMED INC.</issuerName>
    <cusip>761152107</cusip>
    <isin>US7611521078</isin>
    <meetingDate>11/20/2024</meetingDate>
    <voteDescription>Approve, on an advisory basis, the compensation paid to our named executive officers, as disclosed in the proxy statement (&quot;say-on-pay&quot;).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>213261</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>216197</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>SEI INVESTMENTS COMPANY</issuerName>
    <cusip>784117103</cusip>
    <isin>US7841171033</isin>
    <meetingDate>05/28/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>211209</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>211209</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>SPS COMMERCE, INC.</issuerName>
    <cusip>78463M107</cusip>
    <isin>US78463M1071</isin>
    <meetingDate>05/13/2025</meetingDate>
    <voteDescription>Advisory approval of the compensation of the named executive officers of SPS Commerce, Inc.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>92466</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>92545</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>SPS COMMERCE, INC.</issuerName>
    <cusip>78463M107</cusip>
    <isin>US78463M1071</isin>
    <meetingDate>05/13/2025</meetingDate>
    <voteDescription>Advisory vote regarding the frequency of holding future say-on-pay votes.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>92466</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>1 YEAR</howVoted>
        <sharesVoted>92545</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>STAAR SURGICAL COMPANY</issuerName>
    <cusip>852312305</cusip>
    <isin>US8523123052</isin>
    <meetingDate>06/18/2025</meetingDate>
    <voteDescription>Non-binding advisory vote to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>575557</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>575557</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>TENABLE HOLDINGS, INC.</issuerName>
    <cusip>88025T102</cusip>
    <isin>US88025T1025</isin>
    <meetingDate>05/14/2025</meetingDate>
    <voteDescription>To approve, on a non-binding advisory basis, the compensation of the Company's named executive officers as disclosed in the proxy statement.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>438</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>438</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>THE DESCARTES SYSTEMS GROUP INC.</issuerName>
    <cusip>249906108</cusip>
    <isin>CA2499061083</isin>
    <meetingDate>06/12/2025</meetingDate>
    <voteDescription>Approval of the Say-on-Pay Resolution as set out under the heading &quot;Advisory Vote on Executive Compensation (Say-on-Pay Vote)&quot; of the Corporation's Management Information Circular dated April 30, 2025.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>2473</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>2473</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>TRADEWEB MARKETS INC.</issuerName>
    <cusip>892672106</cusip>
    <isin>US8926721064</isin>
    <meetingDate>05/20/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>83912</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>84032</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>TREX COMPANY, INC.</issuerName>
    <cusip>89531P105</cusip>
    <isin>US89531P1057</isin>
    <meetingDate>05/06/2025</meetingDate>
    <voteDescription>Non-binding advisory vote on executive compensation (&quot;say-on- pay&quot;)</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>155915</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>155915</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>TYLER TECHNOLOGIES, INC.</issuerName>
    <cusip>902252105</cusip>
    <isin>US9022521051</isin>
    <meetingDate>05/06/2025</meetingDate>
    <voteDescription>Advisory Approval of Our Executive Compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>1686</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>1688</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>VARONIS SYSTEMS, INC.</issuerName>
    <cusip>922280102</cusip>
    <isin>US9222801022</isin>
    <meetingDate>06/05/2025</meetingDate>
    <voteDescription>To approve, on a non-binding, advisory basis, the executive compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>634958</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>635133</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>VERICEL CORPORATION</issuerName>
    <cusip>92346J108</cusip>
    <isin>US92346J1088</isin>
    <meetingDate>04/30/2025</meetingDate>
    <voteDescription>To approve, on an advisory basis, the compensation of Vericel Corporation's named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>568</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>568</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>VERINT SYSTEMS INC.</issuerName>
    <cusip>92343X100</cusip>
    <isin>US92343X1000</isin>
    <meetingDate>07/10/2024</meetingDate>
    <voteDescription>Advisory vote to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>885683</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>885683</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>VERINT SYSTEMS INC.</issuerName>
    <cusip>92343X100</cusip>
    <isin>US92343X1000</isin>
    <meetingDate>06/19/2025</meetingDate>
    <voteDescription>Advisory vote to approve the compensation of our named executive officers.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>12550</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>12550</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>VSE CORPORATION</issuerName>
    <cusip>918284100</cusip>
    <isin>US9182841000</isin>
    <meetingDate>05/08/2025</meetingDate>
    <voteDescription>Approval, on a non-binding advisory basis, of VSE's named executive officer compensation.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>403</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>403</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>ZEBRA TECHNOLOGIES CORPORATION</issuerName>
    <cusip>989207105</cusip>
    <isin>US9892071054</isin>
    <meetingDate>05/08/2025</meetingDate>
    <voteDescription>Advisory vote to approve Named Executive Officers' compensation (&quot;Say-on-Pay&quot;).</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <voteSource>ISSUER</voteSource>
    <sharesVoted>900</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>3300</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
</proxyVoteTable>
