{"id":954404,"date":"2026-04-23T16:33:14","date_gmt":"2026-04-23T20:33:14","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/"},"modified":"2026-04-23T16:33:14","modified_gmt":"2026-04-23T20:33:14","slug":"appfolio-inc-announces-first-quarter-2026-financial-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/","title":{"rendered":"AppFolio, Inc. Announces First Quarter 2026 Financial Results"},"content":{"rendered":"<h2>\nStrong Revenue Growth and Margin Expansion Underscore an Impressive Start to 2026<br \/>\n<\/h2>\n<div class=\"mw_release\">\n<p align=\"justify\">SANTA BARBARA, Calif., April  23, 2026  (GLOBE NEWSWIRE) &#8212; AppFolio, Inc. (NASDAQ: APPF) (&#8220;AppFolio&#8221; or the &#8220;Company&#8221;), a technology leader powering the future of the real estate industry, today announced its financial results for the first quarter ended March 31, 2026.<\/p>\n<p align=\"justify\">&#8220;We are proud of our start to 2026 &#8211; our strategy is translating into strong financial outcomes and our momentum continues,&#8221; said Shane Trigg, President and CEO. &#8220;We are putting AI to work across every dimension of our business, accelerating performance for our customers while driving greater efficiency across our own operations. Our ability to expand both customer value and financial performance continues to grow.&#8221;<\/p>\n<p align=\"justify\">\n        <strong>Financial Highlights for First Quarter of 2026<\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">Revenue grew 20% year-over-year to $262 million.<\/li>\n<li style=\"text-align:justify\">Total units under management grew 8% year-over-year to 9.5 million.<\/li>\n<li style=\"text-align:justify\">GAAP operating income grew 50% to $51 million, or 19.4% of revenue, compared to $34 million, or 15.5% of revenue in Q1 2025.<\/li>\n<li style=\"text-align:justify\">Non-GAAP operating income grew 35% to $72 million, or 27.3% of revenue, compared to $53 million, or 24.3% of revenue in Q1 2025.<\/li>\n<li style=\"text-align:justify\">Net cash provided by operating activities was $34 million, or 13.1% of revenue, compared to $38 million, or 17.7% of revenue in Q1 2025.<\/li>\n<li style=\"text-align:justify\">Repurchased 703 thousand shares of the Company&#8217;s Class A common stock for $125 million.<\/li>\n<\/ul>\n<p align=\"justify\">\n        <strong>Financial Outlook<\/strong><br \/>\n        <br \/>Based on information available as of April\u00a023, 2026, AppFolio&#8217;s outlook for fiscal year 2026 follows:<\/p>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">Full year revenue range is increasing to $1.110 &#8211; $1.125 billion.<\/li>\n<li style=\"text-align:justify\">Full year non-GAAP operating margin range as a percentage of revenue is increasing to 26.0% &#8211; 28.0%.<\/li>\n<li style=\"text-align:justify\">Diluted weighted average shares outstanding are now expected to be approximately 36 million for the full year.<\/li>\n<\/ul>\n<p align=\"justify\">\n        <strong>Conference Call Infor<\/strong><br \/>\n        <strong>mation<\/strong><br \/>\n        <br \/>As previously announced, the Company will host a conference call today, April\u00a023, 2026, at 2:00 p.m. Pacific Time (PT), 5:00 p.m. Eastern Time (ET), to discuss the Company\u2019s first quarter financial results. A live webcast of the call will be available at: https:\/\/edge.media-server.com\/mmc\/p\/hja3su4g. To access the call by phone, please go to the following link: https:\/\/register-conf.media-server.com\/register\/BI3901a9bd63cb48c1a2cf4d7d4e1b8821, and you will be provided with dial-in details. A replay of the webcast will also be available for a limited time on AppFolio\u2019s Investor Relations website at https:\/\/ir.appfolioinc.com\/news-events\/events.<\/p>\n<p align=\"justify\">The Company also provides announcements regarding its financial results and other matters, including SEC filings, investor events, and press releases, on its Investor Relations website at https:\/\/ir.appfolioinc.com\/, as a means of disclosing material nonpublic information and for complying with AppFolio&#8217;s disclosure obligations under Regulation FD.<\/p>\n<p align=\"justify\">\n        <strong>About AppFolio<\/strong><br \/>\n        <br \/>AppFolio is a technology leader powering the future of the real estate industry. Our innovative platform and trusted partnership enable our customers to connect communities, increase operational efficiency, and grow their business. For more information about AppFolio, visit ir.appfolioinc.com.<\/p>\n<p align=\"justify\">Investor Relations Contact: <br \/>Lori Barker<br \/>ir@appfolio.com<\/p>\n<p align=\"justify\">\n        <strong>Use of Non-GAAP Financial Measures<\/strong><br \/>\n        <br \/>Reconciliations of current and historical non-GAAP financial measures to AppFolio\u2019s financial results as determined in accordance with GAAP are included at the end of this press release following the accompanying financial data. For a description of these non-GAAP financial measures, including the reasons management uses each measure, please see the section of the tables entitled \u201cStatement Regarding the Use of Non-GAAP Financial Measures.\u201d<\/p>\n<p align=\"justify\">AppFolio is unable, at this time, to provide GAAP equivalent guidance measures on a forward-looking basis for non-GAAP operating margin because certain items that impact this measure are uncertain, out of our control, or cannot be reasonably predicted, such as charges related to stock-based compensation expense. The effect of these excluded items may be significant.<\/p>\n<p align=\"justify\">\n        <strong>Forward-Looking Statements <\/strong><br \/>\n        <br \/>This press release contains \u201cforward-looking statements\u201d within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended, which statements are subject to considerable risks and uncertainties. Forward-looking statements include all statements that are not statements of historical fact contained in this press release, and can be identified by words such as \u201canticipates,\u201d \u201cbelieves,\u201d \u201ccould,\u201d \u201cestimates,\u201d \u201cexpects,\u201d \u201cintends,\u201d \u201cmay,\u201d \u201cplans,\u201d \u201cpotential,\u201d \u201cfuture,\u201d \u201cpredicts,\u201d \u201cprojects,\u201d \u201ctarget,\u201d \u201cseeks,\u201d \u201ccontemplates,\u201d \u201cshould,\u201d \u201cwill,\u201d \u201cwould\u201d or similar expressions and the negatives of those expressions. In particular, forward-looking statements contained in this press release relate to future operating results and financial position, including the Company&#8217;s fiscal year 2026 financial outlook, anticipated future expenses and investments, the Company&#8217;s business opportunities, the impact of the Company&#8217;s strategic actions and initiatives, the potential benefits and effect of AI and its impact on the Company\u2019s plans, objectives, expectations and capabilities.<\/p>\n<p align=\"justify\">Forward-looking statements represent AppFolio&#8217;s current beliefs and expectations based on information currently available and speak only as of the date the statement is made. Forward-looking statements are subject to numerous known and unknown risks, uncertainties and other factors that may cause the Company&#8217;s actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. The risks, uncertainties and other factors that may cause the Company&#8217;s actual results, performance or achievements to materially differ from those expressed or implied by these forward-looking statements include those risks, uncertainties and other factors described in the section entitled \u201cRisk Factors\u201d in the Company\u2019s Annual Report on Form 10-K for the fiscal year ended December 31, 2025, which was filed with the SEC on February 5, 2026, as such risk factors may be updated from time to time in our subsequent filings with the SEC, and the section entitled \u201cManagement\u2019s Discussion and Analysis of Financial Condition and Results of Operations\u201d in the Company\u2019s most recently filed Annual Report on Form 10-K or Quarterly Report on Form 10-Q, as well as in the Company&#8217;s other filings with the SEC. You should read this press release with the understanding that the Company&#8217;s actual future results may be materially different from the results expressed or implied by these forward-looking statements.<\/p>\n<p align=\"justify\">The Company undertakes no obligation to update any forward-looking statements made in this press release to reflect events or circumstances after the date of this press release or to reflect new information or the occurrence of unanticipated events, except as required by law.<\/p>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"7\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CONDENSED CONSOLIDATED BALANCE SHEETS<\/strong><br \/>\n            <br \/>\n            <strong>(UNAUDITED)<\/strong><br \/>\n            <br \/>(in thousands)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>March 31,<\/strong><br \/>\n            <br \/>\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>December 31,<\/strong><br \/>\n            <br \/>\n            <strong>2025<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Assets<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:74%;width:74%;min-width:74%;vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Cash and cash equivalents<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">147,412<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">106,967<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Investment securities\u2014current<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,241<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">144,256<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accounts receivable, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">43,966<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,873<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Prepaid expenses and other current assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">59,323<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">65,218<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">\n            <strong>Total current assets<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">254,942<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">353,314<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Property and equipment, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">22,449<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,228<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Operating lease right-of-use assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,364<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,924<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Capitalized software development costs, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,416<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,324<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Goodwill<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">96,410<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">96,410<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Intangible assets, net<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,269<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">38,826<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Deferred income taxes<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">50,795<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">58,823<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Long-term investments<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">77,668<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">77,033<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Other long-term assets<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,247<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14,085<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">\n            <strong>Total assets<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">580,560<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">688,967<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Liabilities and Stockholders\u2019 Equity<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Current liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,740<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,123<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accrued employee expenses<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">25,163<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">59,774<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Accrued expenses<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">21,436<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">20,829<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Other current liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">22,018<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">22,121<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">\n            <strong>Total current liabilities<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">72,357<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">106,847<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Operating lease liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,981<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">33,287<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Other liabilities<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,994<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,254<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">\n            <strong>Total liabilities<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">110,332<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">146,388<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stockholders\u2019 equity<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">470,228<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">542,579<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">\n            <strong>Total liabilities and stockholders\u2019 equity<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">580,560<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">688,967<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"6\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS<\/strong><br \/>\n            <br \/>\n            <strong>(UNAUDITED)<\/strong><br \/>\n            <br \/>(in thousands, except per share amounts)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"6\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"5\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong><br \/>\n            \n          <\/td>\n<td style=\"border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong><br \/>\n            \n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:75%;width:75%;min-width:75%;text-align: left;vertical-align: middle;vertical-align: bottom\">Revenue<sup>(1)<\/sup><\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">262,214<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">217,702<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Costs and operating expenses:<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Cost of revenue (exclusive of depreciation and amortization)<sup>(2)<\/sup><\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">94,975<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">79,498<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Sales and marketing<sup>(2)<\/sup><\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">37,501<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,057<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Research and product development<sup>(2)<\/sup><\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,629<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">43,758<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">General and administrative<sup>(2)<\/sup><\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">24,341<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,351<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Depreciation and amortization<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,020<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,255<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total costs and operating expenses<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">211,466<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">183,919<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Income from operations<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">50,748<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">33,783<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Other income, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">569<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">56<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Interest income, net<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,784<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,953<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Income before provision for income taxes<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">53,101<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,792<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Provision for income taxes<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">10,677<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,409<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Net income<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,424<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,383<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Net income per common share:<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.19<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.86<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.18<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.86<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Weighted average common shares outstanding<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,699<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,302<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,812<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,648<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"left\">\n        <sup>(1)<\/sup> The following table presents our revenue categories:<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"5\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong><br \/>\n            \n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong><br \/>\n            \n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:75%;width:75%;min-width:75%;text-align: left;vertical-align: middle;vertical-align: bottom\">Subscription Services<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">58,222<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,513<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Value Added Services<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">201,363<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">164,706<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Other<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,629<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,483<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Total revenue<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">262,214<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">217,702<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"left\">\n        <sup>(2)<\/sup> Includes stock-based compensation expense as follows:<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"5\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong><br \/>\n            \n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong><br \/>\n            \n          <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Costs and operating expenses:<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:75%;width:75%;min-width:75%;vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Cost of revenue (exclusive of depreciation and amortization)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,088<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,287<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Sales and marketing<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,340<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,848<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Research and product development<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">7,882<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,931<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">General and administrative<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,679<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,305<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Total stock-based compensation expense<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,989<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,371<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS<\/strong><br \/>\n            <br \/>\n            <strong>(UNAUDITED)<\/strong><br \/>\n            <br \/>(in thousands)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"8\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:75%;width:75%;min-width:75%;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Cash from operating activities<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Net income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,424<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,383<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Adjustments to reconcile net income to net cash provided by operating activities:<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Depreciation and amortization<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,020<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,255<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Amortization of operating lease right-of-use assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">560<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">501<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Amortization of costs capitalized to obtain revenue contracts, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,168<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,720<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred income taxes<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8,028<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,541<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Stock-based compensation, including as amortized<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,989<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,371<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(523<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(917<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Changes in operating assets and liabilities:<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Accounts receivable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(7,443<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,116<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Prepaid expenses and other assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,206<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,460<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(382<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,546<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Operating lease liabilities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,180<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,051<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Accrued expenses and other liabilities<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(25,157<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,226<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash provided by operating activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">34,298<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">38,465<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Cash from investing activities<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Purchases of available-for-sale investments<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(42,663<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(62,302<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Proceeds from sales of available-for-sale investments<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">140,154<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">102,718<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Proceeds from maturities of available-for-sale investments<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,360<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,150<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Purchases of property and equipment<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(231<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(230<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Capitalization of software development costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,304<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(636<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Cash paid in business acquisition, net of cash acquired<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(906<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash (used in) provided by investing activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">138,316<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">80,794<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Cash from financing activities<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Proceeds from stock option exercises and the issuance of common stock under the Employee Stock Purchase Plan<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">998<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Tax withholding for net share settlement<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,157<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(9,078<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Purchase of common stock<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(125,010<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(95,763<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash used in financing activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(132,169<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(104,830<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net increase in cash, cash equivalents and restricted cash<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">40,445<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14,429<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Cash, cash equivalents and restricted cash<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Beginning of period<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">107,217<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,754<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">End of period<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">147,662<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">57,183<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"10\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>RECONCILIATION FROM GAAP TO NON-GAAP RESULTS<\/strong><br \/>\n            <br \/>\n            <strong>(UNAUDITED)<\/strong><br \/>\n            <br \/>(in thousands, except per share data)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:73%;width:73%;min-width:73%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"7\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Costs and operating expenses:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP cost of revenue (exclusive of depreciation and amortization)<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">94,975<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">79,498<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,088<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,287<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP cost of revenue (exclusive of depreciation and amortization)<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">93,887<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">78,211<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP cost of revenue (exclusive of depreciation and amortization) as a percentage of revenue<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">37<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP cost of revenue (exclusive of depreciation and amortization) as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP sales and marketing<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">37,501<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,057<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,340<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,848<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP sales and marketing<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">34,161<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">28,209<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP sales and marketing as a percentage of revenue<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP sales and marketing as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">13<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">13<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP research and product development<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,629<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">43,758<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(7,882<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,931<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP research and product development<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">41,747<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,827<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP research and product development as a percentage of revenue<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">20<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP research and product development as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP general and administrative<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">24,341<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,351<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,679<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,305<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP general and administrative<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,662<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,046<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP general and administrative as a percentage of revenue<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP general and administrative as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">7<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP depreciation and amortization<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,020<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,255<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of stock-based compensation capitalized in software development costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of purchased intangibles<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,558<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,558<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP depreciation and amortization<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,221<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,456<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP depreciation and amortization as a percentage of revenue<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP depreciation and amortization as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table align=\"center\" style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:73%;width:73%;min-width:73%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2026<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Income from operations:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP income from operations<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">50,748<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">33,783<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,989<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,371<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of stock-based compensation capitalized in software development costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of purchased intangibles<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,558<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,558<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP income from operations<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">71,536<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">52,953<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Operating margin:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP operating margin<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19.4<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15.5<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6.8<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">7.5<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of stock-based compensation capitalized in software development costs as a percentage of revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.1<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.1<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of purchased intangibles as a percentage of revenue<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.2<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP operating margin<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">27.3<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">24.3<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Net income (loss):<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP net income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,424<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,383<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,989<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,371<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of stock-based compensation capitalized in software development costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Amortization of purchased intangibles<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,558<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,558<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Income tax effect of adjustments<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,579<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,343<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP net income<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">57,633<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">44,210<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Net income per share, basic:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP net income per share, basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.19<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.86<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP adjustments to net income<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.42<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.36<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP net income per share, basic<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.61<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.22<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">\n            <strong>Net income per share, diluted:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">GAAP net income per share, diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.18<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.86<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP adjustments to net income<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.43<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.35<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Non-GAAP net income per share, diluted<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.61<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1.21<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"2\" style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Weighted-average shares used in GAAP and non-GAAP per share calculation<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,699<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,302<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: left;vertical-align: middle;vertical-align: bottom\">Diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,812<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,648<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        <strong>Statement Regarding the Use of Non-GAAP Financial Measures<\/strong>\n      <\/p>\n<p align=\"justify\">We use the following non-GAAP financial measures in addition to, and not as a substitute for, or superior to, financial measures calculated in accordance with GAAP.<\/p>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">\n          <em>Non-GAAP presentation of income from operations, costs and operating expenses, operating margin, net income, and net income per share.<\/em> These measures exclude certain non-cash or non-recurring items, including stock-based compensation expense, amortization of stock-based compensation capitalized in software development costs<em>, <\/em>amortization of purchased intangibles, and the related income tax effect of these adjustments, as applicable and described below. Non-GAAP operating margin is calculated as non-GAAP operating income from operations as a percentage of revenue.<\/li>\n<\/ul>\n<p align=\"justify\">We use each of these non-GAAP financial measures internally to assess and compare operating results across reporting periods, for internal budgeting and forecasting purposes, and to evaluate our financial performance. We believe these non-GAAP financial measures also provide useful supplemental information to investors and facilitate the analysis of our operating results and comparison of operating results across reporting periods.<\/p>\n<p align=\"justify\">In particular, we believe these non-GAAP financial measures are useful to investors and others in assessing our operating performance due to the following factors:<\/p>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">\n          <em>Stock-based compensation expense and amortization of stock-based compensation capitalized in software development costs.<\/em> We utilize stock-based compensation to attract and retain employees. It is principally aimed at aligning their interests with those of our stockholders while ensuring long-term retention, rather than to address operational performance for any particular period. As a result, stock-based compensation expenses vary for reasons that are generally unrelated to financial and operational performance in any particular period.<\/li>\n<\/ul>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">\n          <em>Amortization of purchased intangibles.<\/em> We view amortization of purchased intangible assets as items arising from pre-acquisition activities determined at the time of an acquisition. While these intangible assets are evaluated for impairment regularly, amortization of the cost of purchased intangibles is an expense that is not typically affected by operations during any particular period.<\/li>\n<\/ul>\n<ul type=\"disc\">\n<li style=\"text-align:justify\">\n          <em>Income tax effects of adjustments<\/em>. We utilize a fixed long-term projected tax rate in our computation of non-GAAP income tax effects to provide better consistency across interim reporting periods. In projecting this long-term non-GAAP tax rate, we utilize a financial projection that excludes the direct impact of other non-GAAP adjustments. The projected rate, which we have determined to be 22% and 21% for 2026 and 2025, respectively, considers other factors such as our current operating structure, existing tax positions in various jurisdictions, and key legislation in major jurisdictions where we operate. We periodically re-evaluate this tax rate, as necessary, for significant events, based on relevant tax law changes, and material changes in the forecasted geographic earnings mix.<\/li>\n<\/ul>\n<p align=\"justify\">Our non-GAAP financial measures may not provide information that is directly comparable to that provided by other companies in our industry, as other companies may calculate non-GAAP financial results differently. In addition, there are limitations in using non-GAAP financial measures because non-GAAP financial measures are not prepared in accordance with GAAP and can exclude expenses that may have a material impact on our reported financial results. As such, non-GAAP financial measures should not be considered in isolation from, or as a substitute for, financial information prepared in accordance with GAAP. A reconciliation of the historical non-GAAP financial measures to their most directly comparable GAAP measures has been provided in the tables above. We encourage investors to review the reconciliation of these historical non-GAAP financial measures to their most directly comparable GAAP financial measures.<\/p>\n<p>      <img decoding=\"async\" alt=\"\" class=\"__GNW8366DE3E__IMG\" src=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=\" \/><br \/>\n      <br \/>\n      <img decoding=\"async\" alt=\"\" src=\"https:\/\/ml.globenewswire.com\/media\/ODFhMDJlMGQtMGMwZC00YmUzLWEzZGMtNWRhOGFlYTc5NDc5LTEwMzAyOTUtMjAyNi0wNC0yMy1lbg==\/tiny\/AppFolio-Inc-.png\" \/>\n    <\/div>\n<div class=\"mw_contactinfo\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Strong Revenue Growth and Margin Expansion Underscore an Impressive Start to 2026 SANTA BARBARA, Calif., April 23, 2026 (GLOBE NEWSWIRE) &#8212; AppFolio, Inc. (NASDAQ: APPF) (&#8220;AppFolio&#8221; or the &#8220;Company&#8221;), a technology leader powering the future of the real estate industry, today announced its financial results for the first quarter ended March 31, 2026. &#8220;We are proud of our start to 2026 &#8211; our strategy is translating into strong financial outcomes and our momentum continues,&#8221; said Shane Trigg, President and CEO. &#8220;We are putting AI to work across every dimension of our business, accelerating performance for our customers while driving greater efficiency across our own operations. Our ability to expand both customer value and financial performance continues to grow.&#8221; Financial Highlights &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;AppFolio, Inc. Announces First Quarter 2026 Financial Results&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-954404","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AppFolio, Inc. Announces First Quarter 2026 Financial Results - Market Newsdesk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AppFolio, Inc. Announces First Quarter 2026 Financial Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"Strong Revenue Growth and Margin Expansion Underscore an Impressive Start to 2026 SANTA BARBARA, Calif., April 23, 2026 (GLOBE NEWSWIRE) &#8212; AppFolio, Inc. (NASDAQ: APPF) (&#8220;AppFolio&#8221; or the &#8220;Company&#8221;), a technology leader powering the future of the real estate industry, today announced its financial results for the first quarter ended March 31, 2026. &#8220;We are proud of our start to 2026 &#8211; our strategy is translating into strong financial outcomes and our momentum continues,&#8221; said Shane Trigg, President and CEO. &#8220;We are putting AI to work across every dimension of our business, accelerating performance for our customers while driving greater efficiency across our own operations. Our ability to expand both customer value and financial performance continues to grow.&#8221; Financial Highlights &hellip; Continue reading &quot;AppFolio, Inc. Announces First Quarter 2026 Financial Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-23T20:33:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"AppFolio, Inc. Announces First Quarter 2026 Financial Results\",\"datePublished\":\"2026-04-23T20:33:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/\"},\"wordCount\":2355,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/\",\"name\":\"AppFolio, Inc. Announces First Quarter 2026 Financial Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=\",\"datePublished\":\"2026-04-23T20:33:14+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=\",\"contentUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/appfolio-inc-announces-first-quarter-2026-financial-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AppFolio, Inc. Announces First Quarter 2026 Financial Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\",\"name\":\"Market Newsdesk\",\"description\":\"Latest Business News in Real Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\",\"name\":\"Newsdesk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"caption\":\"Newsdesk\"},\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/author\\\/newsdesk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AppFolio, Inc. Announces First Quarter 2026 Financial Results - Market Newsdesk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/","og_locale":"en_US","og_type":"article","og_title":"AppFolio, Inc. Announces First Quarter 2026 Financial Results - Market Newsdesk","og_description":"Strong Revenue Growth and Margin Expansion Underscore an Impressive Start to 2026 SANTA BARBARA, Calif., April 23, 2026 (GLOBE NEWSWIRE) &#8212; AppFolio, Inc. (NASDAQ: APPF) (&#8220;AppFolio&#8221; or the &#8220;Company&#8221;), a technology leader powering the future of the real estate industry, today announced its financial results for the first quarter ended March 31, 2026. &#8220;We are proud of our start to 2026 &#8211; our strategy is translating into strong financial outcomes and our momentum continues,&#8221; said Shane Trigg, President and CEO. &#8220;We are putting AI to work across every dimension of our business, accelerating performance for our customers while driving greater efficiency across our own operations. Our ability to expand both customer value and financial performance continues to grow.&#8221; Financial Highlights &hellip; Continue reading \"AppFolio, Inc. Announces First Quarter 2026 Financial Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/","og_site_name":"Market Newsdesk","article_published_time":"2026-04-23T20:33:14+00:00","og_image":[{"url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"AppFolio, Inc. Announces First Quarter 2026 Financial Results","datePublished":"2026-04-23T20:33:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/"},"wordCount":2355,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/","name":"AppFolio, Inc. Announces First Quarter 2026 Financial Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=","datePublished":"2026-04-23T20:33:14+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#primaryimage","url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI=","contentUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTY5NjA2MiM3NTUxNDg1IzIwMTg3MjI="},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/appfolio-inc-announces-first-quarter-2026-financial-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"AppFolio, Inc. Announces First Quarter 2026 Financial Results"}]},{"@type":"WebSite","@id":"https:\/\/www.marketnewsdesk.com\/#website","url":"https:\/\/www.marketnewsdesk.com\/","name":"Market Newsdesk","description":"Latest Business News in Real Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marketnewsdesk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979","name":"Newsdesk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","caption":"Newsdesk"},"url":"https:\/\/www.marketnewsdesk.com\/index.php\/author\/newsdesk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/954404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/comments?post=954404"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/954404\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=954404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=954404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=954404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}