0000950170-24-052198.txt : 20240502 0000950170-24-052198.hdr.sgml : 20240502 20240502163044 ACCESSION NUMBER: 0000950170-24-052198 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 75 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240502 DATE AS OF CHANGE: 20240502 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Altair Engineering Inc. CENTRAL INDEX KEY: 0001701732 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] ORGANIZATION NAME: 06 Technology IRS NUMBER: 382591828 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38263 FILM NUMBER: 24908960 BUSINESS ADDRESS: STREET 1: 1820 E. BIG BEAVER ROAD CITY: TROY STATE: MI ZIP: 48083 BUSINESS PHONE: 248-614-2400 MAIL ADDRESS: STREET 1: 1820 E. BIG BEAVER ROAD CITY: TROY STATE: MI ZIP: 48083 FORMER COMPANY: FORMER CONFORMED NAME: Altair Engineering Ing. DATE OF NAME CHANGE: 20170322 10-Q 1 altr-20240331.htm 10-Q 10-Q
Q1false0001701732--12-310001701732altr:AccountsReceivableNetCurrentMember2024-03-310001701732us-gaap:RestrictedStockUnitsRSUMemberaltr:TwoThousandAndSeventeenEquityIncentivePlanMember2023-12-310001701732altr:TwentyNineteenCreditAgreementMember2024-03-310001701732srt:MaximumMemberus-gaap:CommonClassAMemberaltr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember2024-03-310001701732us-gaap:CommonClassBMemberus-gaap:CommonStockMember2024-01-012024-03-310001701732us-gaap:BuildingAndBuildingImprovementsMember2023-12-310001701732altr:SoftwareRelatedServicesMember2023-01-012023-03-310001701732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001701732us-gaap:OtherIntangibleAssetsMember2023-12-310001701732srt:MaximumMemberus-gaap:CustomerRelationshipsMember2024-01-012024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourAndTwoThousandTwentySevenMember2024-01-012024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember2024-01-012024-03-310001701732us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2023-12-310001701732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2024-01-012024-03-310001701732altr:ClientEngineeringServicesSegmentMember2024-01-012024-03-310001701732us-gaap:RetainedEarningsMember2024-01-012024-03-310001701732altr:ConvertibleSharesMember2023-01-012023-03-310001701732us-gaap:RetainedEarningsMember2023-12-310001701732altr:ComputerEquipmentAndSoftwareMember2024-03-310001701732us-gaap:CostOfSalesMember2023-01-012023-03-310001701732us-gaap:CommonClassBMember2024-03-310001701732altr:WorldProgrammingMember2023-01-012023-03-310001701732altr:TwoThousandAndSeventeenEquityIncentivePlanMember2023-12-310001701732us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-12-310001701732us-gaap:MaintenanceMember2024-01-012024-03-310001701732us-gaap:LeaseholdImprovementsMember2023-12-3100017017322024-01-012024-03-310001701732us-gaap:BuildingAndBuildingImprovementsMember2024-03-310001701732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001701732us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001701732us-gaap:RestrictedStockUnitsRSUMemberaltr:TwoThousandAndSeventeenEquityIncentivePlanMember2024-03-310001701732altr:ProfessionalSoftwareServicesMember2023-01-012023-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2019-06-3000017017322022-12-310001701732altr:TwoThousandTwentyOneAcquisitionsMember2024-01-012024-03-310001701732altr:OtherProductAndServiceMember2024-01-012024-03-310001701732us-gaap:TradeNamesMember2023-12-310001701732altr:ClientEngineeringServicesSegmentMember2023-01-012023-03-310001701732us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-03-310001701732altr:TermLicensesAndOtherSoftwareProductsMember2023-01-012023-03-310001701732us-gaap:AllOtherSegmentsMember2024-01-012024-03-310001701732us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2024-01-012024-03-310001701732us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001701732altr:ClientEngineeringServicesMember2024-01-012024-03-310001701732srt:MaximumMemberus-gaap:OtherIntangibleAssetsMember2024-01-012024-03-310001701732altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMemberus-gaap:CommonStockMember2024-01-012024-03-310001701732us-gaap:AllOtherSegmentsMember2023-01-012023-03-310001701732srt:MaximumMemberus-gaap:DevelopedTechnologyRightsMember2023-01-012023-12-310001701732us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-01-012023-03-310001701732altr:TwoThousandAndSeventeenEquityIncentivePlanMember2024-03-310001701732srt:MinimumMemberus-gaap:DevelopedTechnologyRightsMember2023-01-012023-12-310001701732us-gaap:LandMember2023-12-3100017017322024-04-012024-03-310001701732altr:SecuredCreditAgreementMember2024-03-310001701732us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-12-310001701732us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001701732srt:MinimumMemberus-gaap:CustomerRelationshipsMember2024-01-012024-03-310001701732srt:MaximumMemberus-gaap:CustomerRelationshipsMember2023-01-012023-12-310001701732us-gaap:CommonClassBMember2023-12-310001701732us-gaap:CommonClassAMember2024-04-170001701732us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-03-310001701732us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310001701732altr:PerpetualLicensesMember2024-01-012024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2023-12-310001701732us-gaap:CustomerRelationshipsMember2023-12-310001701732altr:TwoThousandAndSeventeenEquityIncentivePlanMember2024-01-012024-03-310001701732us-gaap:AccumulatedTranslationAdjustmentMember2024-01-012024-03-310001701732altr:TwoThousandAndSeventeenEquityIncentivePlanMemberus-gaap:CommonStockMember2024-03-310001701732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001701732srt:MaximumMemberus-gaap:DevelopedTechnologyRightsMember2024-01-012024-03-310001701732us-gaap:SellingAndMarketingExpenseMember2024-01-012024-03-310001701732altr:TwoThousandAndSeventeenEquityIncentivePlanMember2023-01-012023-12-310001701732us-gaap:AdditionalPaidInCapitalMember2023-03-310001701732us-gaap:LicenseMember2024-01-012024-03-310001701732us-gaap:CommonClassAMemberaltr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2019-06-012019-06-300001701732altr:TheTimingOfPayrollDeductionsMemberaltr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember2023-01-012023-12-310001701732us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-03-310001701732altr:SoftwareSegmentMember2023-01-012023-03-310001701732altr:TotalSoftwareMember2024-01-012024-03-310001701732us-gaap:OtherIntangibleAssetsMember2024-03-310001701732us-gaap:CommonClassAMember2024-03-310001701732us-gaap:RetainedEarningsMember2023-01-012023-03-3100017017322023-01-012023-03-310001701732us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-01-012023-03-310001701732us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-12-310001701732us-gaap:CommonClassBMember2024-04-170001701732us-gaap:RestrictedStockUnitsRSUMemberaltr:TwoThousandAndSeventeenEquityIncentivePlanMember2024-01-012024-03-310001701732altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember2023-01-012023-12-310001701732us-gaap:RetainedEarningsMember2023-03-310001701732altr:TheTimingOfPayrollDeductionsMemberaltr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember2024-01-012024-03-310001701732us-gaap:OtherIntangibleAssetsMembersrt:MinimumMember2023-01-012023-12-310001701732altr:ProfessionalSoftwareServicesMember2024-01-012024-03-310001701732us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2024-03-3100017017322024-03-310001701732altr:EngineeringServicesAndOtherMember2024-01-012024-03-310001701732srt:MinimumMemberus-gaap:CustomerRelationshipsMember2023-01-012023-12-310001701732us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001701732us-gaap:AdditionalPaidInCapitalMember2024-03-310001701732us-gaap:DevelopedTechnologyRightsMember2024-03-310001701732us-gaap:SellingAndMarketingExpenseMember2023-01-012023-12-310001701732altr:ConvertibleSharesMember2024-01-012024-03-310001701732us-gaap:CustomerRelationshipsMember2024-03-3100017017322023-03-310001701732altr:MaintenanceAndOtherServicesMember2024-01-012024-03-310001701732us-gaap:RetainedEarningsMember2022-12-310001701732us-gaap:SellingAndMarketingExpenseMember2023-01-012023-03-310001701732us-gaap:OtherNoncurrentAssetsMember2023-12-310001701732us-gaap:LeaseholdImprovementsMember2024-03-3100017017322023-12-310001701732srt:MaximumMemberus-gaap:OtherIntangibleAssetsMember2023-01-012023-12-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember2022-06-012022-06-300001701732us-gaap:RetainedEarningsMember2024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember2023-12-310001701732us-gaap:AccumulatedTranslationAdjustmentMember2023-12-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2019-06-012019-06-300001701732us-gaap:CommonClassBMemberus-gaap:CommonStockMember2024-03-310001701732altr:OtherProductAndServiceMember2023-01-012023-03-310001701732us-gaap:CommonClassAMemberaltr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2019-06-300001701732altr:EmployeeStockOptionAndEmployeeStockPurchasePlanMember2024-01-012024-03-310001701732altr:TwentyNineteenCreditAgreementMember2024-01-012024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember2024-03-310001701732altr:MaintenanceAndOtherServicesMember2023-01-012023-03-310001701732us-gaap:CommonClassAMemberus-gaap:CommonStockMember2024-03-310001701732us-gaap:CommonClassAMember2023-12-310001701732altr:ClientEngineeringServicesMember2023-01-012023-03-310001701732us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-03-310001701732us-gaap:LandMember2024-03-310001701732altr:FurnitureEquipmentAndOtherMember2024-03-310001701732altr:TermLicensesAndOtherSoftwareProductsMember2024-01-012024-03-310001701732us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember2024-03-310001701732srt:MaximumMemberaltr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMemberus-gaap:CommonStockMember2024-03-310001701732us-gaap:CommonClassAMemberaltr:TwoThousandAndSeventeenEquityIncentivePlanMember2017-09-270001701732us-gaap:AdditionalPaidInCapitalMember2023-12-310001701732altr:TotalSoftwareMember2023-01-012023-03-310001701732us-gaap:MaintenanceMember2023-01-012023-03-310001701732altr:SoftwareSegmentMember2024-01-012024-03-310001701732us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-12-310001701732altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember2024-01-012024-03-310001701732us-gaap:DevelopedTechnologyRightsMember2023-12-310001701732us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2023-12-310001701732altr:AccountsReceivableNetCurrentMember2023-12-310001701732us-gaap:LicenseMember2023-01-012023-03-310001701732altr:PerpetualLicensesMember2023-01-012023-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMemberus-gaap:CommonClassAMember2024-03-310001701732altr:EngineeringServicesAndOtherMember2023-01-012023-03-310001701732us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2024-03-310001701732us-gaap:AdditionalPaidInCapitalMember2022-12-310001701732us-gaap:AccumulatedTranslationAdjustmentMember2024-03-310001701732altr:SoftwareRelatedServicesMember2024-01-012024-03-310001701732us-gaap:CommonClassAMemberus-gaap:CommonStockMember2024-01-012024-03-310001701732us-gaap:CostOfSalesMember2024-01-012024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember2022-06-300001701732altr:EmployeeStockOptionAndEmployeeStockPurchasePlanMember2023-01-012023-03-310001701732us-gaap:OtherIntangibleAssetsMembersrt:MinimumMember2024-01-012024-03-310001701732us-gaap:TradeNamesMember2024-03-310001701732altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourAndTwoThousandTwentySevenMember2023-01-012023-03-310001701732srt:MinimumMemberus-gaap:DevelopedTechnologyRightsMember2024-01-012024-03-310001701732altr:FurnitureEquipmentAndOtherMember2023-12-310001701732altr:ComputerEquipmentAndSoftwareMember2023-12-310001701732us-gaap:OtherNoncurrentAssetsMember2024-03-31altr:Segmentxbrli:pureiso4217:USDxbrli:sharesxbrli:sharesaltr:Installmentiso4217:USD

 

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the quarterly period ended March 31, 2024

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from to

Commission File Number: 001-38263

ALTAIR ENGINEERING INC.

(Exact name of registrant as specified in its charter)

Delaware

38-2591828

(State or other jurisdiction of incorporation or organization)

(I.R.S. Employer Identification No.)

 

 

1820 East Big Beaver Road, Troy, Michigan

48083

(Address of principal executive offices)

(Zip Code)

(248) 614-2400

(Registrant’s telephone number, including area code)

 

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

Trading Symbol

Name of each exchange on which registered

Class A Common Stock $0.0001 par value per share

ALTR

The NASDAQ Global Select Market

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes No

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes No

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer

 

Accelerated filer

Non-accelerated filer

 

 

Smaller reporting company

 

 

 

 

Emerging growth company

 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to section 13(a) of the Exchange Act

 

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

Indicate the number of shares outstanding of each of the issuer’s classes of common stock, as of the latest practicable date.

On April 17, 2024, there were 56,948,286 shares of the registrant’s Class A common stock outstanding and 26,084,574 shares of the registrant’s Class B common stock outstanding.

 

 


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

FORM 10-Q

FOR THE QUARTER ENDED MARCH 31, 2024

INDEX

Page

PART I.

FINANCIAL INFORMATION

Item 1.

Financial Statements – Unaudited

3

 

a)

Consolidated Balance Sheets

3

 

b)

Consolidated Statements of Operations

4

 

c)

Consolidated Statements of Comprehensive Income

5

 

d)

Consolidated Statements of Changes in Stockholders’ Equity

6

 

e)

Consolidated Statements of Cash Flows

8

 

f)

Notes to Consolidated Financial Statements

9

 

Item 2.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

20

 

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

30

 

Item 4.

Controls and Procedures

31

 

PART II.

OTHER INFORMATION

 

 

Item 1.

Legal Proceedings

32

 

Item 1A.

Risk Factors

32

 

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

32

 

Item 3.

Defaults Upon Senior Securities

32

 

Item 4.

Mine Safety Disclosures

32

 

Item 5.

Other Information

32

 

Item 6.

Exhibits

33

 

SIGNATURES

34

 

 


 

PART I – FINANCIAL INFORMATION

Item 1. Financial Statements

 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

CONSOLIDATED BALANCE SHEETS

 

 

 

March 31, 2024

 

 

December 31, 2023

 

(In thousands)

 

(Unaudited)

 

 

 

 

ASSETS

 

 

 

 

 

 

CURRENT ASSETS:

 

 

 

 

 

 

Cash and cash equivalents

 

$

557,605

 

 

$

467,459

 

Accounts receivable, net

 

 

127,870

 

 

 

190,461

 

Income tax receivable

 

 

18,898

 

 

 

16,650

 

Prepaid expenses and other current assets

 

 

26,026

 

 

 

26,053

 

Total current assets

 

 

730,399

 

 

 

700,623

 

Property and equipment, net

 

 

38,837

 

 

 

39,803

 

Operating lease right of use assets

 

 

30,175

 

 

 

30,759

 

Goodwill

 

 

454,953

 

 

 

458,125

 

Other intangible assets, net

 

 

75,357

 

 

 

83,550

 

Deferred tax assets

 

 

9,699

 

 

 

9,955

 

Other long-term assets

 

 

40,491

 

 

 

40,678

 

TOTAL ASSETS

 

$

1,379,911

 

 

$

1,363,493

 

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

CURRENT LIABILITIES:

 

 

 

 

 

 

Accounts payable

 

$

6,522

 

 

$

8,995

 

Accrued compensation and benefits

 

 

35,911

 

 

 

45,081

 

Current portion of operating lease liabilities

 

 

8,330

 

 

 

8,825

 

Other accrued expenses and current liabilities

 

 

43,820

 

 

 

48,398

 

Deferred revenue

 

 

120,554

 

 

 

131,356

 

Current portion of convertible senior notes, net

 

 

81,617

 

 

 

81,455

 

Total current liabilities

 

 

296,754

 

 

 

324,110

 

Convertible senior notes, net

 

 

226,223

 

 

 

225,929

 

Operating lease liabilities, net of current portion

 

 

22,508

 

 

 

22,625

 

Deferred revenue, non-current

 

 

24,385

 

 

 

32,347

 

Other long-term liabilities

 

 

47,113

 

 

 

47,151

 

TOTAL LIABILITIES

 

 

616,983

 

 

 

652,162

 

Commitments and contingencies

 

 

 

 

 

 

STOCKHOLDERS’ EQUITY:

 

 

 

 

 

 

Preferred stock ($0.0001 par value), authorized 45,000 shares, none issued and outstanding

 

 

 

 

 

 

Common stock ($0.0001 par value)

 

 

 

 

 

 

Class A common stock, authorized 513,797 shares, issued and outstanding 56,912
   and
55,240 shares as of March 31, 2024, and December 31, 2023, respectively

 

 

5

 

 

 

5

 

Class B common stock, authorized 41,203 shares, issued and outstanding 26,084
   and
26,814 shares as of March 31, 2024, and December 31, 2023, respectively

 

 

3

 

 

 

3

 

Additional paid-in capital

 

 

904,180

 

 

 

864,135

 

Accumulated deficit

 

 

(113,956

)

 

 

(130,503

)

Accumulated other comprehensive loss

 

 

(27,304

)

 

 

(22,309

)

TOTAL STOCKHOLDERS’ EQUITY

 

 

762,928

 

 

 

711,331

 

TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY

 

$

1,379,911

 

 

$

1,363,493

 

 

See accompanying notes to consolidated financial statements.

3


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF OPERATIONS

(Unaudited)

 

 

 

Three Months Ended
March 31,

 

(in thousands, except per share data)

 

2024

 

 

2023

 

Revenue

 

 

 

 

 

 

License

 

$

117,707

 

 

$

112,409

 

Maintenance and other services

 

 

40,722

 

 

 

37,234

 

Total software

 

 

158,429

 

 

 

149,643

 

Engineering services and other

 

 

14,483

 

 

 

16,391

 

Total revenue

 

 

172,912

 

 

 

166,034

 

Cost of revenue

 

 

 

 

 

 

License

 

 

4,490

 

 

 

4,824

 

Maintenance and other services

 

 

14,166

 

 

 

14,426

 

Total software

 

 

18,656

 

 

 

19,250

 

Engineering services and other

 

 

12,237

 

 

 

13,485

 

Total cost of revenue

 

 

30,893

 

 

 

32,735

 

Gross profit

 

 

142,019

 

 

 

133,299

 

Operating expenses:

 

 

 

 

 

 

Research and development

 

 

52,333

 

 

 

53,251

 

Sales and marketing

 

 

44,434

 

 

 

43,492

 

General and administrative

 

 

17,761

 

 

 

17,951

 

Amortization of intangible assets

 

 

7,438

 

 

 

7,814

 

Other operating (income) expense, net

 

 

(882

)

 

 

5,605

 

Total operating expenses

 

 

121,084

 

 

 

128,113

 

Operating income

 

 

20,935

 

 

 

5,186

 

Interest expense

 

 

1,576

 

 

 

1,526

 

Other income, net

 

 

(3,957

)

 

 

(3,613

)

Income before income taxes

 

 

23,316

 

 

 

7,273

 

Income tax expense

 

 

6,769

 

 

 

9,232

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Income (loss) per share:

 

 

 

 

 

 

Net income (loss) per share attributable to common
  stockholders, basic

 

$

0.20

 

 

$

(0.02

)

Net income (loss) per share attributable to common
  stockholders, diluted

 

$

0.20

 

 

$

(0.02

)

Weighted average shares outstanding:

 

 

 

 

 

 

Weighted average number of shares used in computing
  net income (loss) per share, basic

 

 

82,587

 

 

 

80,191

 

Weighted average number of shares used in computing
  net income (loss) per share, diluted

 

 

89,806

 

 

 

80,191

 

 

See accompanying notes to consolidated financial statements.

4


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(Unaudited)

 

 

 

Three Months Ended
March 31,

 

(in thousands)

 

2024

 

 

2023

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Other comprehensive (loss) income, net of tax:

 

 

 

 

 

 

Foreign currency translation (net of tax effect of $0 for
   all periods)

 

 

(5,029

)

 

 

7,232

 

Retirement related benefit plans (net of tax effect of $0 for
   all periods)

 

 

34

 

 

 

19

 

Total other comprehensive (loss) income

 

 

(4,995

)

 

 

7,251

 

Comprehensive income

 

$

11,552

 

 

$

5,292

 

 

See accompanying notes to consolidated financial statements.

 

 

 

5


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY

(Unaudited)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accumulated

 

 

 

 

 

 

Common stock

 

 

Additional

 

 

 

 

 

other

 

 

Total

 

 

 

Class A

 

 

Class B

 

 

paid-in

 

 

Accumulated

 

 

comprehensive

 

 

stockholders’

 

(in thousands)

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

capital

 

 

deficit

 

 

loss

 

 

equity

 

Balance as of December 31, 2023

 

 

55,240

 

 

$

5

 

 

 

26,814

 

 

$

3

 

 

$

864,135

 

 

$

(130,503

)

 

$

(22,309

)

 

$

711,331

 

Net income

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16,547

 

 

 

 

 

 

16,547

 

Issuance of common stock for acquisitions

 

 

35

 

 

 

 

 

 

 

 

 

 

 

 

75

 

 

 

 

 

 

 

 

 

75

 

Issuance of common stock for employee stock
   purchase program

 

 

64

 

 

 

 

 

 

 

 

 

 

 

 

4,127

 

 

 

 

 

 

 

 

 

4,127

 

Exercise of stock options

 

 

540

 

 

 

 

 

 

 

 

 

 

 

 

19,844

 

 

 

 

 

 

 

 

 

19,844

 

Vesting of restricted stock

 

 

303

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conversion of Class B to Class A common stock

 

 

730

 

 

 

 

 

 

(730

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15,999

 

 

 

 

 

 

 

 

 

15,999

 

Foreign currency translation, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(5,029

)

 

 

(5,029

)

Retirement related benefit plans, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34

 

 

 

34

 

Balance as of March 31, 2024

 

 

56,912

 

 

$

5

 

 

 

26,084

 

 

$

3

 

 

$

904,180

 

 

$

(113,956

)

 

$

(27,304

)

 

$

762,928

 

 

See accompanying notes to consolidated financial statements.

 

6


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY

(Unaudited)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accumulated

 

 

 

 

 

 

Common stock

 

 

Additional

 

 

 

 

 

other

 

 

Total

 

 

 

Class A

 

 

Class B

 

 

paid-in

 

 

Accumulated

 

 

comprehensive

 

 

stockholders’

 

(in thousands)

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

capital

 

 

deficit

 

 

loss

 

 

equity

 

Balance as of December 31, 2022

 

 

52,277

 

 

$

5

 

 

 

27,745

 

 

$

3

 

 

$

721,307

 

 

$

(121,577

)

 

$

(30,002

)

 

$

569,736

 

Net loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1,959

)

 

 

 

 

 

(1,959

)

Issuance of common stock for acquisitions

 

 

34

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Repurchase and retirement of common stock

 

 

(91

)

 

 

 

 

 

 

 

 

 

 

 

(4,256

)

 

 

 

 

 

 

 

 

(4,256

)

Issuance of common stock for employee stock
   purchase program

 

 

92

 

 

 

 

 

 

 

 

 

 

 

 

3,648

 

 

 

 

 

 

 

 

 

3,648

 

Exercise of stock options

 

 

265

 

 

 

 

 

 

 

 

 

 

 

 

10,324

 

 

 

 

 

 

 

 

 

10,324

 

Vesting of restricted stock

 

 

336

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conversion of Class B to Class A common stock

 

 

240

 

 

 

 

 

 

(240

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22,161

 

 

 

 

 

 

 

 

 

22,161

 

Foreign currency translation, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7,232

 

 

 

7,232

 

Retirement related benefit plans, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

 

 

 

19

 

Balance as of March 31, 2023

 

 

53,153

 

 

$

5

 

 

 

27,505

 

 

$

3

 

 

$

753,184

 

 

$

(123,536

)

 

$

(22,751

)

 

$

606,905

 

 

See accompanying notes to consolidated financial statements.

7


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF CASH FLOWS

(Unaudited)

 

 

 

Three Months Ended
March 31,

 

(In thousands)

 

2024

 

 

2023

 

OPERATING ACTIVITIES:

 

 

 

 

 

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Adjustments to reconcile net income (loss) to net cash provided by operating activities:

 

 

 

 

 

 

Depreciation and amortization

 

 

9,619

 

 

 

9,750

 

Stock-based compensation expense

 

 

15,999

 

 

 

22,161

 

Loss on mark-to-market adjustment of contingent consideration

 

 

145

 

 

 

7,006

 

Other, net

 

 

580

 

 

 

640

 

Changes in assets and liabilities:

 

 

 

 

 

 

Accounts receivable, net

 

 

60,245

 

 

 

39,872

 

Prepaid expenses and other current assets

 

 

(2,679

)

 

 

1,981

 

Other long-term assets

 

 

9

 

 

 

(1,944

)

Accounts payable

 

 

(1,667

)

 

 

(5,362

)

Accrued compensation and benefits

 

 

(8,503

)

 

 

(12,283

)

Other accrued expenses and current liabilities

 

 

(199

)

 

 

2,015

 

Deferred revenue

 

 

(16,646

)

 

 

(2,678

)

Net cash provided by operating activities

 

 

73,450

 

 

 

59,199

 

INVESTING ACTIVITIES:

 

 

 

 

 

 

Capital expenditures

 

 

(2,766

)

 

 

(1,727

)

Other investing activities, net

 

 

2

 

 

 

(1,405

)

Net cash used in investing activities

 

 

(2,764

)

 

 

(3,132

)

FINANCING ACTIVITIES:

 

 

 

 

 

 

Proceeds from the exercise of common stock options

 

 

19,844

 

 

 

9,872

 

Proceeds from employee stock purchase plan contributions

 

 

2,182

 

 

 

1,868

 

Payments for repurchase and retirement of common stock

 

 

 

 

 

(6,255

)

Other financing activities

 

 

 

 

 

(29

)

Net cash provided by financing activities

 

 

22,026

 

 

 

5,456

 

Effect of exchange rate changes on cash, cash equivalents and restricted cash

 

 

(2,592

)

 

 

379

 

Net increase in cash, cash equivalents and restricted cash

 

 

90,120

 

 

 

61,902

 

Cash, cash equivalents and restricted cash at beginning of year

 

 

467,576

 

 

 

316,958

 

Cash, cash equivalents and restricted cash at end of period

 

$

557,696

 

 

$

378,860

 

Supplemental disclosure of cash flow:

 

 

 

 

 

 

Interest paid

 

$

46

 

 

$

3

 

Income taxes paid

 

$

2,954

 

 

$

4,751

 

Supplemental disclosure of non-cash investing and financing activities:

 

 

 

 

 

 

Property and equipment in accounts payable and other current liabilities

 

$

277

 

 

$

1,559

 

 

See accompanying notes to consolidated financial statements.

 

8


 

ALTAIR ENGINEERING INC. AND SUBSIDIARIES

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

1.
Organization and description of business

Altair Engineering Inc. (“Altair” or the “Company”) is incorporated in the state of Delaware. The Company is a global leader in computational intelligence enabling organizations across broad industry segments to drive smarter decisions in an increasingly connected world. Altair delivers software and cloud solutions in the areas of simulation, high-performance computing (“HPC”), data analytics, and artificial intelligence (“AI”). Altair’s products and services leverage computational science to drive innovation and intelligent decisions for a more connected, safe, and sustainable future. The Company is headquartered in Troy, Michigan.

Basis of presentation

The accompanying unaudited consolidated financial statements have been prepared in accordance with United States generally accepted accounting principles (“GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial information. Accordingly, the accompanying statements do not include all the information and notes required by GAAP for complete financial statements. The accompanying unaudited consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements (and notes thereto) for the year ended December 31, 2023, included in the most recent Annual Report on Form 10-K filed with the SEC.

 

Use of estimates

The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the financial statements and reported amounts of revenue and expenses during the reporting periods. On an ongoing basis, management evaluates its significant estimates including the stand alone selling price, or SSP, for each distinct performance obligation included in customer contracts with multiple performance obligations, valuation of acquired intangible assets in business combinations, the incremental borrowing rate used in the valuation of lease liabilities, the determination of the period of benefit for capitalized costs to obtain a contract, fair value of convertible senior notes, provision for credit loss, tax valuation allowances, liabilities for uncertain tax provisions, impairment of goodwill and intangible assets, useful lives of intangible assets, and stock-based compensation. Actual results could differ from those estimates.

Significant accounting policies

There have been no material changes to our significant accounting policies as of and for the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report on Form 10-K for the year ended December 31, 2023.

Change in Presentation of Revenue and Cost of Revenue

Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (“FSLIs”) labeled “Software related services”, “Client engineering services” and “Other” into one FSLI labeled “Engineering services and other”. The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue, or total cost of revenue amounts previously reported or have any effect on segment reporting.

2.
Recent accounting guidance

Accounting standards not yet adopted

Reference Rate Reform – In March 2020, the FASB issued ASU 2020-04. Reference Rate Reform (Topic 848) - Facilitation of the Effects of Reference Rate Reform on Financial Reporting. This ASU provides optional expedients and exceptions for applying U.S. GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference LIBOR or another rate that is expected to be discontinued. In October 2022, the FASB Board voted to amend the sunset date of ASU 2020-04 to December 31, 2024. The Company is currently evaluating the impact of this new guidance on its consolidated financial statements and related disclosures and does not expect this guidance to have a material effect on its consolidated financial statements.

9


 

Segment Reporting – In November 2023, the FASB issued ASU 2023-07 Segment Reporting (Topic 280) - Improvements to Reportable Segment Disclosures. The update is intended to improve reportable segment disclosure requirements, primarily through enhanced disclosures about significant expenses. The ASU requires disclosures to include significant segment expenses that are regularly provided to the chief operating decision maker (CODM), a description of other segment items by reportable segment, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU also requires all annual disclosures currently required by Topic 280 to be included in interim periods. The update is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted, and requires retrospective application to all prior periods presented in the financial statements. The Company is currently evaluating the impact of adopting the updated standard.

Income Taxes – In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which updates income tax disclosures related to the tax rate reconciliation and requires disclosure of income taxes paid by jurisdiction. The amendments are effective for fiscal years beginning after December 15, 2024. Early adoption is permitted. The amendments should be applied prospectively; however, retrospective application is permitted. The Company is currently evaluating this ASU to determine the effect on its related disclosures.

3.
Revenue from contracts with customers

Disaggregation of revenue

The Company disaggregates its revenue by type of performance obligation and timing of revenue recognition as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

2024

 

 

2023

 

Term licenses and other software products

 

$

111,170

 

$

103,309

 

Perpetual licenses

 

 

6,537

 

 

 

9,100

 

Maintenance

 

 

38,643

 

 

 

35,601

 

Professional software services

 

 

2,079

 

 

 

1,633

 

Software related services

 

 

6,617

 

 

 

7,100

 

Client engineering services

 

 

6,457

 

 

 

7,776

 

Other

 

 

1,409

 

 

 

1,515

 

Total revenue

 

$

172,912

 

 

$

166,034

 

 

The Company derived approximately 10.8% of its total revenue through indirect sales channels for the three months ended March 31, 2024.

Costs to obtain a contract

As of March 31, 2024, and December 31, 2023, respectively, capitalized costs to obtain a contract were $4.6 million and $4.3 million recorded in Prepaid expenses and other current assets and $0.9 million and $0.9 million recorded in Other long-term assets in the Company’s consolidated balance sheets. Sales commissions were $2.3 million and $2.0 million, respectively, for the three months ended March 31, 2024 and 2023. Sales commissions were included in Sales and marketing expense in the Company’s consolidated statement of operations.

Contract assets

As of March 31, 2024, and December 31, 2023, respectively, contract assets were $5.1 million and $5.2 million included in Accounts receivable, net, and $3.1 million and $2.7 million included in Prepaid expenses and other current assets in the Company’s consolidated balance sheets.

Deferred revenue

Approximately $66.3 million of revenue recognized during the three months ended March 31, 2024, was included in deferred revenue at the beginning of the year.

10


 

Revenue allocated to remaining performance obligations represents contracted revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Contracted revenue not yet recognized was $243.5 million and $208.3 million as of March 31, 2024 and 2023, respectively. Of the amount recorded as of March 31, 2024, the Company expects to recognize approximately 70% over the next 12 months and the remainder thereafter.

4.
Supplementary Information

Acquisitions

During the three months ended March 31, 2024 and 2023, respectively, the Company recognized a $0.1 million loss and a $7.0 million loss from a mark-to-market adjustment of contingent consideration associated with a prior year acquisition. The mark-to-market adjustments were included in Other operating (income) expense, net in the consolidated statements of operations.

Cash, cash equivalents and restricted cash

The Company considers all highly liquid investments with original or remaining maturities of 90 days or less at the date of purchase to be cash equivalents. Cash and cash equivalents are recorded at cost, which approximates fair value. Restricted cash is included in Other long-term assets on the consolidated balance sheets. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported in the consolidated balance sheets that sum to the total of the amounts reported in the consolidated statement of cash flows (in thousands):

 

 

 

March 31,

 

December 31,

 

 

 

2024

 

2023

 

Cash and cash equivalents

 

$

557,605

 

$

467,459

 

Restricted cash included in other long-term assets

 

 

92

 

 

117

 

Total cash, cash equivalents and restricted cash

 

$

557,696

 

$

467,576

 

 

Restricted cash represents amounts required for the payment of potential health insurance claims and term deposits for bank guarantees.

Property and equipment, net

Property and equipment consisted of the following (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Land

 

$

8,373

 

 

$

8,376

 

Building and improvements

 

 

17,515

 

 

 

17,528

 

Computer equipment and software

 

 

46,154

 

 

 

45,678

 

Furniture, equipment and other

 

 

13,972

 

 

 

14,402

 

Leasehold improvements

 

 

8,602

 

 

 

8,380

 

Total property and equipment

 

 

94,616

 

 

 

94,364

 

Less: accumulated depreciation and amortization

 

 

55,779

 

 

 

54,561

 

Property and equipment, net

 

$

38,837

 

 

$

39,803

 

 

Depreciation expense was $2.2 million and $1.9 million for the three months ended March 31, 2024 and 2023, respectively.

11


 

Other liabilities

The following table provides the details of other accrued expenses and current liabilities (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Income taxes payable

 

$

15,152

 

 

$

12,239

 

Accrued VAT

 

 

4,472

 

 

 

8,710

 

Obligations related to acquisition of businesses and technology

 

 

3,012

 

 

 

3,286

 

Accrued royalties

 

 

2,889

 

 

 

2,313

 

Accrued professional fees

 

 

2,808

 

 

 

2,436

 

Billings in excess of cost

 

 

2,401

 

 

 

2,385

 

Employee stock purchase plan obligations

 

 

2,210

 

 

 

4,155

 

Non-income tax liabilities

 

 

1,332

 

 

 

2,473

 

Accrued interest

 

 

1,242

 

 

 

183

 

Defined contribution plan liabilities

 

 

1,110

 

 

 

1,454

 

Other current liabilities

 

 

7,192

 

 

 

8,764

 

Total

 

$

43,820

 

 

$

48,398

 

The following table provides details of other long-term liabilities (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Pension and other post-retirement liabilities

 

$

16,219

 

 

$

15,815

 

Income tax reserves

 

 

16,117

 

 

 

16,254

 

Deferred tax liabilities

 

 

12,765

 

 

 

12,870

 

Other long-term liabilities

 

 

2,012

 

 

 

2,212

 

Total

 

$

47,113

 

 

$

47,151

 

Other income, net

Other income, net consists of the following (in thousands):

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Interest income

 

$

(5,722

)

 

$

(2,885

)

Foreign exchange loss (gain)

 

 

1,765

 

 

 

(728

)

Other income, net

 

$

(3,957

)

 

$

(3,613

)

 

5.
Goodwill and other intangible assets

Goodwill

The change in the carrying amount of goodwill, which is attributable to the Software reportable segment, was as follows (in thousands):

 

Balance as of December 31, 2023

 

$

458,125

 

Foreign currency translation

 

 

(3,172

)

Balance as of March 31, 2024

 

$

454,953

 

 

12


 

Other intangible assets

A summary of other intangible assets is shown below (in thousands):

 

 

 

March 31, 2024

 

 

 

Weighted average
amortization period

 

Gross carrying
amount

 

 

Accumulated amortization

 

 

Net carrying amount

 

Definite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Developed technology

 

4-6 years

 

$

141,093

 

 

$

95,465

 

 

$

45,628

 

Customer relationships

 

7-10 years

 

 

57,988

 

 

 

39,427

 

 

 

18,561

 

Other intangibles

 

4-10 years

 

 

1,455

 

 

 

626

 

 

 

829

 

Total definite-lived intangible assets

 

 

 

 

200,536

 

 

 

135,518

 

 

 

65,018

 

Indefinite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Trade names

 

 

 

 

10,339

 

 

 

 

 

 

10,339

 

Total other intangible assets

 

 

 

$

210,875

 

 

$

135,518

 

 

$

75,357

 

 

 

 

December 31, 2023

 

 

 

Weighted average
amortization period

 

Gross carrying
amount

 

 

Accumulated
amortization

 

 

Net carrying
amount

 

Definite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Developed technology

 

4-6 years

 

$

142,368

 

 

$

90,729

 

 

$

51,639

 

Customer relationships

 

7-10 years

 

 

58,316

 

 

 

37,779

 

 

 

20,537

 

Other intangibles

 

4-10 years

 

 

1,459

 

 

 

563

 

 

 

896

 

Total definite-lived intangible assets

 

 

 

 

202,143

 

 

 

129,071

 

 

 

73,072

 

Indefinite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Trade names

 

 

 

 

10,478

 

 

 

 

 

 

10,478

 

Total other intangible assets

 

 

 

$

212,621

 

 

$

129,071

 

 

$

83,550

 

Amortization expense related to intangible assets was $7.4 million and $7.8 million for the three months ended March 31, 2024 and 2023, respectively.

6.
Debt

Convertible senior notes

2027 Notes

In June 2022, the Company issued $230.0 million aggregate principal amount of 1.750% convertible senior notes due in 2027 (the "2027 Notes"), which includes the initial purchaser’s exercise in full of its option to purchase an additional $30.0 million principal amount of the 2027 Notes, in a private offering. The net proceeds from the issuance of the 2027 Notes was $224.3 million after deducting discounts, commissions and estimated issuance costs. The 2027 Notes bear interest at a rate of 1.750% per year, payable semi-annually in arrears on June 15 and December 15 of each year, which commenced on December 15, 2022. The 2027 Notes mature on June 15, 2027, unless, earlier repurchased or redeemed by the Company or converted pursuant to their terms. The 2027 Notes have an initial conversion rate of 13.9505 shares of the Company's Class A common stock per $1,000 principal amount of 2027 Notes, which is equivalent to an initial conversion price of approximately $71.68 per share of its Class A common stock. Refer to the Company’s consolidated financial statements for the year ended December 31, 2022, for details of the issuance of the 2027 Notes.

The Company may settle the 2027 Notes in cash, shares of Class A common stock or a combination of cash and shares of its Class A common stock, at the Company’s election, in the manner and subject to the terms and conditions provided in the Indenture.

During the period ended March 31, 2024, the conditions allowing holders of the 2027 Notes to convert were not met. Therefore, the 2027 Notes remained classified as long-term debt on the consolidated balance sheet as of March 31, 2024.

13


 

2024 Notes

In June 2019, the Company issued $230.0 million aggregate principal amount of 0.25% convertible senior notes due in 2024 (the "2024 Notes" and together with the 2027 Notes, the “Convertible Notes”), which includes the underwriters’ exercise in full of their option to purchase an additional $30.0 million principal amount of the 2024 Notes, in a public offering. The net proceeds from the issuance of the 2024 Notes were $221.9 million after deducting the underwriting discounts and commissions and estimated issuance costs. The 2024 Notes bear interest at a rate of 0.25% per year, payable semi-annually in arrears on June 1 and December 1 of each year. The 2024 Notes mature on June 1, 2024, unless, earlier repurchased or redeemed by the Company or converted pursuant to their terms. The 2024 Notes have an initial conversion rate of 21.5049 shares of the Company's Class A common stock per $1,000 principal amount of 2024 Notes, which is equivalent to an initial conversion price of approximately $46.50 per share of its Class A common stock. Refer to the Company’s consolidated financial statements for the year ended December 31, 2023, for details of the issuance of the 2024 Notes.

During the year ended December 31, 2022, using proceeds from the issuance of the 2027 Notes, the Company entered into separate privately negotiated transactions with certain holders of the 2024 Notes to repurchase and retire $148.2 million aggregate principal amount of the 2024 Notes for an aggregate amount of $192.4 million of cash including accrued and unpaid interest.

As of March 31, 2024, until the close of business on the business day immediately preceding the maturity date, holders may convert their 2024 Notes at any time. Upon conversion, the Company has elected to settle the 2024 Notes par value in cash and to settle the premium in shares of its Class A common stock, subject to the terms and conditions provided in the Indenture. As of March 31, 2024, $81.7 million principal amount of the 2024 Notes remained outstanding and were classified as current liabilities on the consolidated balance sheet.

The net carrying value of the 2027 and 2024 Notes was as follows (in thousands):

 

 

March 31, 2024

 

 

December 31, 2023

 

 

 

2027 Notes

 

 

2024 Notes

 

 

2027 Notes

 

 

2024 Notes

 

Principal

 

$

230,000

 

 

$

81,729

 

 

$

230,000

 

 

$

81,729

 

Less: unamortized debt issuance costs

 

 

3,777

 

 

 

112

 

 

 

4,071

 

 

 

274

 

Net carrying amount

 

$

226,223

 

 

$

81,617

 

 

$

225,929

 

 

$

81,455

 

The interest expense related to the 2027 and 2024 Notes was as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Contractual interest expense

 

$

1,057

 

 

$

1,061

 

Amortization of debt issuance costs

 

 

457

 

 

 

464

 

Total

 

$

1,514

 

 

$

1,525

 

 

As of March 31, 2024, the “if converted value” of the 2027 Notes exceeded the principal amount by $46.4 million, and the “if converted value” of the 2024 Notes exceeded the principal amount by $69.7 million.

Revolving credit facility

The Company has a $200.0 million credit facility with a maturity date of December 31, 2025 (“2019 Amended Credit Agreement”).

As of March 31, 2024, there were no outstanding borrowings under the 2019 Amended Credit Agreement, there was $200.0 million available for future borrowing, and the Company was in compliance with all the financial covenants. The 2019 Amended Credit Agreement is available for general corporate purposes, including working capital, capital expenditures, and permitted acquisitions.

For additional information about the 2019 Amended Credit Agreement, refer to the Company’s consolidated financial statements for the year ended December 31, 2023, included in our Annual Report on Form 10-K.

 

14


 

7.
Fair value measurements

The accounting guidance for fair value, among other things, defines fair value, establishes a consistent framework for measuring fair value and expands disclosure for each major asset and liability category measured at fair value on either a recurring or nonrecurring basis. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the reporting date. The framework for measuring fair value consists of a three-level valuation hierarchy that prioritizes the inputs to valuation techniques used to measure fair value based upon whether such inputs are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect market assumptions made by the reporting entity. The three-level hierarchy for the inputs to valuation techniques is briefly summarized as follows:

Level 1 – Quoted prices in active markets for identical assets and liabilities at the measurement date;

Level 2 – Observable inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and

Level 3 – Unobservable inputs in which there is little or no market data, which require the reporting entity to develop its own assumptions.

An asset’s or liability’s fair value measurement level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.

The carrying value of cash and cash equivalents, accounts receivable, net and accounts payable approximate fair value due to their short maturities. Interest on the Company’s line of credit is at a variable rate, and as such the debt obligation outstanding approximates fair value.

The carrying value of the Company’s Convertible Notes are at face value less unamortized issuance costs. The estimated fair values of the Convertible Notes, which the Company has classified as Level 2 financial instruments, were determined based on quoted bid prices of the Convertible Notes on the last trading day of each reporting period. As of March 31, 2024, the estimated fair value of the 2027 Notes and 2024 Notes was $302.1 million and $150.9 million, respectively, and is presented for required disclosure purposes only. For further information on the Convertible Notes, see Note 6. – Debt.

 

8.
Stock-based compensation

2017 stock-based compensation plan

In 2017, the Company’s Board of Directors adopted the 2017 Equity Incentive Plan (“2017 Plan”), which was approved by the Company’s stockholders. The 2017 Plan provides for the grant of incentive stock options to the Company’s employees and any parent and subsidiary corporations’ employees, and for the grant of nonstatutory stock options, stock appreciation rights, restricted stock, restricted stock units, performance units, performance shares, other cash-based awards and other stock-based awards to the Company’s employees, directors and consultants and the Company’s parent, subsidiary, and affiliate corporations’ employees and consultants. The 2017 Plan has 19,460,908 authorized shares of the Company’s Class A common stock reserved for issuance. As of March 31, 2024, the Company had 6,701,748 shares of its common stock available for future issuances under the 2017 Plan.

The following table summarizes the restricted stock units, or RSUs, awarded under the 2017 Plan for the period:

 

 

 

Number of RSUs

 

Outstanding as of December 31, 2023

 

 

1,086,351

 

Granted

 

 

308,671

 

Vested

 

 

(303,210

)

Forfeited

 

 

(6,428

)

Outstanding as of March 31, 2024

 

 

1,085,384

 

 

The weighted average grant date fair value of the RSUs was $79.20 and the RSUs generally vest in four equal annual installments. Total compensation cost related to nonvested awards not yet recognized as of March 31, 2024, totaled $93.5 million, and is expected to be recognized over a weighted average period of 2.7 years.

15


 

The following table summarizes the stock option activity under the 2017 Plan for the period:

 

 

 

Number of options

 

 

Weighted average
exercise price per share

 

 

Weighted average
remaining contractual term (years)

 

 

Aggregate
 intrinsic value
 (in millions)

 

Outstanding as of December 31, 2023

 

 

7,602,078

 

 

$

52.81

 

 

 

7.8

 

 

$

238.3

 

Granted

 

 

416,608

 

 

$

79.19

 

 

 

 

 

 

 

Exercised

 

 

(402,890

)

 

$

49.40

 

 

 

 

 

 

 

Forfeited

 

 

(22,962

)

 

$

55.23

 

 

 

 

 

 

 

Outstanding as of March 31, 2024

 

 

7,592,834

 

 

$

54.43

 

 

 

7.8

 

 

$

240.9

 

Exercisable as of March 31, 2024

 

 

3,640,511

 

 

$

51.42

 

 

 

6.8

 

 

$

126.4

 

The total intrinsic value of the 2017 Plan stock options exercised during the three months ended March 31, 2024, was $143.4 million.

2021 Employee Stock Purchase Plan

The Company has an Employee Stock Purchase Plan (“ESPP”) which allows eligible employees to purchase shares of common stock through payroll deductions and is intended to qualify under Section 423 of the Internal Revenue Code. The maximum number of shares available for issuance under the ESPP is 3,200,000 shares of the Company’s Class A common stock. As of March 31, 2024, the Company had 2,767,911 shares of its common stock available for future issuances under the ESPP.

The purchase price for each share of common stock purchased under the ESPP will be 85% of the lower of (a) the fair market value per share on the first day of the applicable offering period or (b) the fair market value per share on the applicable purchase date.

The Company issued 64,309 shares of common stock under the ESPP during the three months ended March 31, 2024. As of March 31, 2024 and December 31, 2023, respectively, $2.2 million and $4.2 million had been withheld on behalf of employees for future purchases under the ESPP due to the timing of payroll deductions and was reported in current liabilities. The Company recognized $0.7 million and $0.6 million of stock-based compensation expense related to the ESPP for the three months ended March 31, 2024 and 2023, respectively.

Stock-based compensation expense

Stock-based compensation expense was recorded as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Cost of revenue – software

 

$

2,002

 

 

$

2,752

 

Research and development

 

 

6,360

 

 

 

8,743

 

Sales and marketing

 

 

4,520

 

 

 

7,591

 

General and administrative

 

 

3,117

 

 

 

3,075

 

Total stock-based compensation expense

 

$

15,999

 

 

$

22,161

 

 

16


 

9.
Net income (loss) per share

Basic net income (loss) per share attributable to common stockholders is computed using the weighted average number of shares of common stock outstanding for the period, excluding dilutive securities, stock options, RSUs and ESPP shares. Diluted net income (loss) per share attributable to common stockholders is based upon the weighted average number of shares of common stock outstanding for the period and potentially dilutive common shares, including the effect of dilutive securities, stock options, RSUs and ESPP shares under the treasury stock method.

The Company applies the if-converted method for convertible instruments when calculating diluted earnings per share. Under the if-converted method, shares related to convertible senior notes, to the extent dilutive, are assumed to be converted into common stock at the beginning of the period.

The following table sets forth the computation of the numerators and denominators used in the basic and diluted net income (loss) per share amounts (in thousands, except per share data):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Numerator:

 

 

 

 

 

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Interest expense related to Convertible Notes, net of tax

 

 

1,057

 

 

 

 

Numerator for diluted income (loss) per share

 

$

17,604

 

 

$

(1,959

)

Denominator:

 

 

 

 

 

 

Denominator for basic income (loss) per share—
   weighted average shares

 

 

82,587

 

 

 

80,191

 

Effect of dilutive securities, stock options, RSUs and
   ESPP shares

 

 

7,219

 

 

 

 

Denominator for dilutive income (loss) per share

 

 

89,806

 

 

 

80,191

 

Net income (loss) per share attributable to common
  stockholders, basic

 

$

0.20

 

 

$

(0.02

)

Net income (loss) per share attributable to common
  stockholders, diluted

 

$

0.20

 

 

$

(0.02

)

 

Anti-dilutive shares excluded from the computation of diluted net income (loss) per share were as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Stock options and ESPP shares

 

 

 

 

 

2,883

 

Convertible shares

 

 

 

 

 

4,967

 

Total shares excluded from calculation

 

 

 

 

 

7,850

 

 

10.
Income taxes

The Company’s income tax expense and effective tax rate for the three ended March 31, 2024 and 2023, were as follows (in thousands, except percentages):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Income tax expense

 

$

6,769

 

 

$

9,232

 

Effective tax rate

 

 

29

%

 

 

127

%

 

17


 

The tax rate is affected by the Company being a U.S. resident taxpayer, the tax rates in the U.S. and other jurisdictions in which the Company operates, the relative amount of income earned by jurisdiction and the relative amount of losses or income for which no benefit or expense is recognized due to a valuation allowance. The change in the effective tax rate for the three months ended March 31, 2024 as compared to March 31, 2023, was primarily attributable to the effects of tax elections made by the Company during the third quarter of 2023 that have a prospective impact on the Company’s tax expense in 2024. The Company's effective tax rate for the three months ended March 31, 2024 and 2023 also includes net discrete benefit of $0.4 million and expense of $5.7 million, respectively, primarily related to changes in tax laws, withholding taxes on royalties, changes in reserves, changes in accruals for unremitted earnings and other adjustments.

 

11.
Accumulated other comprehensive loss

The components of accumulated other comprehensive loss were as follows (in thousands):

 

 

 

Foreign currency translation

 

 

Retirement related
benefit plans

 

 

Total

 

Balance as of December 31, 2023

 

$

(21,473

)

 

$

(836

)

 

$

(22,309

)

Other comprehensive income before reclassification

 

 

(5,029

)

 

 

 

 

 

(5,029

)

Amounts reclassified from accumulated other comprehensive income

 

 

 

 

34

 

 

 

34

 

Tax effects

 

 

 

 

 

 

 

 

 

Other comprehensive income

 

 

(5,029

)

 

 

34

 

 

 

(4,995

)

Balance as of March 31, 2024

 

$

(26,502

)

 

$

(802

)

 

$

(27,304

)

 

12.
Commitments and contingencies

Legal proceedings

From time to time, the Company may be subject to legal proceedings and claims in the ordinary course of business. The Company has received, and may in the future continue to receive, claims from third parties asserting, among other things, infringement of their intellectual property rights. Future litigation may be necessary to defend the Company, its partners, and its customers by determining the scope, enforceability, and validity of third-party proprietary rights, or to establish and enforce the Company’s proprietary rights.

Effects of proceedings

The results of any current or future litigation cannot be predicted with certainty and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors.

13.
Segment information

The Company defines its operating segments as components of its business where separate financial information is available and used by the chief operating decision maker (“CODM”) in deciding how to allocate resources to its segments and in assessing performance. The Company’s CODM is its Chief Executive Officer.

The Company has identified two reportable segments for financial reporting purposes: Software and Client Engineering Services (“CES”). The primary measure of segment operating performance is Adjusted EBITDA, which is defined as net income (loss) adjusted for income tax expense (benefit), interest expense, interest income and other, depreciation and amortization, stock-based compensation expense, asset impairment charges and other special items as determined by management. Corporate headquarter costs are allocated to each segment.

18


 

The following tables are in thousands:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Three months ended March 31, 2024

 

Software

 

 

CES

 

 

All other

 

 

Total

 

Revenue

 

$

165,046

 

 

$

6,457

 

 

$

1,409

 

 

$

172,912

 

Adjusted EBITDA

 

$

46,070

 

 

$

(67

)

 

$

(185

)

 

$

45,818

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Three months ended March 31, 2023

 

Software

 

 

CES

 

 

All other

 

 

Total

 

Revenue

 

$

156,743

 

 

$

7,776

 

 

$

1,515

 

 

$

166,034

 

Adjusted EBITDA

 

$

42,772

 

 

$

409

 

 

$

(126

)

 

$

43,055

 

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Reconciliation of Adjusted EBITDA to U.S. GAAP
   income before income taxes:

 

 

 

 

 

 

Adjusted EBITDA

 

$

45,818

 

 

$

43,055

 

Stock-based compensation expense

 

 

(15,999

)

 

 

(22,161

)

Interest expense

 

 

(1,576

)

 

 

(1,526

)

Depreciation and amortization

 

 

(9,619

)

 

 

(9,750

)

Special adjustments, interest income and other (1)

 

 

4,692

 

 

 

(2,345

)

Income before income taxes

 

$

23,316

 

 

$

7,273

 

 

(1)
The three months ended March 31, 2024, primarily includes $5.7 million of interest income and $0.9 million of currency losses on acquisition-related intercompany loans. The three months ended March 31, 2023, includes a $7.0 million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $2.9 million of interest income, and $1.8 million of currency gains on acquisition-related intercompany loans.

 

 

19


 

 

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

 

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our consolidated financial statements and related notes included elsewhere in this quarterly report and with our audited consolidated financial statements (and notes thereto) for the year ended December 31, 2023, included in our Annual Report on Form 10-K filed with the SEC. This discussion contains forward-looking statements that involve risks and uncertainties. Our actual results could differ materially from those discussed below.

CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS

This quarterly report on Form 10-Q contains forward-looking statements made pursuant to the safe harbor provisions of the Private Securities Litigation Reform Act of 1995 under Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Forward-looking statements include statements with respect to our beliefs, plans, objectives, goals, expectations, anticipations, assumptions, estimates, intentions, and future performance, and involve known and unknown risks, uncertainties, and other factors, which may be beyond our control, and which may cause our actual results, performance, or achievements to be materially different from future results, performance, or achievements expressed or implied by such forward-looking statements. All statements other than statements of historical fact are statements that could be forward-looking statements. You can identify these forward-looking statements through our use of words such as “may,” “can,” “anticipate,” “assume,” “should,” “indicate,” “would,” “believe,” “contemplate,” “expect,” “seek,” “estimate,” “continue,” “plan,” “point to,” “project,” “predict,” “could,” “intend,” “target,” “potential,” and other similar words and expressions of the future.

There are a number of important factors that could cause the actual results to differ materially from those expressed in any forward-looking statement made by us. These factors include, but are not limited to:

our ability and the time it takes to acquire new customers;
reduced spending on product design and development activities by our customers;
our ability to successfully renew our outstanding software licenses;
our ability to maintain or protect our intellectual property;
our ability to retain key executive members;
our ability to internally develop new software products, inventions and intellectual property;
our ability to successfully integrate and realize the benefits of our past or future strategic acquisitions or investments;
demand for our software by customers other than simulation engineering specialists and in additional industry verticals;
acceptance of our enhanced business model by customers and investors;
our susceptibility to factors affecting the automotive, aerospace and banking, financial services, and insurance (BFSI) industries where we derive a substantial portion of our revenues;
the accuracy of our estimates regarding expenses and capital requirements;
our susceptibility to foreign currency risks that arise because of our substantial international operations;
the significant quarterly fluctuations of our results; and
the uncertain effect of cyberattacks, data security incidents, future pandemics or events on our business, operating results, and financial condition, including disruption to our customers, our employees, the global economy, and financial markets.

 

20


 

The foregoing does not represent an exhaustive list of matters that may be covered by the forward-looking statements contained herein or risk factors that we are faced with that may cause our actual results to differ from those anticipated in our forward-looking statements. For additional risks which could adversely impact our business and financial performance please see “Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2023, which was filed with the SEC on February 22, 2024, and other information appearing elsewhere in our Annual Report on Form 10-K, this report on Form 10-Q and our other filings with the SEC.

 

All forward-looking statements are expressly qualified in their entirety by this cautionary notice. You are cautioned not to place undue reliance on any forward-looking statements, which speak only as of the date of this report or the date of the document incorporated by reference into this report. We have no obligation, and expressly disclaim any obligation, to update, revise or correct any of the forward-looking statements, whether as a result of new information, future events or otherwise. We have expressed our expectations, beliefs, and projections in good faith, and we believe they have a reasonable basis. However, we cannot assure you that our expectations, beliefs, or projections will result or be achieved or accomplished.

Overview

We are a global leader in computational intelligence and we provide software and cloud solutions in simulation, high-performance computing (HPS), data analytics, and AI. We enable organizations across all industries to compete more effectively and drive smarter decisions in an increasingly connected world - all while creating a greener, more sustainable future.

Factors Affecting our Performance

We believe that our future success will depend on many factors, including those described below. While these areas present significant opportunity, they also present risks that we must manage to achieve successful results. If we are unable to address these challenges, our business, operating results and prospects could be harmed. Please see “Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2023.

Seasonality and quarterly results

Our billings have historically been highest in the first and fourth quarters of any calendar year and may vary in future quarters. The timing of recording billings and the corresponding effect on our cash flows may vary due to the seasonality of the purchasing and payment patterns of our customers. In addition, the timing of the recognition of revenue, the amount and timing of operating expenses, including employee compensation, sales and marketing activities, and capital expenditures, may vary from quarter-to-quarter which may cause our reported results to fluctuate significantly. In addition, we may choose to grow our business for the long-term rather than to optimize for profitability or cash flows for a particular shorter-term period. This seasonality or the occurrence of any of the factors above may cause our results of operations to vary and our financial statements may not fully reflect the underlying performance of our business.

Integration of recent acquisitions

We believe that our recent acquisitions result in certain benefits, including expanding our portfolio of software and products and enabling us to better serve our customers’ requests for data analytics and simulation technology. However, to realize some of these anticipated benefits, the acquired businesses must be successfully integrated. The success of these acquisitions will depend in part on our ability to realize these anticipated benefits. We may fail to realize the anticipated benefits of these acquisitions for a variety of reasons.

Foreign currency fluctuations

Because of our substantial international operations, we are exposed to foreign currency risks that arise from our normal business operations, including in connection with our transactions that are denominated in foreign currencies, including the Euro, British Pound Sterling, Indian Rupee, Japanese Yen, and Chinese Yuan. To identify changes in our underlying business without regard to the impact of currency fluctuations, we evaluate certain of our operating results both on an as reported basis, as well as on a constant currency basis. For the remainder of our current fiscal year, we anticipate that our revenues and profit may be impacted by changes in foreign currency rates.

21


 

Business Segments

We have identified two reportable segments: Software and Client Engineering Services:

Software —Our Software segment includes software and software related services. The software component of this segment includes our portfolio of software products including our solvers and optimization technology products, high-performance computing software applications and hardware products, modeling and visualization tools, data analytics and analysis products, IoT platform and analytics tools, as well as support and the complementary software products we offer through our Altair Partner Alliance, or APA. The APA includes technologies ranging from computational fluid dynamics and fatigue, to manufacturing process simulation and cost estimation. The software component of this segment includes consulting, training, and implementation services. The software related services component of this segment includes technical services focused on product design and development expertise and analysis from the component level up to complete product engineering at any stage of the lifecycle.
Client Engineering Services —Our client engineering services, or CES, segment provides client engineering services to support our customers with long-term, ongoing expertise. We operate our CES business by hiring engineers and data scientists for placement at a customer site for specific customer-directed assignments. We employ and pay them only for the duration of the placement.

 

Our other businesses which do not meet the criteria to be separate reportable segments are combined and reported as “Other” which represents innovative services and products, including Toggled, our LED lighting business. Toggled is focused on developing and selling next-generation solid state lighting technology along with communication and control protocols based on our intellectual property for the direct replacement of fluorescent light tubes with LED lamps.

For additional information about our reportable segments and other businesses, see Note 13 in the Notes to consolidated financial statements in Item 1, Part I of this Quarterly Report on Form 10-Q.

22


 

Results of operations

Comparison of the three months ended March 31, 2024 and 2023

The following table sets forth the results of operations and the period-over-period percentage change in certain financial data for the three months ended March 31, 2024 and 2023:

 

 

 

Three Months Ended
March 31,

 

 

Increase / (decrease)

 

(in thousands, except %'s)

 

2024

 

 

2023

 

 

%

 

Revenue:

 

 

 

 

 

 

 

 

 

Software

 

$

158,429

 

 

$

149,643

 

 

 

6

%

Engineering services and other

 

 

14,483

 

 

 

16,391

 

 

 

(12

%)

Total revenue

 

 

172,912

 

 

 

166,034

 

 

 

4

%

Cost of revenue:

 

 

 

 

 

 

 

 

 

Software

 

 

18,656

 

 

 

19,250

 

 

 

(3

%)

Engineering services and other

 

 

12,237

 

 

 

13,485

 

 

 

(9

%)

Total cost of revenue

 

 

30,893

 

 

 

32,735

 

 

 

(6

%)

Gross profit

 

 

142,019

 

 

 

133,299

 

 

 

7

%

Operating expenses:

 

 

 

 

 

 

 

 

 

Research and development

 

 

52,333

 

 

 

53,251

 

 

 

(2

%)

Sales and marketing

 

 

44,434

 

 

 

43,492

 

 

 

2

%

General and administrative

 

 

17,761

 

 

 

17,951

 

 

 

(1

%)

Amortization of intangible assets

 

 

7,438

 

 

 

7,814

 

 

 

(5

%)

Other operating (income) expense, net

 

 

(882

)

 

 

5,605

 

 

NM

 

Total operating expenses

 

 

121,084

 

 

 

128,113

 

 

 

(5

%)

Operating income

 

 

20,935

 

 

 

5,186

 

 

 

304

%

Interest expense

 

 

1,576

 

 

 

1,526

 

 

 

3

%

Other income, net

 

 

(3,957

)

 

 

(3,613

)

 

 

10

%

Income before income taxes

 

 

23,316

 

 

 

7,273

 

 

 

221

%

Income tax expense

 

 

6,769

 

 

 

9,232

 

 

 

(27

%)

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

 

NM

 

Other financial information:

 

 

 

 

 

 

 

 

 

Billings(1)

 

$

154,148

 

 

$

163,517

 

 

 

(6

%)

Adjusted EBITDA(2)

 

$

45,818

 

 

$

43,055

 

 

 

6

%

Net cash provided by operating activities

 

$

73,450

 

 

$

59,199

 

 

 

24

%

Free cash flow(3)

 

$

70,684

 

 

$

57,472

 

 

 

23

%

NM Not meaningful.

(1)
Billings consists of our total revenue plus the change in our deferred revenue, excluding deferred revenue from acquisitions. For more information about Billings and our other non-GAAP financial measures and reconciliations of our non-GAAP financial measures to the most directly comparable financial measures calculated and presented in accordance with GAAP, see “Non-GAAP financial measures” contained herein.
(2)
We define Adjusted EBITDA as net income (loss) adjusted for income tax expense (benefit), interest expense, interest income and other, depreciation and amortization, stock-based compensation expense, asset impairment charges and other special items as determined by management. For more information about Adjusted EBITDA and our other non-GAAP financial measures and reconciliations of our non-GAAP financial measures to the most directly comparable financial measure calculated and presented in accordance with GAAP, see “Non-GAAP financial measures” contained herein.
(3)
We define Free Cash Flow as net cash provided by operating activities less capital expenditures. For a reconciliation of Free Cash Flow, see “Non-GAAP financial measures” contained herein.

 

 

23


 

Change in Presentation of Revenue and Cost of Revenue

Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (“FSLIs”) labeled “Software related services”, “Client engineering services” and “Other” into one FSLI labeled “Engineering services and other.” The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue, or total cost of revenue amounts previously reported or have any effect on segment reporting.

Three months ended March 31, 2024 and 2023

Revenue

Software

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Software revenue

 

$

158,429

 

 

$

149,643

 

 

$

8,786

 

 

 

6

%

As a percent of consolidated revenue

 

 

92

%

 

 

90

%

 

 

 

 

 

 

Software revenue increased 6%, or 7% in constant currency, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. The increase was driven by growth in software license revenue primarily by strong retention and expansions within existing accounts, particularly in the automotive and aerospace & defense verticals.

Engineering services and other

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Engineering services and other revenue

 

$

14,483

 

 

$

16,391

 

 

$

(1,908

)

 

 

(12

%)

As a percent of consolidated revenue

 

 

8

%

 

 

10

%

 

 

 

 

 

 

The 12% decrease in engineering services and other revenue for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023, was due to lower customer demand for client engineering services during the period.

Cost of revenue

Software

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Cost of software revenue

 

$

18,656

 

 

$

19,250

 

 

$

(594

)

 

 

(3

%)

As a percent of software revenue

 

 

12

%

 

 

13

%

 

 

 

 

 

 

As a percent of consolidated revenue

 

 

11

%

 

 

12

%

 

 

 

 

 

 

Cost of software revenue decreased $0.6 million, or 3%, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. Hardware costs and stock-based compensation expense decreased $0.9 million and $0.8 million, respectively, for the three months ended March 31, 2024. These decreases were partially offset by increases in employee compensation and related expense and royalty expense of $0.7 million and $0.4 million, respectively.

Engineering services and other

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Cost of engineering services and other revenue

 

$

12,237

 

 

$

13,485

 

 

$

(1,248

)

 

 

(9

%)

As a percent of engineering services and other revenue

 

 

84

%

 

 

82

%

 

 

 

 

 

 

As a percent of consolidated revenue

 

 

7

%

 

 

8

%

 

 

 

 

 

 

Cost of engineering services and other revenue decreased 9% for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. The decrease was due to decreases in project-related costs of $0.6 million, employee compensation and related expense of $0.4 million, and manufacturing costs and inventory expense of $0.3 million.

24


 

Gross profit

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Gross profit

 

$

142,019

 

 

$

133,299

 

 

$

8,720

 

 

 

7

%

As a percent of consolidated revenue

 

 

82

%

 

 

80

%

 

 

 

 

 

 

Gross profit increased by $8.7 million, or 7%, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. This increase in gross profit was primarily attributable to the increase in software revenue.

Operating expenses

Operating expenses, as discussed below, support all the products and services that we provide to our customers and, as a result, they are reported and discussed in the aggregate.

Research and development

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Research and development

 

$

52,333

 

 

$

53,251

 

 

$

(918

)

 

 

(2

%)

As a percent of consolidated revenue

 

 

30

%

 

 

32

%

 

 

 

 

 

 

Research and development expenses decreased by $0.9 million, or 2%, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. Stock-based compensation expense decreased $2.4 million for the three months ended March 31, 2024, partially offset by an increase in employee compensation and related expense of $1.2 million, primarily due to increased headcount and merit increases.

Sales and marketing

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Sales and marketing

 

$

44,434

 

 

$

43,492

 

 

$

942

 

 

 

2

%

As a percent of consolidated revenue

 

 

26

%

 

 

26

%

 

 

 

 

 

 

Sales and marketing expenses increased by $0.9 million, or 2%, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. Employee compensation and related expense increased $3.6 million, primarily due to annual merit increases and increased headcount, travel costs increased $0.3 million, facilities costs and depreciation expense increased $0.3 million, and advertising and trade show related expenses increased $0.2 million for the three months ended March 31, 2024. These increases were partially offset by a decrease in stock-based compensation expense and non-income tax expense of $3.1 million and $0.4 million, respectively.

General and administrative

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

General and administrative

 

$

17,761

 

 

$

17,951

 

 

$

(190

)

 

 

(1

%)

As a percent of consolidated revenue

 

 

10

%

 

 

11

%

 

 

 

 

 

 

General and administrative expenses decreased by $0.2 million, or 1%, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. Employee compensation and related expense decreased $0.4 million for the three months ended March 31, 2024, partially offset by an increase in professional fees of $0.4 million.

Amortization of intangible assets

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Amortization of intangible assets

 

$

7,438

 

 

$

7,814

 

 

$

(376

)

 

 

(5

%)

As a percent of consolidated revenue

 

 

4

%

 

 

5

%

 

 

 

 

 

 

Amortization of intangible assets decreased by $0.4 million, or 5%, for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023. Amortization decreased as a result of certain fully amortized intangible assets.

25


 

Other operating (income) expense, net

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

Other operating (income) expense, net

 

$

(882

)

 

$

5,605

 

 

$

6,487

 

 

NM

As a percent of consolidated revenue

 

 

(1

%)

 

 

3

%

 

 

 

 

 

Other operating (income) expense, net was $0.9 million of income for the three months ended March 31, 2024, compared to $5.6 million of expense for the three months ended March 31, 2023. We recognized a $0.1 million loss on the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition for the three months ended March 31, 2024, compared to a $7.0 million loss for the three months ended March 31, 2023. In addition, we had a $0.9 million decrease in grant income and $0.4 million increase in royalty income for the three months ended March 31, 2024.

Interest expense

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Interest expense

 

$

1,576

 

 

$

1,526

 

 

$

50

 

 

 

3

%

As a percent of consolidated revenue

 

 

1

%

 

 

1

%

 

 

 

 

 

 

Interest expense remained consistent for the three months ended March 31, 2024, as compared to the three months ended March 31, 2023.

Other income, net

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Other income, net

 

$

(3,957

)

 

$

(3,613

)

 

$

344

 

 

 

10

%

As a percent of consolidated revenue

 

 

(2

%)

 

 

(2

%)

 

 

 

 

 

 

Other income, net increased $0.3 million for the three months ended March 31, 2024, compared to the three months ended March 31, 2023. Other income, net for the three months ended March 31, 2024, includes $5.7 million of interest income and $1.8 million in net foreign currency losses. Other income, net for the three months ended March 31, 2023, includes $2.9 million of interest income and $0.7 million in net foreign currency gains.

Income tax expense

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

 

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

 

Income tax expense

 

$

6,769

 

 

$

9,232

 

 

$

(2,463

)

 

 

(27

%)

The effective tax rate was 29% and 127% for the three months ended March 31, 2024 and 2023, respectively. The tax rate is affected by our status as a U.S. resident taxpayer, the tax rates in the U.S. and other jurisdictions in which we operate, the relative amount of income earned by jurisdiction and the relative amount of losses or income for which no benefit or expense is recognized due to a valuation allowance. The change in the effective tax rate for the three months ended March 31, 2024 as compared to March 31, 2023, was primarily attributable to the effects of tax elections made by the Company during the third quarter of 2023 that have a prospective impact on the Company’s tax expense in 2024. The Company's effective tax rate for the three months ended March 31, 2024 and 2023 also includes net discrete benefit of $0.4 million and expense of $5.7 million, respectively, primarily related to changes in tax laws, withholding taxes on royalties, changes in reserves, changes in accruals for unremitted earnings and other adjustments.

Net income (loss)

 

 

Three Months Ended
March 31,

 

 

Period-to-period change

(in thousands)

 

2024

 

 

2023

 

 

$

 

 

%

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

 

$

18,506

 

 

NM

Net income was $16.5 million for the three months ended March 31, 2024, compared to a net loss of $2.0 million for the three months ended March 31, 2023. Net income for the three months ended March 31, 2024, was a result of the increase in gross profit, the decrease in the loss on the mark-to-market adjustment of contingent consideration, and the decrease in income tax expense as compared to the three months ended March 31, 2023.

26


 

Non-GAAP financial measures

We monitor the following key non-GAAP (United States generally accepted accounting principles) financial and operating metrics to help us evaluate our business, measure our performance, identify trends affecting our business, formulate business plans and make strategic decisions. In analyzing and planning for our business, we supplement our use of GAAP financial measures with non-GAAP financial measures, including Billings as a liquidity measure, Adjusted EBITDA as a performance measure and Free Cash Flow as a liquidity measure.

 

 

 

Three Months Ended
March 31,

 

(in thousands)

 

2024

 

 

2023

 

Other financial data:

 

 

 

 

 

 

Billings

 

$

154,148

 

 

$

163,517

 

Adjusted EBITDA

 

$

45,818

 

 

$

43,055

 

Free Cash Flow

 

$

70,684

 

 

$

57,472

 

Billings. Billings consists of our total revenue plus the change in our deferred revenue, excluding deferred revenue from acquisitions during the period. Given that we generally bill our customers at the time of sale, but typically recognize a portion of the related revenue ratably over time, management believes that Billings is a meaningful way to measure and monitor our ability to provide our business with the working capital generated by upfront payments from our customers.

 

Adjusted EBITDA. We define Adjusted EBITDA as net income (loss) adjusted for income tax expense (benefit), interest expense, interest income and other, depreciation and amortization, stock-based compensation expense, asset impairment charges and other special items as determined by management. Our management team believes that Adjusted EBITDA is a meaningful measure of performance as it is commonly utilized by management and the investment community to analyze operating performance in our industry.

Free Cash Flow. Free Cash Flow is a non-GAAP measure that we calculate as cash flow provided by operating activities less capital expenditures. Management believes that Free Cash Flow is useful in analyzing our ability to service and repay debt, when applicable, and return value directly to stockholders.

These non-GAAP financial measures reflect an additional way of viewing aspects of our business that, when viewed with our GAAP results and the accompanying reconciliations to corresponding GAAP financial measures included in the tables below, may provide a more complete understanding of factors and trends affecting our business. These non-GAAP financial measures should not be relied upon to the exclusion of GAAP financial measures and are by definition an incomplete understanding of the Company and must be considered in conjunction with GAAP measures.

We believe that the non-GAAP measures disclosed herein are only useful as an additional tool to help management and investors make informed decisions about our financial and operating performance and liquidity. By definition, non-GAAP measures do not give a full understanding of the Company. To be truly valuable, they must be used in conjunction with the comparable GAAP measures. In addition, non-GAAP financial measures are not standardized. It may not be possible to compare these financial measures with other companies’ non-GAAP financial measures having the same or similar names. We strongly encourage investors to review our consolidated financial statements and the notes thereto in their entirety and not to rely on any single financial measure.

Reconciliation of non-GAAP financial measures

The following tables provides reconciliations of revenue to Billings, net loss to Adjusted EBITDA, and net cash provided by operating activities to Free Cash Flow:

Billings

 

 

 

Three Months Ended
March 31,

 

(in thousands)

 

2024

 

 

2023

 

Revenue

 

$

172,912

 

 

$

166,034

 

Ending deferred revenue

 

 

144,939

 

 

 

141,943

 

Beginning deferred revenue

 

 

(163,703

)

 

 

(144,460

)

Billings

 

$

154,148

 

 

$

163,517

 

 

27


 

Adjusted EBITDA

 

 

 

Three Months Ended
March 31,

 

(in thousands)

 

2024

 

 

2023

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Income tax expense

 

 

6,769

 

 

 

9,232

 

Stock-based compensation expense

 

 

15,999

 

 

 

22,161

 

Interest expense

 

 

1,576

 

 

 

1,526

 

Depreciation and amortization

 

 

9,619

 

 

 

9,750

 

Special adjustments, interest income and other (1)

 

 

(4,692

)

 

 

2,345

 

Adjusted EBITDA

 

$

45,818

 

 

$

43,055

 

 

(1)
The three months ended March 31, 2024, primarily includes $5.7 million of interest income and $0.9 million of currency losses on acquisition-related intercompany loans. The three months ended March 31, 2023, includes a $7.0 million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $2.9 million of interest income, and $1.8 million of currency gains on acquisition-related intercompany loans.

Free Cash Flow

 

 

 

Three Months Ended
March 31,

 

(in thousands)

 

2024

 

 

2023

 

Net cash provided by operating activities

 

$

73,450

 

 

$

59,199

 

Capital expenditures

 

 

(2,766

)

 

 

(1,727

)

Free cash flow

 

$

70,684

 

 

$

57,472

 

 

Recurring software license rate

A key factor to our success is our recurring software license rate, which we measure through Billings, primarily derived from annual renewals of our existing subscription customer agreements. Recurring revenue streams allow us to create more consistent, predictable cash flows and drive greater long-term customer value. We believe the recurring software license rate is a key factor to our success and we monitor this measure to ensure our go-to-market strategy is driving long-term success of our business.

We calculate our recurring software license rate for a particular period by dividing (i) the sum of software term-based license Billings, software license maintenance Billings, and 20% of software perpetual license Billings which we believe approximates maintenance as an element of the arrangement by (ii) the total software license Billings including all term-based subscriptions, maintenance, and perpetual license billings from all customers for that period. The recurring software license rate was 95% for the three months ended March 31, 2024 and 2023. The recurring software license rate may vary from period to period.

Liquidity and capital resources

As of March 31, 2024, our principal sources of liquidity were $557.6 million in cash and cash equivalents and $200.0 million availability on our credit facility. We have outstanding debt in the form of our 2027 and 2024 convertible notes (“Convertible Notes”) with a $311.7 million principal amount as of March 31, 2024.

During the period ended March 31, 2024, the conditions allowing holders of the 2027 Notes to convert were not met. Therefore, the 2027 Notes were classified as long-term debt on the consolidated balance sheet as of March 31, 2024. We have the ability to settle the 2027 Notes in cash, shares of our common stock, or a combination of cash and shares of our common stock at our own election.

The 2024 Notes are convertible at the option of the holders and mature on June 1, 2024, and were classified as current on the consolidated balance sheet as of March 31, 2024. We have elected to settle the 2024 Notes par value of $81.7 million in cash, which we currently expect to fund from our available cash, and will settle the premium of $69.2 million in shares of our Class A common stock.

As of March 31, 2024, approximately $49.1 million remained available for repurchase under our stock repurchase program.

28


 

We continue to evaluate possible acquisitions and other strategic transactions designed to expand our business. As a result, our expected uses of cash could change, our cash position could be reduced, or we may incur additional debt obligations to the extent we complete additional acquisitions or strategic transactions.

Our existing cash and cash equivalents may fluctuate during fiscal 2024 due to changes in our planned cash expenditures, including changes in incremental costs such as direct costs and integration costs related to acquisitions. Cash from operations could also be affected by various risks and uncertainties, including but not limited to, the effects of geopolitical events. It is possible that certain customers may unilaterally decide to extend payments on accounts receivable, however our customer base is comprised primarily of larger organizations with typically strong liquidity and capital resources.

We believe that our existing cash balances, together with funds generated from operations and amounts available under our credit facility, will be sufficient to finance our operations and meet our foreseeable cash requirements for the next twelve months. We also believe that our financial resources, along with managing discretionary expenses, will allow us to manage our business operations for the foreseeable future and withstand geopolitical events, which could include reductions in revenue and delays in payments from customers and partners. We will continue to evaluate our financial position as developments evolve.

Revolving credit facility

As of March 31, 2024, there were no outstanding borrowings under our 2019 Amended Credit Agreement and there was $200.0 million available for future borrowing. The 2019 Amended Credit Agreement is available for general corporate purposes, including working capital, capital expenditures and permitted acquisitions.

For additional information about the 2019 Amended Credit Agreement, refer to our consolidated financial statements for the year ended December 31, 2023, included in our Annual Report on Form 10-K filed with the SEC on February 22, 2024.

Cash flows

As of March 31, 2024, we had cash and cash equivalents of $557.6 million available for working capital purposes, acquisitions, and capital expenditures; $444.8 million of this amount was held in the United States and $107.4 million was held in the APAC and EMEA regions with the remainder held in Canada, Mexico, and South America.

Other than statutory limitations, there are no significant restrictions on the ability of our subsidiaries to pay dividends or make other distributions to Altair. Based on our current liquidity needs and repatriation strategies, we expect that we can manage our global liquidity needs without material adverse tax implications.

The following table summarizes our cash flows for the periods indicated:

 

 

 

Three Months Ended
March 31,

 

(in thousands)

 

2024

 

 

2023

 

Net cash provided by operating activities

 

$

73,450

 

 

$

59,199

 

Net cash used in investing activities

 

 

(2,764

)

 

 

(3,132

)

Net cash provided by financing activities

 

 

22,026

 

 

 

5,456

 

Effect of exchange rate changes on cash, cash equivalents and restricted cash

 

 

(2,592

)

 

 

379

 

Net increase in cash, cash equivalents and restricted cash

 

$

90,120

 

 

$

61,902

 

 

29


 

Net cash provided by operating activities

Net cash provided by operating activities for the three months ended March 31, 2024, was $73.5 million, which reflects an increase of $14.3 million compared to the three months ended March 31, 2023. This increase was the result of improvements in our operating results and changes to our working capital position for the three months ended March 31, 2024, as compared to the three months ended March 31, 2024.

Net cash used in investing activities

Net cash used in investing activities for the three months ended March 31, 2024, was $2.8 million, which reflects a decrease of $0.4 million compared to the three months ended March 31, 2023.

Net cash provided by financing activities

Net cash provided by financing activities for the three months ended March 31, 2024, was $22.0 million, which reflects an increase of $16.6 million compared to the three months ended March 31, 2023. For the three months ended March 31, 2024, we received proceeds of $19.8 million from the exercise of common stock options. For the three months ended March 31, 2023, we received proceeds of $9.9 million from the exercise of common stock options and made payments of $6.3 million for the repurchase of our Class A common stock.

Effect of exchange rate changes on cash, cash equivalents and restricted cash

There was an adverse effect of exchange rate changes on cash, cash equivalents and restricted cash of $2.6 million for the three months ended March 31, 2024, compared to a favorable effect of exchange rate changes on cash, cash equivalents and restricted cash of $0.4 million for the three months ended March 31, 2023.

Commitments

There were no material changes in our commitments as disclosed in our Annual Report on Form 10-K for the year ended December 31, 2023.

Recently issued accounting pronouncements

See Note 2 in the Notes to consolidated financial statements in Item 1, Part I of this Quarterly Report on Form 10-Q for a full description of the recent accounting pronouncements and our expectation of their impact, if any, on our results of operations and financial condition.

 

Item 3. Quantitative and Qualitative Disclosures About Market Risk

We are exposed to certain global market risks, including foreign currency exchange risk and interest rate risk associated with our revolving credit facility.

Foreign Currency Risk

As a result of our substantial international operations, we are exposed to foreign currency risks that arise from our normal business operations, including in connection with our transactions that are denominated in foreign currencies. In addition, we translate sales and financial results denominated in foreign currencies into United States dollars for purposes of our consolidated financial statements. As a result, appreciation of the United States dollar against these foreign currencies generally will have a negative impact on our reported revenue and operating income while depreciation of the United States dollar against these foreign currencies will generally have a positive effect on reported revenue and operating income.

As of March 31, 2024, we do not have any foreign currency hedging contracts. Based on our current international operations, we do not plan on engaging in hedging activities in the near future.

30


 

Market Risk and Market Interest Risk

In June 2022, we issued $230.0 million aggregate principal amount of 1.750% convertible senior notes due in 2027. In June 2019, we issued $230.0 million aggregate principal amount of 0.250% convertible senior notes due 2024 of which $81.7 million aggregate principal amount remains outstanding as of March 31, 2024. The 2027 Notes and 2024 Notes have fixed annual interest rates at 1.750% and 0.250%, respectively, and, therefore, we do not have economic interest rate exposure on our Convertible Notes. However, the value of the Convertible Notes is exposed to interest rate risk. Generally, the fair market value of our fixed interest rate Convertible Notes will increase as interest rates fall and decrease as interest rates rise. In addition, the fair values of the Convertible Notes are affected by our stock price. The fair value of the Convertible Notes will generally increase as our Class A common stock price increases in value and will generally decrease as our Class A common stock price declines in value. We carry the Convertible Notes at face value less unamortized issuance costs on our balance sheet, and we present the fair value for required disclosure purposes only.

As of March 31, 2024, we had cash, cash equivalents and restricted cash of $557.7 million, consisting primarily of bank deposits and money market funds. As of March 31, 2024, we had no outstanding borrowings under our 2019 Amended Credit Agreement. Such interest-bearing instruments carry a degree of interest rate risk; however, historical fluctuations of interest expense have not been significant.

Interest rate risk relates to the gain/increase or loss/decrease we could incur on our debt balances and interest expense associated with changes in interest rates. Changes in interest rates would impact the amount of interest income we realize on our invested cash balances. It is our policy not to enter into derivative instruments for speculative purposes, and therefore, we hold no derivative instruments for trading purposes.

Item 4. Controls and Procedures

We maintain disclosure controls and procedures (as defined in Rule 13a-15(e) or 15d-15(e) of the Exchange Act) that are designed to ensure that information required to be disclosed in periodic reports filed with the SEC under the Securities Exchange Act of 1934 is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms, and that such information is accumulated and communicated to the Company’s management, including its Chief Executive Officer and Chief Financial Officer, as appropriate, to allow timely decisions regarding required disclosure. Under the supervision and with the participation of our management, including the Chief Executive Officer and Chief Financial Officer, we have evaluated the effectiveness of our disclosure controls and procedures as defined in Rule 13(a)-15(e) under the Exchange Act as of the end of the period covered by this report. Based on that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures were effective as of March 31, 2024.

Changes in Internal Control Over Financial Reporting

There was no change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the quarter ended March 31, 2024, that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

31


 

PART II – OTHER INFORMATION

Other legal proceedings

From time to time, we may be subject to other legal proceedings and claims in the ordinary course of business. We have received, and may in the future continue to receive, claims from third parties asserting, among other things, infringement of their intellectual property rights. Future litigation may be necessary to defend ourselves, our partners and our customers by determining the scope, enforceability and validity of third-party proprietary rights, or to establish and enforce our proprietary rights. The results of any current or future litigation cannot be predicted with certainty and regardless of the outcome, litigation can have an adverse impact on us because of defense and settlement costs, diversion of management resources and other factors.

Item 1A. Risk Factors

There have been no material changes to the risk factors disclosed in the Company’s Annual Report on 10-K for the year ended December 31, 2023.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

Not applicable.

Item 3. Defaults Upon Senior Securities

Not applicable.

Item 4. Mine Safety Disclosures

Not applicable.

Item 5. Other Information

Insider Trading Arrangements and Policies

During the quarter ended March 31, 2024, none of the Company’s directors or officers adopted or terminated a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as those terms are defined in Regulation S-K, Item 408, that was intended to satisfy the affirmative defense conditions of Rule 10b5-1(c).

32


 

Item 6. Exhibits

 

No.

 

Description

 

 

 

 

 

 

 

 

 

31.1*

 

Certification of the Chief Executive Officer of Altair Engineering Inc. pursuant to Rule 13a-14(a)/Rule 15d-14(a) under the Securities Exchange Act of 1934, as amended

 

 

 

31.2*

 

Certification of the Chief Financial Officer of Altair Engineering Inc. pursuant to Rule 13a-14(a)/Rule 15d-14(a) under the Securities Exchange Act of 1934, as amended

 

 

 

32.1**

 

Certification of the Chief Executive Officer and Chief Financial Officer of Altair Engineering Inc. pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

 

 

 

101.INS

 

Inline XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document

 

 

 

101.SCH

 

Inline XBRL Taxonomy Extension Schema with Embedded Linkbase Documents

 

 

 

 

 

 

104

 

The cover page from the Company’s Quarterly Report on Form 10-Q for the quarter ended March 31, 2024, has been formatted in Inline XBRL

 

 

 

 

 

* Filed herewith.

** The certifications furnished in Exhibit 32.1 hereto are deemed to accompany this Quarterly Report on Form 10-Q and will not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, except to the extent that the registrant specifically incorporates it by reference.

 

33


 

SIGNATURES

 

Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

 

 

ALTAIR ENGINEERING INC.

 

 

 

 

Date: May 2, 2024

By:

 

/s/ James R. Scapa

 

 

 

James R. Scapa

 

 

 

Chief Executive Officer (Principal Executive Officer)

 

Date: May 2, 2024

 

 

 

 

By:

 

/s/ Matthew Brown

 

 

 

Matthew Brown

 

 

 

Chief Financial Officer (Principal Financial Officer)

 

 

34


EX-31.1 2 altr-ex31_1.htm EX-31.1 EX-31.1

Exhibit 31.1

CERTIFICATION PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, James R. Scapa, certify that:

1. I have reviewed this quarterly report on Form 10-Q of Altair Engineering Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of registrant’s board of directors (or persons performing the equivalent functions):

a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

/s/ James R. Scapa

James R. Scapa

Chief Executive Officer

(Principal Executive Officer)

May 2, 2024

 


EX-31.2 3 altr-ex31_2.htm EX-31.2 EX-31.2

Exhibit 31.2

CERTIFICATION PURSUANT TO

RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Matthew Brown, certify that:

1. I have reviewed this quarterly report on Form 10-Q of Altair Engineering Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

b) Designed such internal control over financial reporting, or caused such internal control over financial

reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of

financial reporting and the preparation of financial statements for external purposes in accordance with

generally accepted accounting principles;

c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of registrant’s board of directors (or persons performing the equivalent functions):

a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

/s/ Matthew Brown

Matthew Brown

Chief Financial Officer

(Principal Financial Officer)

May 2, 2024


EX-32.1 4 altr-ex32_1.htm EX-32.1 EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of Altair Engineering Inc. (the “Company”), on Form 10-Q for the period ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), the undersigned officers of the Company certify to their knowledge and in their respective capacities, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

(1) The Report fully complies with the requirements of section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

 

/s/ James R. Scapa

James R. Scapa

Chief Executive Officer

(Principal Executive Officer)

 

 

 

/s/ Matthew Brown

Matthew Brown

Chief Financial Officer

(Principal Financial Officer)

 

May 2, 2024


EX-101.SCH 5 altr-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA WITH EMBEDDED LINKBASES DOCUMENT 100000 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 100010 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 100020 - Disclosure - Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail) 2 link:presentationLink link:calculationLink link:definitionLink 100030 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 100040 - Statement - Consolidated Statements of Operations (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100050 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100060 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 100070 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100080 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 995455 - Disclosure - Organization and Description of Business link:presentationLink link:calculationLink link:definitionLink 995465 - Disclosure - Recent Accounting Guidance link:presentationLink link:calculationLink link:definitionLink 995475 - Disclosure - Revenue from Contracts with Customers link:presentationLink link:calculationLink link:definitionLink 995485 - Disclosure - Supplementary Information link:presentationLink link:calculationLink link:definitionLink 995495 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 995505 - Disclosure - Goodwill and Other Intangible Assets link:presentationLink link:calculationLink link:definitionLink 995515 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 995525 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 995535 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 995545 - Disclosure - Net Income (Loss) Per Share link:presentationLink link:calculationLink link:definitionLink 995555 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 995565 - Disclosure - Accumulated Other Comprehensive Loss link:presentationLink link:calculationLink link:definitionLink 995575 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 995585 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 995595 - Disclosure - Organization and Description of Business (Policies) link:presentationLink link:calculationLink link:definitionLink 995605 - Disclosure - Organization and Description of Business (Policies) (Tables) link:presentationLink link:calculationLink link:definitionLink 995615 - Disclosure - Revenue from Contracts with Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 995625 - Disclosure - Supplementary Information (Tables) link:presentationLink link:calculationLink link:definitionLink 995635 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 995645 - Disclosure - Goodwill and Other Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 995655 - Disclosure - Debt (Tables) link:presentationLink link:calculationLink link:definitionLink 995665 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 995675 - Disclosure - Net Income (Loss) Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 995685 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 995695 - Disclosure - Accumulated Other Comprehensive Loss (Tables) link:presentationLink link:calculationLink link:definitionLink 995705 - Disclosure - Segment Information (Tables) link:presentationLink link:calculationLink link:definitionLink 995715 - Disclosure - Revenue from Contracts with Customers - Schedule of Disaggregation of Revenue (Detail) link:presentationLink link:calculationLink link:definitionLink 995725 - Disclosure - Revenue from Contracts with Customers - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995735 - Disclosure - Revenue from Contracts with Customers - Additional Information (Detail)1 link:presentationLink link:calculationLink link:definitionLink 995745 - Disclosure - Supplementary Information - Reconciliation of Cash, Cash Equivalents and Restricted Cash (Detail) link:presentationLink link:calculationLink link:definitionLink 995755 - Disclosure - Supplementary Information - Summary of Property and Equipment (Detail) link:presentationLink link:calculationLink link:definitionLink 995765 - Disclosure - Supplementary Information - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995775 - Disclosure - Supplementary Information - Summary of Other Accrued Expenses and Current Liabilities (Detail) link:presentationLink link:calculationLink link:definitionLink 995785 - Disclosure - Supplementary Information - Summary of Other Long-term Liabilities (Detail) link:presentationLink link:calculationLink link:definitionLink 995795 - Disclosure - Supplementary Information - Schedule of Other Income, Net (Detail) link:presentationLink link:calculationLink link:definitionLink 995805 - Disclosure - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment (Detail) link:presentationLink link:calculationLink link:definitionLink 995815 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Other Intangible Assets (Detail) link:presentationLink link:calculationLink link:definitionLink 995825 - Disclosure - Goodwill and Other Intangible Assets - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995835 - Disclosure - Debt - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995845 - Disclosure - Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail) link:presentationLink link:calculationLink link:definitionLink 995855 - Disclosure - Debt - Schedule of Net Carrying Value of Liability Component of 2027 and 2024 Notes (Parenthetical) (Detail) link:presentationLink link:calculationLink link:definitionLink 995865 - Disclosure - Debt - Schedule of Interest Expense Related to 2027 and 2024 Notes (Detail) link:presentationLink link:calculationLink link:definitionLink 995875 - Disclosure - Debt - Schedule of Interest Expense Recognized Related to Convertible Notes (Parenthetical) (Detail) link:presentationLink link:calculationLink link:definitionLink 995885 - Disclosure - Fair Value Measurements - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995895 - Disclosure - Stock-based Compensation - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995905 - Disclosure - Stock-based Compensation - Summary of Restricted Stock Units Awarded (Detail) link:presentationLink link:calculationLink link:definitionLink 995915 - Disclosure - Stock-based Compensation - Summary of Stock Option Activity under 2017 Plan (Detail) link:presentationLink link:calculationLink link:definitionLink 995925 - Disclosure - Stock-based Compensation - Summary of Stock-Based Compensation Expense (Detail) link:presentationLink link:calculationLink link:definitionLink 995935 - Disclosure - Net Income (Loss) Per Share - Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts (Detail) link:presentationLink link:calculationLink link:definitionLink 995945 - Disclosure - Net Income (Loss) Per Share - Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share (Detail) link:presentationLink link:calculationLink link:definitionLink 995955 - Disclosure - Income Taxes - Schedule of Income Tax Expense and Effective Tax Rate (Detail) link:presentationLink link:calculationLink link:definitionLink 995965 - Disclosure - Income Taxes - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995975 - Disclosure - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Detail) link:presentationLink link:calculationLink link:definitionLink 995985 - Disclosure - Commitments and Contingencies - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 995995 - Disclosure - Segment Information - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 996005 - Disclosure - Segment Information - Schedule of Segment Reporting Information (Detail) link:presentationLink link:calculationLink link:definitionLink 996015 - Disclosure - Segment Information - Reconciliation of U.S. GAAP Loss Before Income Taxes to Adjusted EBITDA (Detail) link:presentationLink link:calculationLink link:definitionLink 996025 - Disclosure - Segment Information - Reconciliation of U.S. GAAP Income (Loss) Before Income Taxes to Adjusted EBITDA (Parenthetical) (Detail) link:presentationLink link:calculationLink link:definitionLink Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Collaborative Arrangement and Arrangement Other than Collaborative Document Transition Report Document Transition Report Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Weighted average remaining contractual term (years), Outstanding Revenue, Remaining Performance Obligation, Amount Contracted revenue not yet recognized Interest on Convertible Debt, Net of Tax Interest expense related to Convertible Notes, net of tax Foreign currency translation Goodwill affect of foreign currency translation gain (loss) and other. Goodwill Affect Of Foreign Currency Translation Gain Loss And Other Other Liabilities, Noncurrent Other long-term liabilities Total Schedule of Segment Reporting Information, by Segment [Table] Schedule Of Segment Reporting Information By Segment [Table] Increase (Decrease) in Prepaid Expense and Other Assets Prepaid expenses and other current assets Restricted Stock Units (RSUs) [Member] Restricted Stock Units (RSUs) [Member] Obligations related to acquisition of businesses and technology Accrued obligations for acquisition of businesses. Accrued Obligations For Acquisition Of Businesses Software related service. Software Related Service [Member] Software Related Services [Member] Fair Value Disclosures [Text Block] Fair Value Measurements Revenue from Contract with Customer, Excluding Assessed Tax Total revenue Revenue Accounts receivable net current. Accounts Receivable Net Current [Member] Accounts Receivable [Member] Computer equipment and software. Computer Equipment And Software [Member] Computer Equipment and Software [Member] Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Compensation cost related to nonvested awards not yet recognized Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total Disaggregation of Revenue [Table Text Block] Schedule of Disaggregation of Revenue Payments to Acquire Businesses, Net of Cash Acquired Payments for acquisition of businesses, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired, Total Concentration Risk Type [Axis] Contract with Customer, Liability, Current Deferred revenue Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Summary of Amounts of Identified Assets Acquired and Liabilities Assumed at the Acquisition Date Payments for repurchase of common stock shares. Payments for Repurchase of Common Stock Shares Payments for repurchase of common stock, Shares Accrued interest Deposit Liabilities, Accrued Interest Convertible Debt, Fair Value Disclosures Fair value of convertible notes Goodwill, Acquired During Period Acquisitions Temporary Equity, Shares Issued Shares issued Noncash or Part Noncash Acquisitions [Line Items] Operating Lease, Liability, Noncurrent Operating lease liabilities, net of current portion TermLicensesAndOtherSoftwareProducts [Member] Term Licenses and Other Software Products [Member] Term licenses and other software products. Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Two Thousand Twenty Three Acquisitions [Member] Two Thousand Twenty Three Acquisitions [Member] 2023 Acquisitions [Member] Balance Sheet Location [Axis] Balance Sheet Location Assets, Current Total current assets Liabilities and Equity TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY Entity Address, State or Province Entity Address, State or Province Litigation Case [Domain] Litigation Case Deferred Income Tax Assets, Net Deferred tax assets Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Number of options, Outstanding, Ending Balance Number of options, Outstanding, Beginning Balance Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Trading Symbol Trading Symbol Common Stock, Shares, Issued Common stock, shares issued Restrictions on Cash and Cash Equivalents [Table Text Block] Reconciliation of Cash, Cash Equivalents and Restricted Cash Schedule of Interest Expense Related to 2027 and 2024 Notes Interest Income and Interest Expense Disclosure [Table Text Block] Document and entity information table. Document And Entity Information [Table] Document And Entity Information [Table] Prepaid Expense and Other Assets, Current Prepaid expenses and other current assets Net Income (Loss) Attributable to Parent [Abstract] Numerator: Selling and Marketing Expense [Member] Sales and Marketing Expense [Member] Sales and marketing [Member] Schedule of Long-Term Debt Instruments [Table] Debt Instrument [Table] Shares, Outstanding Ending balance (in shares) Beginning balance (in shares) Line of Credit Facility, Remaining Borrowing Capacity Amount available for future borrowing Common Stock, Capital Shares Reserved for Future Issuance Common stock reserved for issuance AOCI Attributable to Parent [Member] Accumulated Other Comprehensive Loss [Member] Business Combination Disclosure [Text Block] Acquisitions Total other comprehensive (loss) income Other Comprehensive Income (Loss), Net of Tax Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Entity Address, City or Town Entity Address, City or Town Convertible notes holders conversion rights under circumstances two [Member] Convertible Notes Holders Conversion Rights Under Circumstances Two [Member] Convertible notes holders conversion rights under circumstances two [Member] Stock repurchase program average price per share. Stock Repurchase Program Average Price Per Share Stock repurchase program, Average price per share Debt Disclosure [Text Block] Debt Property, Plant and Equipment [Table Text Block] Summary of Property and Equipment Subsequent Event [Member] Subsequent Event [Member] Subsequent Event Type [Axis] Right-of-use assets under finance leases. Right Of Use Assets Under Finance Leases [Member] Right-of-Use Assets Under Finance Leases [Member] Additional Paid-in Capital [Member] Additional Paid-In Capital [Member] Liabilities, Current [Abstract] CURRENT LIABILITIES: Assets, Current [Abstract] CURRENT ASSETS: Preferred Stock, Par or Stated Value Per Share Preferred stock, par value Reclassification from Accumulated Other Comprehensive Income, Current Period, before Tax Amounts reclassified from accumulated other comprehensive income Statement of Stockholders' Equity [Abstract] Operating Lease, Liability, Current Current portion of operating lease liabilities Debt Instrument, Maturity Date Debt instrument maturity date Property, Plant and Equipment, Net Property and equipment, net Property and equipment, net Promissory Notes Issued And Deferred Payment Obligations For Acquisitions Promissory notes issued and deferred payment obligations for acquisitions. Deferred payment obligations for acquisitions and investments Class of Stock [Domain] Class of Stock Restructuring Charges Restructuring charges Restructuring expense Restructuring Charges, Total Repurchase and retirement of common stock, Shares Payment for repurchase of common stock shares. Payment For Repurchase Of Common Stock Shares Business Combination, Contingent Consideration, Liability Contingent consideration Business Combination, Contingent Consideration, Liability, Total Business acquisition, Contingent consideration liability Statement of Comprehensive Income [Abstract] Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Collaborative Arrangement and Arrangement Other than Collaborative Entity Central Index Key Entity Central Index Key Other Intangible Assets [Member] Other Intangibles [Member] Plan Name [Domain] Plan Name Change in Accounting Principle, Accounting Standards Update, Adopted [true false] Change in Accounting Principle, Accounting Standards Update, Adopted [true false] Income tax reserves Income Tax Reserves Income tax reserves. Other Liabilities Disclosure [Abstract] Two thousand and seventeen equity incentive plan. Two Thousand And Seventeen Equity Incentive Plan [Member] 2017 Plan [Member] Sales Commissions and Fees Sales commissions Preferred Stock, Shares Outstanding Preferred stock, shares outstanding Preferred Stock, Shares Outstanding, Beginning Balance Preferred Stock, Shares Outstanding, Ending Balance Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Revenue, remaining contractual obligation, expected to recognize, period Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment Schedule of Goodwill [Table Text Block] Liabilities, Current Total current liabilities Entity Tax Identification Number Entity Tax Identification Number Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Increase (Decrease) in Operating Capital [Abstract] Changes in assets and liabilities: Payments of debt issuance costs Payments of Debt Issuance Costs Concept Engineering member. Concept Engineering [Member] Concept Engineering [Member] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract] Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Denominator: Professional software services. Professional Software Services [Member] Professional software services [Member] Convertible Senior Notes Due In Two Thousand Twenty Four And Two Thousand Twenty Seven. Convertible Senior Notes Due In Two Thousand Twenty Four And Two Thousand Twenty Seven [Member] Convertible Senior Notes Due in 2024 and 2027 [Member] Stock Issued During Period, Value, Employee Stock Purchase Plan Issuance of common stock for employee stock purchase program Plan Name [Axis] Plan Name Assets TOTAL ASSETS Revenue from contracts with customers. Revenue From Contracts With Customers [Line Items] Revenue From Contracts With Customers [Line Items] Operating Lease, Right-of-Use Asset Operating lease right of use assets Common Class A [Member] Class A Common Stock [Member] Entity Registrant Name Entity Registrant Name Debt Issuance Costs, Net Less: unamortized debt issuance costs Debt Issuance Costs, Net, Total Software Member Software [Member] Retained Earnings (Accumulated Deficit) Accumulated deficit Retained Earnings (Accumulated Deficit), Total Supplemental Cash Flow Information [Abstract] Supplemental disclosure of cash flow: Number of prior business acquistions for which valuation is finalized Number Of Prior Business Acquistions, Valuation Finalized Number of prior business acquistions, valuation finalized. Retained Earnings [Member] Accumulated Deficit [Member] Class of Stock [Axis] Class of Stock Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Number of RSUs, Outstanding Ending Balance Number of RSUs, Outstanding Beginning Balance Deferred Income Tax Liabilities, Net Deferred tax liabilities Stock Issued During Period, Shares, Employee Stock Purchase Plans Issuance of common stock for employee stock purchase program (in shares) Minimum [Member] Minimum [Member] Proceeds from Stock Options Exercised Proceeds from the exercise of common stock options Significant Accounting Policies [Text Block] Significant Accounting Policies Accrued Income Taxes, Current Income taxes payable Equity Component [Domain] Equity Component Segments [Axis] CES [Member] Conversion of Stock, Shares Converted Conversion from Class B to Class A common stock Change in Accounting Principle, Accounting Standards Update, Adoption Date Change in Accounting Principle, Accounting Standards Update, Adoption Date Land [Member] Land [Member] Amortization of debt issuance costs Amortization of Debt Issuance Costs and Discounts Amortization of debt issuance costs and discount Amortization of Debt Issuance Costs and Discounts, Total Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items] Adjustments to reconcile net income (loss) to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Furniture equipment and other. Furniture Equipment And Other [Member] Furniture Equipment and Other [Member] Foreign currency translation Goodwill, Foreign Currency Translation Gain (Loss) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Debt Disclosure [Abstract] Building and Building Improvements [Member] Building and Improvements [Member] Amount withheld on behalf of employees for future purchase. Amount Withheld On Behalf Of Employees For Future Purchase Amount withheld on behalf of employees for a future purchase Entity Current Reporting Status Entity Current Reporting Status Proceeds from (Payments for) Other Financing Activities Other financing activities Common Stock, Shares Authorized Common stock, shares authorized Put Option [Member] Two thousand and twenty one employee stock purchase plan. Two Thousand And Twenty One Employee Stock Purchase Plan [Member] 2021 Employee Stock Purchase Plan [Member] Research and Development Expense Research and development Research and Development Expense, Total Fair Value, by Balance Sheet Grouping [Table] Revenue from contracts with customers. Revenue From Contracts With Customers [Table] Stock Repurchase Program, Authorized Amount Shares authorized to be repurchased amount Amortization of intangible assets Amortization of Intangible Assets Amortization of intangible assets Common Stock, Value, Issued Common stock Debt Instrument, Convertible, Conversion Price Debt instrument convertible initial conversion price per share of common stock Other Noncash Income (Expense) Other, net Other Noncash Income (Expense), Total Convertible senior notes due in two thousand twenty seven. Convertible Senior Notes Due In Two Thousand Twenty Seven [Member] Convertible Senior Notes Due in 2027 [Member] Contract with Customer, Liability, Revenue Recognized Deferred revenue, revenue recognized Current Fiscal Year End Date Current Fiscal Year End Date Share-Based Payment Arrangement, Noncash Expense Stock-based compensation expense Total stock-based compensation expense Stock-based compensation expense Share-Based Payment Arrangement, Noncash Expense, Total Stock purchase program shares acquired. Stock Purchase Program Shares Acquired Number of shares repurchased Operating income Operating Income (Loss) Business Acquisition, Equity Interest Issued or Issuable, Number of Shares Business acquisition, Equity interest issued, Number of shares Income tax expense Income tax expense Income Tax Expense (Benefit) Income Tax Expense (Benefit), Total Research and Development Expense [Member] Research and development [Member] Convertible Notes Payable, Noncurrent Convertible senior notes, net Net carrying amount 2027 Convertible senior notes, net Nature of Operations [Text Block] Organization and Description of Business Issuance of common stock for acquisitions (in shares) Stock Issued During Period, Shares, Acquisitions Share-Based Payment Arrangement, Expense Stock-based compensation expense Indefinite-Lived Intangible Assets [Axis] Indefinite-lived Intangible Assets Proceeds from employee stock purchase plan contributions. Proceeds From Employee Stock Purchase Plan Contributions Proceeds from employee stock purchase plan contributions Disaggregation of Revenue [Table] Disaggregation Of Revenue [Table] Numerator for diluted income (loss) per share Net Income (Loss) Attributable to Parent, Diluted Finite-Lived Intangible Assets, Net Net carrying amount Finite-Lived Intangible Assets, Net, Beginning Balance Finite-Lived Intangible Assets, Net, Ending Balance Schedule of Segment Reporting Information, by Segment [Table Text Block] Schedule of Segment Reporting Information Income Taxes Paid Income taxes paid Revenue from Contract with Customer [Text Block] Revenue from Contracts with Customers Other comprehensive (loss) income, net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Effect of exchange rate changes on cash, cash equivalents and restricted cash Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Aggregate intrinsic value, Outstanding License [Member] License [Member] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table] Principal Debt Instrument, Face Amount Debt instrument, aggregate principal amount Option to purchase additional principal amount of notes to initial purchaser. Option to Purchase Additional Principal Amount of Notes to Initial Purchaser Additional principal amount of notes to initial purchaser's Cumulative Effect, Period of Adoption, Adjustment [Member] Cumulative Effect, Period of Adoption, Adjustment [Member] Operating Expenses [Abstract] Operating expenses: Property, Plant and Equipment [Abstract] Fair value expense recognized. Fair Value Expense Recognized Fair value expense recognized Expense on repurchase of convertible senior notes Commitments and Contingencies Disclosure [Abstract] Other Assets, Noncurrent Other long-term assets Debt Instrument, Convertible, If-converted Value in Excess of Principal Debt instrument, convertible, "if-converted value" in excess of the principal amount Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Number of options, Granted Depreciation Depreciation expense, including amortization of right-of-use assets under finance leases Depreciation, Total Interest Paid, Excluding Capitalized Interest, Operating Activities Interest paid Common Class B [Member] Class B Common Stock [Member] Equity, Attributable to Parent [Abstract] STOCKHOLDERS’ EQUITY: Document and entity information. Document And Entity Information [Line Items] Document And Entity Information [Line Items] Developed Technology Rights [Member] Developed Technology [Member] Revenue recognize percentage Revenue, Remaining Performance Obligation, Percentage Cost of Goods and Services Sold Total cost of revenue Cost of Goods and Services Sold, Total Adjusted earnings before interest taxes depreciation and amortization. Adjusted Earnings Before Interest Taxes Depreciation And Amortization Adjusted EBITDA Schedule of Other Intangible Assets [Table Text Block] Schedule Of Other Intangible Assets Table [Text Block] Schedule of Other Intangible Assets Income (loss) per share: Earnings Per Share [Abstract] Indefinite-Lived Intangible Assets, Major Class Name [Domain] Indefinite-lived Intangible Assets, Major Class Name Expense on repurchase of convertible senior note. Expense On Repurchase Of Convertible Senior Note Expense on repurchase of convertible senior notes Loss Contingencies [Table] Loss Contingencies [Table] Litigation Case [Axis] Litigation Case Segments [Domain] Segments License and Service [Member] Total Software and Related Services [Member] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Share Based Compensation Arrangement By Share Based Payment Award [Line Items] Other Noncurrent Assets [Member] Other Long-Term Assets [Member] Software. Software Segment [Member] Software [Member] Net income (loss) per share attributable to common stockholders, basic Earnings Per Share, Basic Earnings Per Share, Basic, Total Convertible shares. Convertible Shares [Member] Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Components of Accumulated Other Comprehensive Loss Commitments and Contingencies Commitments and contingencies Income Statement [Abstract] Indefinite-Lived Intangible Assets (Excluding Goodwill) Net carrying amount Indefinite-Lived Intangible Assets (Excluding Goodwill), Total Indefinite-Lived Intangible Assets (Excluding Goodwill), Beginning Balance Indefinite-Lived Intangible Assets (Excluding Goodwill), Ending Balance Capitalized Contract Cost, Net, Current Capitalized contract cost net, current Statistical Measurement [Domain] Statistical Measurement Loss Contingencies [Line Items] Loss Contingencies [Line Items] Net Cash Provided by (Used in) Operating Activities Net cash provided by operating activities Document Period End Date Document Period End Date Statistical Measurement [Axis] Statistical Measurement Debt Conversion, Name [Domain] Debt Conversion, Name Commitments and Contingencies Disclosure [Text Block] Commitments and Contingencies Net income (loss) per share attributable to common stockholders, diluted Earnings Per Share, Diluted Earnings Per Share, Diluted, Total Product and Service [Domain] Product and Service Currency gains on acquisition-related intercompany loans Currency Gains On Acquisition Related Intercompany Loans Currency gains on acquisition related intercompany loans. Cost of Sales [Member] Cost of revenue - software [Member] Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax Foreign currency translation, tax effect Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax, Total Concentration Risk Benchmark [Domain] Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period Stock-based compensation recognized service period Weighted average remaining service period Revenue from Contract with Customer [Abstract] Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, Tax Retirement related benefit plans, tax effect Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, Tax, Total Debt Instrument, Name [Domain] Debt Instrument, Name Supplementary information. Supplementary Information [Text Block] Supplementary Information Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number Number of options, Exercisable Debt Instrument, Description Debt instrument, description Number of Reportable Segments Number of reportable segments Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member] Retirement Related Benefit Plans [Member] Additional Paid in Capital, Common Stock Additional paid-in capital Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Sales and Excise Tax Payable Accrued VAT Foreign exchange loss (gain) Gain (Loss), Foreign Currency Transaction, before Tax Foreign Currency Transaction Gain (Loss), before Tax, Total Repurchase and retirement of common stock Payments for Repurchase of Common Stock Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name Liability, Pension and Other Postretirement and Postemployment Benefits, Noncurrent Pension and other post retirement liabilities Liability, Pension and Other Postretirement and Postemployment Benefits, Noncurrent, Total Number of equal vesting installments. Number Of Equal Vesting Installments Number of vesting equal annual installments Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Exercise of stock options (in shares) Number of options, Exercised Loss on mark-to-market adjustment of contingent consideration Loss (gain) on mark-to-market adjustment of contingent consideration Loss on mark to market adjustment of contingent consideration. Loss On Mark To Market Adjustment Of Contingent Consideration License and Maintenance [Member] Total Software [Member] Liabilities and Equity [Abstract] LIABILITIES, MEZZANINE EQUITY AND STOCKHOLDERS’ EQUITY Other Noncurrent Liabilities [Table Text Block] Summary of Other Long-term Liabilities Issuance of common stock for acquisitions Stock Issued During Period, Value, Acquisitions Entity Address, Postal Zip Code Entity Address, Postal Zip Code Entity Interactive Data Current Entity Interactive Data Current Selling and Marketing Expense Sales and marketing Selling and Marketing Expense, Total Two thousand twenty one acquisitions. Two Thousand Twenty One Acquisitions [Member] 2021 Acquisitions [Member] Grantee Status [Domain] Grantee Status Increase (Decrease) in Accounts Payable Accounts payable Increase (Decrease) in Accounts Payable, Total Increase (Decrease) in Employee Related Liabilities Accrued compensation and benefits Increase (Decrease) in Employee Related Liabilities, Total Equity [Abstract] Schedule of Short-Term Debt [Table] The timing of payroll deductions. The Timing Of Payroll Deductions [Member] The Timing of Payroll Deductions [Member] Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Number of RSUs, Granted Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Weighted average exercise price per share, Exercised Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Equity Components [Axis] Equity Components Accounts receivable, net Increase (Decrease) in Accounts Receivable Accrual for Taxes Other than Income Taxes, Current Non-income tax liabilities Increase (Decrease) in Other Operating Liabilities Other accrued expenses and current liabilities Increase (Decrease) in Other Operating Liabilities, Total Other Segments [Member] All Other [Member] Accounting Standards Update and Change in Accounting Principle [Text Block] Recent Accounting Guidance Local Phone Number Local Phone Number Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Loss on mark-to-market adjustment of contingent consideration Loss(Gain) on Mark-to-Market Adjustment of Contingent Consideration Loss(gain) on mark-to-market adjustment of contingent consideration. Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Weighted average exercise price per share, Exercisable Debt Conversion, Converted Instrument, Shares Issued Debt conversion, converted instrument, shares issued Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Vesting of restricted stock (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures, Total Goodwill Ending Balance Beginning Balance Goodwill Goodwill, Total Repayments of Notes Payable Repayments of notes payable Statement of Cash Flows [Abstract] Temporary Equity, Redemption Price Per Share Put right, exercise price Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date Organization, Consolidation and Presentation of Financial Statements [Abstract] Accumulated Other Comprehensive Income (Loss), Net of Tax Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax, Total Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Gross Profit Gross profit Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Foreign Currency Translation [Member] Concentration Risk Benchmark [Axis] Common Stock, Par or Stated Value Per Share Common stock, par value Debt Instrument, Interest Rate, Stated Percentage Debt instrument interest rate Cumulative Effect, Period of Adoption [Axis] Cumulative Effect, Period of Adoption Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Weighted average period of recognition Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table] Powersim Inc Member. Powersim Inc [Member] Powersim Inc [Member] Current portion of convertible senior notes, net Convertible Notes Payable, Current Net carrying amount Maximum [Member] Maximum [Member] Debt instrument commencement of interest date. Debt Instrument Commencement Of Interest Date Interest payment commencement date Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Consideration for the business acquisition Share-Based Payment Arrangement, Additional Disclosure [Abstract] APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition, Total Net increase in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Payments for (Proceeds from) Other Investing Activities Other investing activities, net Other Sundry Liabilities, Current Other current liabilities Total Software [Member] Total software. General and Administrative Expense [Member] General and administrative [Member] Intangible Assets, Gross (Excluding Goodwill) Gross carrying amount Intangible Assets, Gross (Excluding Goodwill), Total Noncash Investing and Financing Items [Abstract] Supplemental disclosure of non-cash investing and financing activities: Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Effect of dilutive securities, stock options, RSUs and ESPP shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period Number of options, Forfeited Perpetual licenses. Perpetual Licenses [Member] Perpetual licenses [Member] Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Segment Reporting Disclosure [Text Block] Segment Information City Area Code City Area Code Net Cash Provided by (Used in) Operating Activities [Abstract] OPERATING ACTIVITIES: NC judgement. N C Judgement [Member] N C Judgement Restricted Cash and Cash Equivalents, Noncurrent Restricted cash included in other long-term assets Restricted Cash and Cash Equivalents, Noncurrent, Total Other product and service. Other Product And Service [Member] Other [Member] Shares fair value reclassifications of temporary to permanent equity. Shares Fair Value Reclassifications Of Temporary To Permanent Equity Remaining mezzanine equity Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Less: accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance General and Administrative Expense General and administrative General and Administrative Expense, Total Grantee Status [Axis] Grantee Status Weighted average number of shares used in computing net income (loss) per share, basic Denominator for basic income (loss) per share--weighted average shares Weighted Average Number of Shares Outstanding, Basic Weighted Average Number of Shares Outstanding, Basic, Total Net Cash Provided by (Used in) Financing Activities [Abstract] FINANCING ACTIVITIES: Accrued defined contribution plan liabilities current. Accrued Defined Contribution Plan Liabilities Current Defined contribution plan liabilities Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Summary of Restricted Stock Units Awarded Statement [Table] Statement [Table] Share-Based Payment Arrangement, Option, Activity [Table Text Block] Summary of Stock Option Activity Increase (Decrease) in Contract with Customer, Liability Deferred revenue Client engineering services. Client Engineering Services Segment [Member] CES [Member] Document Fiscal Period Focus Document Fiscal Period Focus Accrued Professional Fees, Current Accrued professional fees Statement [Line Items] Statement [Line Items] Schedule of Net Carrying Value of the 2027 and 2024 Notes Convertible Debt [Table Text Block] Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Convertible senior notes due in two thousand twenty four. Convertible Senior Notes Due In Two Thousand Twenty Four [Member] Convertible Senior Notes Due in 2024 [Member] Stock Repurchase Program, Remaining Number of Shares Authorized to be Repurchased Stock repurchase program, Repurchase Shares Maintenance [Member] Maintenance [Member] World Programming. World Programming [Member] World Programming [Member] Stock repurchase program repurchase amount Stock Repurchase Program, Repurchase Amount Stock repurchase program, Repurchase amount Accounts Receivable, after Allowance for Credit Loss, Current Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current, Total Cumulative Effect, Period of Adoption [Domain] Cumulative Effect, Period of Adoption Common Stock [Member] Common Stock [Member] Debt Instrument [Line Items] Debt Instrument [Line Items] Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value, Total Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Summary of Stock-Based Compensation Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value Aggregate intrinsic value, Exercisable Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Antidilutive Securities, Name [Domain] Other Operating Income (Expense), Net Other operating expense (income), net Other operating (income) expense, net Software related services. Software Related Services [Member] Software related services [Member] Summary of other intangible assets. Summary Of Other Intangible Assets [Line Items] Summary Of Other Intangible Assets [Line Items] Cover [Abstract] Document Fiscal Year Focus Document Fiscal Year Focus Loss Contingency, Damages Paid, Value Outstanding loss contingency damages paid Comprehensive Income (Loss) Note [Text Block] Accumulated Other Comprehensive Loss Option Indexed to Issuer's Equity, Type [Domain] Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract] Income Taxes Receivable, Current Income tax receivable Segment Reporting [Abstract] Security Exchange Name Security Exchange Name Other Comprehensive Income (Loss), before Reclassifications, before Tax Other comprehensive income before reclassification New Accounting Pronouncements, Policy [Policy Text Block] Recent Accounting Guidance Preferred Stock, Shares Issued Preferred stock, shares issued Preferred Stock, Shares Authorized Preferred stock, shares authorized Customer Relationships [Member] Customer Relationships [Member] Property, Plant and Equipment, Gross Property, Plant and Equipment, Gross, Total Property, Plant and Equipment, Gross, Beginning Balance Property, Plant and Equipment, Gross, Ending Balance Total property and equipment Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Weighted average exercise price per share, Forfeited Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree Other Comprehensive Income (Loss), Tax Tax effects Other Comprehensive Income (Loss), Tax, Total Weighted Average Number of Shares Outstanding, Diluted [Abstract] Weighted average shares outstanding: Stock Issued During Period, Value, Stock Options Exercised Exercise of stock options Entity Emerging Growth Company Entity Emerging Growth Company Proceeds from issuance of convertible senior notes, net of discounts and commissions Proceeds from Convertible Debt Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value Intrinsic value of options exercised Amendment Flag Amendment Flag Option to purchase additional principal amount of notes to underwriters. Option To Purchase Additional Principal Amount Of Notes To Underwriters Additional principal amount of notes to underwriters Stock Issued During Period, Value, Restricted Stock Award, Gross Vesting of restricted stock Debt Instrument, Convertible, Terms of Conversion Feature Debt instrument, convertible, terms of conversion feature Business combination contingent consideration mark to market adjustments. Business Combination Contingent Consideration Mark to Market Adjustments Business combination contingent consideration mark to market adjustments Accounting Standards Update [Domain] Accounting Standards Update Basis of Accounting, Policy [Policy Text Block] Basis of Presentation Net discrete expense (benefit) Effective Income Tax Rate Reconciliation Reconciling Items Discrete Benefits Amount Effective income tax rate reconciliation reconciling items discrete benefits amount. Capitalized Contract Cost, Net, Noncurrent Capitalized contract cost net, noncurrent Put right exercise period. Put Right Exercise Period Put right exercise period from date of purchase Securities Act File Number Entity File Number Line of Credit Facility, Expiration Date Maturity date Contract with Customer, Refund Liability, Current Billings in excess of cost Goodwill and Intangible Assets Disclosure [Abstract] Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Cash, cash equivalents and restricted cash at end of period Cash, cash equivalents and restricted cash at beginning of year Total cash, cash equivalents, and restricted cash Share-Based Payment Arrangement [Abstract] Engineering Services and Other [Member] Engineering services and other. Twenty nineteen credit agreement. Twenty Nineteen Credit Agreement [Member] Twenty Nineteen Credit Agreement Change in Presentation of Revenue and Cost of Revenue Change in presentation of costs. Change In Presentation Of Costs [Policy Text Block] Supplementary information. Supplementary Information [Abstract] Property, Plant and Equipment [Abstract] Accounts Payable, Current Accounts payable Accounts Payable, Current, Total Debt Instrument [Axis] Debt Instrument Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Weighted average grant date fair value of RSUs Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value, Beginning Balance Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value, Ending Balance Stock purchase agreement. Stock Purchase Agreement [Member] Stock Purchase Agreement [Member] Stock Purchase Agreement [Member] Operating Expenses Total operating expenses Business Acquisition, Equity Interest Issued or Issuable, Value Assigned Business acquisition, shares issued value Maintenance and other services. Maintenance And Other Services [Member] Maintenance and Other Services [Member] Retirement related benefit plans (net of tax effect of $0 for all periods) Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax Retirement related benefit plans, net of tax Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax, Total Retirement related benefit plans (net of tax effect of $0, $0, $(79) and $7, respectively) Preferred Stock, Value, Issued Preferred stock ($0.0001 par value), authorized 45,000 shares, none issued and outstanding Entity Small Business Entity Small Business Entity Shell Company Entity Shell Company Proceeds from Debt, Net of Issuance Costs Net proceeds from issuance of costs Employee stock option and employee stock purchase plan [Member] Employee Stock Option And Employee Stock Purchase Plan [Member] Stock Options and ESPP [Member] Net Income (Loss) Per Share Earnings Per Share [Text Block] Other Sundry Liabilities, Noncurrent Other long-term liabilities Entity Address, Address Line One Entity Address, Address Line One Revenue Benchmark [Member] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items] Option Indexed to Issuer's Equity, Type [Axis] Antidilutive Securities [Axis] Other Liabilities, Current Other accrued expenses and current liabilities Total Finite-Lived Intangible Assets, Gross Gross carrying amount Finite-Lived Intangible Assets, Gross, Total Subsequent Event Type [Domain] Income Statement Location [Axis] Income Statement Location Net income (loss) Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total Debt Instrument, Frequency of Periodic Payment Debt instrument frequency of periodic payment Depreciation, Depletion and Amortization Depreciation and amortization Depreciation and amortization Depreciation, Depletion and Amortization, Total Product and Service [Axis] Product and Service Contract with Customer, Liability, Noncurrent Deferred revenue, non-current Title of 12(b) Security Title of 12(b) Security Finite-Lived Intangible Assets, Accumulated Amortization Accumulated amortization Temporary Equity, Carrying Amount, Attributable to Parent MEZZANINE EQUITY Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block] Reconciliation of U.S. GAAP (Loss) Income Before Income Taxes to Adjusted EBITDA Loss Contingency, Damages Awarded, Value Loss contingency damages awarded value Accounting Standards Update [Axis] Accounting Standards Update Prepaid Expenses and Other Current Assets [Member] Prepaid and Other Current Assets [Member] Accounting Changes and Error Corrections [Abstract] Net Cash Provided by (Used in) Investing Activities [Abstract] INVESTING ACTIVITIES: Amortization of debt issuance costs Amortization of Debt Issuance Costs Long-Term Line of Credit Loan outstanding Long-Term Line of Credit, Total Client Engineering Services [Member] Engineering Services and Other [Member] Client engineering services. Client Engineering Services [Member] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset Interest Expense, Debt Total Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Weighted average remaining contractual term (years), Exercisable Schedule of Other Income, Net Schedule of Other Nonoperating Income (Expense) [Table Text Block] Common Stock, Shares, Outstanding Common stock, shares outstanding Common Stock, Shares, Outstanding, Beginning Balance Common Stock, Shares, Outstanding, Ending Balance Share-Based Payment Arrangement [Text Block] Stock-Based Compensation Accrued Royalties, Current Accrued royalties Debt Conversion Description [Axis] Debt Conversion Description Supplemental Cash Flow Elements [Abstract] Concentration Risk Type [Domain] Income Statement Location [Domain] Income Statement Location Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted average exercise price per share, Granted Business Combination and Asset Acquisition [Abstract] Document Type Document Type Accounting Standards Update 2020-06 [Member] ASU 2020-06 [Member] Percentage of net revenues through indirect channels. Percentage Of Net Revenues Through Indirect Channels Percentage of net revenues through indirect channels Line of Credit Facility, Current Borrowing Capacity Credit facility Net Cash Provided by (Used in) Investing Activities Net cash used in investing activities Document Quarterly Report Document Quarterly Report Goodwill and Intangible Assets Disclosure [Text Block] Goodwill and Other Intangible Assets Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Number of RSUs, Forfeited Schedule Of Income Tax Expense Benefit And Effective Tax Rate [Table Text Block] Schedule Of Income Tax Expense Benefit And Effective Tax Rate Table [Text Block] Schedule of Income Tax Expense and Effective Tax Rate Net cash provided by financing activities Net Cash Provided by (Used in) Financing Activities Deferred income taxes Deferred Income Taxes and Tax Credits Deferred Income Taxes and Tax Credits, Total Entity Filer Category Entity Filer Category Other Current Liabilities [Table Text Block] Summary of Other Accrued Expenses and Current Liabilities Currency losses on acquisition related intercompany loans. Currency Losses On Acquisition Related Intercompany Loans Currency losses on acquisition-related intercompany loans Balance Sheet Location [Domain] Balance Sheet Location Gain on mark to market adjustment of contingent consideration. Gain On Mark To Market Adjustment Of Contingent Consideration Gain on mark-to-market adjustment of contingent consideration Gain on mark-to-market adjustment of contingent consideration Increase (Decrease) in Other Noncurrent Assets Other long-term assets Summary Of Other Intangible Assets [Table] Summary Of Other Intangible Assets [Table] Summary Of Other Intangible Assets [Table] Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Foreign currency translation (net of tax effect of $0 for all periods) Foreign currency translation, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total Description should be secured credit agreement. And custom label should be credit agreement. Secured Credit Agreement [Member] Secured Credit Agreement [Member] Debt instrument convertible conversion rate principal amount. Debt Instrument Convertible Conversion Rate Principal Amount Debt instrument conversion rate principal amount of notes Trade Names [Member] Trade Names [Member] Other income, net Other income, net Nonoperating Income (Expense) Nonoperating Income (Expense), Total Other (income) expense, net Capital Expenditures Incurred but Not yet Paid Property and equipment in accounts payable and other current liabilities Liabilities TOTAL LIABILITIES Property, Plant and Equipment [Table] Schedule Of Property Plant And Equipment [Table] Special adjustments, interest income and other Special Adjustments Interest Income And Other Special adjustments interest income and other. Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income Loss [Table] Debt instrument principal outstanding. Debt Instrument Principal Outstanding Debt instrument principal outstanding Equity, Attributable to Parent Ending balance Beginning balance TOTAL STOCKHOLDERS’ EQUITY Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Weighted-average useful life of acquired finite-lived intangible assets Product Concentration Risk [Member] Intangible Assets, Net (Excluding Goodwill) Other intangible assets, net Net carrying amount Schedule of Error Corrections and Prior Period Adjustments [Table Text Block] Schedule of Changes Made to the Consolidated Statement of Income Net income (loss) Net income (loss) Interest Expense Interest expense Interest expense Interest Expense, Total Repurchase of convertible senior notes Repayments of Convertible Debt Contract with Customer, Asset, after Allowance for Credit Loss, Current Contract assets Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total Statement of Financial Position [Abstract] Weighted average number of shares used in computing net income (loss) per share, diluted Denominator for dilutive income (loss) per share Weighted Average Number of Shares Outstanding, Diluted Effective Income Tax Rate Reconciliation, Percent Effective tax rate Effective Income Tax Rate Reconciliation, Percent, Total Debt Instrument, Repurchased Face Amount Debt instrument repurchased face amount Interest income Interest income and other. Interest Income And Other Special adjustments, interest income and other Noncash or Part Noncash Acquisitions [Table] Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent Percentage of purchase price for each share of common stock purchased of lower of fair market value per share on first day of applicable offering period Use of Estimates, Policy [Policy Text Block] Use of Estimates Income Tax Disclosure [Text Block] Income Taxes Interest income Interest and Other Income Interest income Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Weighted average exercise price per share, Outstanding, Ending Balance Weighted average exercise price per share, Outstanding, Beginning Balance Schedule Of Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Convertible notes, holders conversion rights under circumstances 1. Convertible Notes Holders Conversion Rights Under Circumstances One [Member] Convertible Notes, Holders Conversion Rights, Circumstances 1 [Member] Interest Expense, Debt, Excluding Amortization Contractual interest expense Disaggregation of Revenue [Line Items] Disaggregation Of Revenue [Line Items] Leasehold Improvements [Member] Leasehold Improvements [Member] Business combination estimated post combination expense. Business Combination Estimated Post Combination Expense Business combination, estimated post combination expense Payments for repurchase and retirement of common stock Payments for repurchase and retirement of common stock Cash Paid For Repurchase And Retirement Of Common Stock Cash paid for repurchase and retirement of common stock. Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Fair Value Disclosures [Abstract] Payments to Acquire Property, Plant, and Equipment Capital expenditures Payments to Acquire Property, Plant, and Equipment, Total Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Number of RSUs, Vested Employee-related Liabilities, Current Accrued compensation and benefits Employee-related Liabilities, Current, Total Business Acquisition [Axis] Business Acquisition Income Tax Disclosure [Abstract] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class Employee stock purchase plan liabilities. Employee Stock Purchase Plan Liabilities Employee stock purchase plan obligations XML 7 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2024
Apr. 17, 2024
Document And Entity Information [Line Items]    
Document Type 10-Q  
Amendment Flag false  
Document Period End Date Mar. 31, 2024  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Trading Symbol ALTR  
Entity Registrant Name ALTAIR ENGINEERING INC.  
Entity Central Index Key 0001701732  
Current Fiscal Year End Date --12-31  
Entity Filer Category Large Accelerated Filer  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity File Number 001-38263  
Entity Tax Identification Number 38-2591828  
Entity Address, Address Line One 1820 East Big Beaver Road  
Entity Address, City or Town Troy  
Entity Address, State or Province MI  
Entity Address, Postal Zip Code 48083  
City Area Code 248  
Local Phone Number 614-2400  
Entity Incorporation, State or Country Code DE  
Document Quarterly Report true  
Document Transition Report false  
Title of 12(b) Security Class A Common Stock $0.0001 par value per share  
Security Exchange Name NASDAQ  
Class A Common Stock [Member]    
Document And Entity Information [Line Items]    
Entity Common Stock, Shares Outstanding   56,948,286
Class B Common Stock [Member]    
Document And Entity Information [Line Items]    
Entity Common Stock, Shares Outstanding   26,084,574
XML 8 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
CURRENT ASSETS:    
Cash and cash equivalents $ 557,605 $ 467,459
Accounts receivable, net 127,870 190,461
Income tax receivable 18,898 16,650
Prepaid expenses and other current assets 26,026 26,053
Total current assets 730,399 700,623
Property and equipment, net 38,837 39,803
Operating lease right of use assets 30,175 30,759
Goodwill 454,953 458,125
Other intangible assets, net 75,357 83,550
Deferred tax assets 9,699 9,955
Other long-term assets 40,491 40,678
TOTAL ASSETS 1,379,911 1,363,493
CURRENT LIABILITIES:    
Accounts payable 6,522 8,995
Accrued compensation and benefits 35,911 45,081
Current portion of operating lease liabilities 8,330 8,825
Other accrued expenses and current liabilities 43,820 48,398
Deferred revenue 120,554 131,356
Current portion of convertible senior notes, net 81,617 81,455
Total current liabilities 296,754 324,110
Convertible senior notes, net 226,223 225,929
Operating lease liabilities, net of current portion 22,508 22,625
Deferred revenue, non-current 24,385 32,347
Other long-term liabilities 47,113 47,151
TOTAL LIABILITIES 616,983 652,162
Commitments and contingencies
STOCKHOLDERS’ EQUITY:    
Preferred stock ($0.0001 par value), authorized 45,000 shares, none issued and outstanding 0 0
Additional paid-in capital 904,180 864,135
Accumulated deficit (113,956) (130,503)
Accumulated other comprehensive loss (27,304) (22,309)
TOTAL STOCKHOLDERS’ EQUITY 762,928 711,331
TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY 1,379,911 1,363,493
Class A Common Stock [Member]    
STOCKHOLDERS’ EQUITY:    
Common stock 5 5
Class B Common Stock [Member]    
STOCKHOLDERS’ EQUITY:    
Common stock $ 3 $ 3
XML 9 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Balance Sheets (Parenthetical) - $ / shares
Mar. 31, 2024
Dec. 31, 2023
Preferred stock, par value $ 0.0001 $ 0.0001
Preferred stock, shares authorized 45,000,000 45,000,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Class A Common Stock [Member]    
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 513,797,000 513,797,000
Common stock, shares issued 56,912,000 55,240,000
Common stock, shares outstanding 56,912,000 55,240,000
Class B Common Stock [Member]    
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 41,203,000 41,203,000
Common stock, shares issued 26,084,000 26,814,000
Common stock, shares outstanding 26,084,000 26,814,000
XML 10 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Statements of Operations (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Total revenue $ 172,912 $ 166,034
Total cost of revenue 30,893 32,735
Gross profit 142,019 133,299
Operating expenses:    
Research and development 52,333 53,251
Sales and marketing 44,434 43,492
General and administrative 17,761 17,951
Amortization of intangible assets 7,438 7,814
Other operating (income) expense, net (882) 5,605
Total operating expenses 121,084 128,113
Operating income 20,935 5,186
Interest expense 1,576 1,526
Other income, net (3,957) (3,613)
Income before income taxes 23,316 7,273
Income tax expense 6,769 9,232
Net income (loss) $ 16,547 $ (1,959)
Income (loss) per share:    
Net income (loss) per share attributable to common stockholders, basic $ 0.2 $ (0.02)
Net income (loss) per share attributable to common stockholders, diluted $ 0.2 $ (0.02)
Weighted average shares outstanding:    
Weighted average number of shares used in computing net income (loss) per share, basic 82,587 80,191
Weighted average number of shares used in computing net income (loss) per share, diluted 89,806 80,191
Total Software [Member]    
Total revenue $ 158,429 $ 149,643
Total cost of revenue 18,656 19,250
License [Member]    
Total revenue 117,707 112,409
Total cost of revenue 4,490 4,824
Maintenance and Other Services [Member]    
Total revenue 40,722 37,234
Total cost of revenue 14,166 14,426
Engineering Services and Other [Member]    
Total revenue 6,457 7,776
Engineering Services and Other [Member]    
Total revenue 14,483 16,391
Total cost of revenue 12,237 13,485
Other [Member]    
Total revenue $ 1,409 $ 1,515
XML 11 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net Income (Loss) $ 16,547 $ (1,959)
Other comprehensive (loss) income, net of tax:    
Foreign currency translation (net of tax effect of $0 for all periods) (5,029) 7,232
Retirement related benefit plans (net of tax effect of $0 for all periods) 34 19
Total other comprehensive (loss) income (4,995) 7,251
Comprehensive income $ 11,552 $ 5,292
XML 12 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Statements of Comprehensive Income (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Foreign currency translation, tax effect $ 0 $ 0
Retirement related benefit plans, tax effect $ 0 $ 0
XML 13 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Statements of Changes in Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock [Member]
Class A Common Stock [Member]
Common Stock [Member]
Class B Common Stock [Member]
Additional Paid-In Capital [Member]
Accumulated Deficit [Member]
Accumulated Other Comprehensive Loss [Member]
Beginning balance at Dec. 31, 2022 $ 569,736 $ 5 $ 3 $ 721,307 $ (121,577) $ (30,002)
Beginning balance (in shares) at Dec. 31, 2022   52,277,000 27,745,000      
Net Income (Loss) (1,959)       (1,959)  
Issuance of common stock for acquisitions (in shares)   34,000        
Repurchase and retirement of common stock (4,256)     (4,256)    
Repurchase and retirement of common stock, Shares   (91,000)        
Issuance of common stock for employee stock purchase program 3,648     3,648    
Issuance of common stock for employee stock purchase program (in shares)   92,000        
Exercise of stock options 10,324     10,324    
Exercise of stock options (in shares)   265,000        
Vesting of restricted stock (in shares)   336,000        
Conversion from Class B to Class A common stock   240,000 (240,000)      
Stock-based compensation 22,161     22,161    
Foreign currency translation, net of tax 7,232         7,232
Retirement related benefit plans, net of tax 19         19
Ending balance at Mar. 31, 2023 606,905 $ 5 $ 3 753,184 (123,536) (22,751)
Ending balance (in shares) at Mar. 31, 2023   53,153,000 27,505,000      
Beginning balance at Dec. 31, 2023 711,331 $ 5 $ 3 864,135 (130,503) (22,309)
Beginning balance (in shares) at Dec. 31, 2023   55,240,000 26,814,000      
Net Income (Loss) 16,547       16,547  
Issuance of common stock for acquisitions 75     75    
Issuance of common stock for acquisitions (in shares)   35,000        
Issuance of common stock for employee stock purchase program 4,127     4,127    
Issuance of common stock for employee stock purchase program (in shares)   64,000        
Exercise of stock options 19,844     19,844    
Exercise of stock options (in shares)   540,000        
Vesting of restricted stock (in shares)   303,000        
Conversion from Class B to Class A common stock   730,000 (730,000)      
Stock-based compensation 15,999     15,999    
Foreign currency translation, net of tax (5,029)         (5,029)
Retirement related benefit plans, net of tax 34         34
Ending balance at Mar. 31, 2024 $ 762,928 $ 5 $ 3 $ 904,180 $ (113,956) $ (27,304)
Ending balance (in shares) at Mar. 31, 2024   56,912,000 26,084,000      
XML 14 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
OPERATING ACTIVITIES:    
Net income (loss) $ 16,547 $ (1,959)
Adjustments to reconcile net income (loss) to net cash provided by operating activities:    
Depreciation and amortization 9,619 9,750
Stock-based compensation expense 15,999 22,161
Loss on mark-to-market adjustment of contingent consideration 145 7,006
Other, net 580 640
Changes in assets and liabilities:    
Accounts receivable, net 60,245 39,872
Prepaid expenses and other current assets (2,679) 1,981
Other long-term assets 9 (1,944)
Accounts payable (1,667) (5,362)
Accrued compensation and benefits (8,503) (12,283)
Other accrued expenses and current liabilities (199) 2,015
Deferred revenue (16,646) (2,678)
Net cash provided by operating activities 73,450 59,199
INVESTING ACTIVITIES:    
Capital expenditures (2,766) (1,727)
Other investing activities, net 2 (1,405)
Net cash used in investing activities (2,764) (3,132)
FINANCING ACTIVITIES:    
Proceeds from the exercise of common stock options 19,844 9,872
Proceeds from employee stock purchase plan contributions 2,182 1,868
Payments for repurchase and retirement of common stock 0 (6,255)
Other financing activities 0 (29)
Net cash provided by financing activities 22,026 5,456
Effect of exchange rate changes on cash, cash equivalents and restricted cash (2,592) 379
Net increase in cash, cash equivalents and restricted cash 90,120 61,902
Cash, cash equivalents and restricted cash at beginning of year 467,576 316,958
Cash, cash equivalents and restricted cash at end of period 557,696 378,860
Supplemental disclosure of cash flow:    
Interest paid 46 3
Income taxes paid 2,954 4,751
Supplemental disclosure of non-cash investing and financing activities:    
Property and equipment in accounts payable and other current liabilities $ 277 $ 1,559
XML 15 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net Income (Loss) $ 16,547 $ (1,959)
XML 16 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 17 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Organization and Description of Business
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Organization and Description of Business
1.
Organization and description of business

Altair Engineering Inc. (“Altair” or the “Company”) is incorporated in the state of Delaware. The Company is a global leader in computational intelligence enabling organizations across broad industry segments to drive smarter decisions in an increasingly connected world. Altair delivers software and cloud solutions in the areas of simulation, high-performance computing (“HPC”), data analytics, and artificial intelligence (“AI”). Altair’s products and services leverage computational science to drive innovation and intelligent decisions for a more connected, safe, and sustainable future. The Company is headquartered in Troy, Michigan.

Basis of presentation

The accompanying unaudited consolidated financial statements have been prepared in accordance with United States generally accepted accounting principles (“GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial information. Accordingly, the accompanying statements do not include all the information and notes required by GAAP for complete financial statements. The accompanying unaudited consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements (and notes thereto) for the year ended December 31, 2023, included in the most recent Annual Report on Form 10-K filed with the SEC.

 

Use of estimates

The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the financial statements and reported amounts of revenue and expenses during the reporting periods. On an ongoing basis, management evaluates its significant estimates including the stand alone selling price, or SSP, for each distinct performance obligation included in customer contracts with multiple performance obligations, valuation of acquired intangible assets in business combinations, the incremental borrowing rate used in the valuation of lease liabilities, the determination of the period of benefit for capitalized costs to obtain a contract, fair value of convertible senior notes, provision for credit loss, tax valuation allowances, liabilities for uncertain tax provisions, impairment of goodwill and intangible assets, useful lives of intangible assets, and stock-based compensation. Actual results could differ from those estimates.

Significant accounting policies

There have been no material changes to our significant accounting policies as of and for the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report on Form 10-K for the year ended December 31, 2023.

Change in Presentation of Revenue and Cost of Revenue

Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (“FSLIs”) labeled “Software related services”, “Client engineering services” and “Other” into one FSLI labeled “Engineering services and other”. The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue, or total cost of revenue amounts previously reported or have any effect on segment reporting.

XML 18 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Recent Accounting Guidance
3 Months Ended
Mar. 31, 2024
Accounting Changes and Error Corrections [Abstract]  
Recent Accounting Guidance
2.
Recent accounting guidance

Accounting standards not yet adopted

Reference Rate Reform – In March 2020, the FASB issued ASU 2020-04. Reference Rate Reform (Topic 848) - Facilitation of the Effects of Reference Rate Reform on Financial Reporting. This ASU provides optional expedients and exceptions for applying U.S. GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference LIBOR or another rate that is expected to be discontinued. In October 2022, the FASB Board voted to amend the sunset date of ASU 2020-04 to December 31, 2024. The Company is currently evaluating the impact of this new guidance on its consolidated financial statements and related disclosures and does not expect this guidance to have a material effect on its consolidated financial statements.

Segment Reporting – In November 2023, the FASB issued ASU 2023-07 Segment Reporting (Topic 280) - Improvements to Reportable Segment Disclosures. The update is intended to improve reportable segment disclosure requirements, primarily through enhanced disclosures about significant expenses. The ASU requires disclosures to include significant segment expenses that are regularly provided to the chief operating decision maker (CODM), a description of other segment items by reportable segment, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU also requires all annual disclosures currently required by Topic 280 to be included in interim periods. The update is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted, and requires retrospective application to all prior periods presented in the financial statements. The Company is currently evaluating the impact of adopting the updated standard.

Income Taxes – In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which updates income tax disclosures related to the tax rate reconciliation and requires disclosure of income taxes paid by jurisdiction. The amendments are effective for fiscal years beginning after December 15, 2024. Early adoption is permitted. The amendments should be applied prospectively; however, retrospective application is permitted. The Company is currently evaluating this ASU to determine the effect on its related disclosures.

XML 19 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers
3.
Revenue from contracts with customers

Disaggregation of revenue

The Company disaggregates its revenue by type of performance obligation and timing of revenue recognition as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

2024

 

 

2023

 

Term licenses and other software products

 

$

111,170

 

$

103,309

 

Perpetual licenses

 

 

6,537

 

 

 

9,100

 

Maintenance

 

 

38,643

 

 

 

35,601

 

Professional software services

 

 

2,079

 

 

 

1,633

 

Software related services

 

 

6,617

 

 

 

7,100

 

Client engineering services

 

 

6,457

 

 

 

7,776

 

Other

 

 

1,409

 

 

 

1,515

 

Total revenue

 

$

172,912

 

 

$

166,034

 

 

The Company derived approximately 10.8% of its total revenue through indirect sales channels for the three months ended March 31, 2024.

Costs to obtain a contract

As of March 31, 2024, and December 31, 2023, respectively, capitalized costs to obtain a contract were $4.6 million and $4.3 million recorded in Prepaid expenses and other current assets and $0.9 million and $0.9 million recorded in Other long-term assets in the Company’s consolidated balance sheets. Sales commissions were $2.3 million and $2.0 million, respectively, for the three months ended March 31, 2024 and 2023. Sales commissions were included in Sales and marketing expense in the Company’s consolidated statement of operations.

Contract assets

As of March 31, 2024, and December 31, 2023, respectively, contract assets were $5.1 million and $5.2 million included in Accounts receivable, net, and $3.1 million and $2.7 million included in Prepaid expenses and other current assets in the Company’s consolidated balance sheets.

Deferred revenue

Approximately $66.3 million of revenue recognized during the three months ended March 31, 2024, was included in deferred revenue at the beginning of the year.

Revenue allocated to remaining performance obligations represents contracted revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Contracted revenue not yet recognized was $243.5 million and $208.3 million as of March 31, 2024 and 2023, respectively. Of the amount recorded as of March 31, 2024, the Company expects to recognize approximately 70% over the next 12 months and the remainder thereafter.

XML 20 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information
3 Months Ended
Mar. 31, 2024
Supplementary Information [Abstract]  
Supplementary Information
4.
Supplementary Information

Acquisitions

During the three months ended March 31, 2024 and 2023, respectively, the Company recognized a $0.1 million loss and a $7.0 million loss from a mark-to-market adjustment of contingent consideration associated with a prior year acquisition. The mark-to-market adjustments were included in Other operating (income) expense, net in the consolidated statements of operations.

Cash, cash equivalents and restricted cash

The Company considers all highly liquid investments with original or remaining maturities of 90 days or less at the date of purchase to be cash equivalents. Cash and cash equivalents are recorded at cost, which approximates fair value. Restricted cash is included in Other long-term assets on the consolidated balance sheets. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported in the consolidated balance sheets that sum to the total of the amounts reported in the consolidated statement of cash flows (in thousands):

 

 

 

March 31,

 

December 31,

 

 

 

2024

 

2023

 

Cash and cash equivalents

 

$

557,605

 

$

467,459

 

Restricted cash included in other long-term assets

 

 

92

 

 

117

 

Total cash, cash equivalents and restricted cash

 

$

557,696

 

$

467,576

 

 

Restricted cash represents amounts required for the payment of potential health insurance claims and term deposits for bank guarantees.

Property and equipment, net

Property and equipment consisted of the following (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Land

 

$

8,373

 

 

$

8,376

 

Building and improvements

 

 

17,515

 

 

 

17,528

 

Computer equipment and software

 

 

46,154

 

 

 

45,678

 

Furniture, equipment and other

 

 

13,972

 

 

 

14,402

 

Leasehold improvements

 

 

8,602

 

 

 

8,380

 

Total property and equipment

 

 

94,616

 

 

 

94,364

 

Less: accumulated depreciation and amortization

 

 

55,779

 

 

 

54,561

 

Property and equipment, net

 

$

38,837

 

 

$

39,803

 

 

Depreciation expense was $2.2 million and $1.9 million for the three months ended March 31, 2024 and 2023, respectively.

Other liabilities

The following table provides the details of other accrued expenses and current liabilities (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Income taxes payable

 

$

15,152

 

 

$

12,239

 

Accrued VAT

 

 

4,472

 

 

 

8,710

 

Obligations related to acquisition of businesses and technology

 

 

3,012

 

 

 

3,286

 

Accrued royalties

 

 

2,889

 

 

 

2,313

 

Accrued professional fees

 

 

2,808

 

 

 

2,436

 

Billings in excess of cost

 

 

2,401

 

 

 

2,385

 

Employee stock purchase plan obligations

 

 

2,210

 

 

 

4,155

 

Non-income tax liabilities

 

 

1,332

 

 

 

2,473

 

Accrued interest

 

 

1,242

 

 

 

183

 

Defined contribution plan liabilities

 

 

1,110

 

 

 

1,454

 

Other current liabilities

 

 

7,192

 

 

 

8,764

 

Total

 

$

43,820

 

 

$

48,398

 

The following table provides details of other long-term liabilities (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Pension and other post-retirement liabilities

 

$

16,219

 

 

$

15,815

 

Income tax reserves

 

 

16,117

 

 

 

16,254

 

Deferred tax liabilities

 

 

12,765

 

 

 

12,870

 

Other long-term liabilities

 

 

2,012

 

 

 

2,212

 

Total

 

$

47,113

 

 

$

47,151

 

Other income, net

Other income, net consists of the following (in thousands):

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Interest income

 

$

(5,722

)

 

$

(2,885

)

Foreign exchange loss (gain)

 

 

1,765

 

 

 

(728

)

Other income, net

 

$

(3,957

)

 

$

(3,613

)

XML 21 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Other Intangible Assets
5.
Goodwill and other intangible assets

Goodwill

The change in the carrying amount of goodwill, which is attributable to the Software reportable segment, was as follows (in thousands):

 

Balance as of December 31, 2023

 

$

458,125

 

Foreign currency translation

 

 

(3,172

)

Balance as of March 31, 2024

 

$

454,953

 

 

Other intangible assets

A summary of other intangible assets is shown below (in thousands):

 

 

 

March 31, 2024

 

 

 

Weighted average
amortization period

 

Gross carrying
amount

 

 

Accumulated amortization

 

 

Net carrying amount

 

Definite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Developed technology

 

4-6 years

 

$

141,093

 

 

$

95,465

 

 

$

45,628

 

Customer relationships

 

7-10 years

 

 

57,988

 

 

 

39,427

 

 

 

18,561

 

Other intangibles

 

4-10 years

 

 

1,455

 

 

 

626

 

 

 

829

 

Total definite-lived intangible assets

 

 

 

 

200,536

 

 

 

135,518

 

 

 

65,018

 

Indefinite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Trade names

 

 

 

 

10,339

 

 

 

 

 

 

10,339

 

Total other intangible assets

 

 

 

$

210,875

 

 

$

135,518

 

 

$

75,357

 

 

 

 

December 31, 2023

 

 

 

Weighted average
amortization period

 

Gross carrying
amount

 

 

Accumulated
amortization

 

 

Net carrying
amount

 

Definite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Developed technology

 

4-6 years

 

$

142,368

 

 

$

90,729

 

 

$

51,639

 

Customer relationships

 

7-10 years

 

 

58,316

 

 

 

37,779

 

 

 

20,537

 

Other intangibles

 

4-10 years

 

 

1,459

 

 

 

563

 

 

 

896

 

Total definite-lived intangible assets

 

 

 

 

202,143

 

 

 

129,071

 

 

 

73,072

 

Indefinite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Trade names

 

 

 

 

10,478

 

 

 

 

 

 

10,478

 

Total other intangible assets

 

 

 

$

212,621

 

 

$

129,071

 

 

$

83,550

 

Amortization expense related to intangible assets was $7.4 million and $7.8 million for the three months ended March 31, 2024 and 2023, respectively.

XML 22 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Debt
6.
Debt

Convertible senior notes

2027 Notes

In June 2022, the Company issued $230.0 million aggregate principal amount of 1.750% convertible senior notes due in 2027 (the "2027 Notes"), which includes the initial purchaser’s exercise in full of its option to purchase an additional $30.0 million principal amount of the 2027 Notes, in a private offering. The net proceeds from the issuance of the 2027 Notes was $224.3 million after deducting discounts, commissions and estimated issuance costs. The 2027 Notes bear interest at a rate of 1.750% per year, payable semi-annually in arrears on June 15 and December 15 of each year, which commenced on December 15, 2022. The 2027 Notes mature on June 15, 2027, unless, earlier repurchased or redeemed by the Company or converted pursuant to their terms. The 2027 Notes have an initial conversion rate of 13.9505 shares of the Company's Class A common stock per $1,000 principal amount of 2027 Notes, which is equivalent to an initial conversion price of approximately $71.68 per share of its Class A common stock. Refer to the Company’s consolidated financial statements for the year ended December 31, 2022, for details of the issuance of the 2027 Notes.

The Company may settle the 2027 Notes in cash, shares of Class A common stock or a combination of cash and shares of its Class A common stock, at the Company’s election, in the manner and subject to the terms and conditions provided in the Indenture.

During the period ended March 31, 2024, the conditions allowing holders of the 2027 Notes to convert were not met. Therefore, the 2027 Notes remained classified as long-term debt on the consolidated balance sheet as of March 31, 2024.

2024 Notes

In June 2019, the Company issued $230.0 million aggregate principal amount of 0.25% convertible senior notes due in 2024 (the "2024 Notes" and together with the 2027 Notes, the “Convertible Notes”), which includes the underwriters’ exercise in full of their option to purchase an additional $30.0 million principal amount of the 2024 Notes, in a public offering. The net proceeds from the issuance of the 2024 Notes were $221.9 million after deducting the underwriting discounts and commissions and estimated issuance costs. The 2024 Notes bear interest at a rate of 0.25% per year, payable semi-annually in arrears on June 1 and December 1 of each year. The 2024 Notes mature on June 1, 2024, unless, earlier repurchased or redeemed by the Company or converted pursuant to their terms. The 2024 Notes have an initial conversion rate of 21.5049 shares of the Company's Class A common stock per $1,000 principal amount of 2024 Notes, which is equivalent to an initial conversion price of approximately $46.50 per share of its Class A common stock. Refer to the Company’s consolidated financial statements for the year ended December 31, 2023, for details of the issuance of the 2024 Notes.

During the year ended December 31, 2022, using proceeds from the issuance of the 2027 Notes, the Company entered into separate privately negotiated transactions with certain holders of the 2024 Notes to repurchase and retire $148.2 million aggregate principal amount of the 2024 Notes for an aggregate amount of $192.4 million of cash including accrued and unpaid interest.

As of March 31, 2024, until the close of business on the business day immediately preceding the maturity date, holders may convert their 2024 Notes at any time. Upon conversion, the Company has elected to settle the 2024 Notes par value in cash and to settle the premium in shares of its Class A common stock, subject to the terms and conditions provided in the Indenture. As of March 31, 2024, $81.7 million principal amount of the 2024 Notes remained outstanding and were classified as current liabilities on the consolidated balance sheet.

The net carrying value of the 2027 and 2024 Notes was as follows (in thousands):

 

 

March 31, 2024

 

 

December 31, 2023

 

 

 

2027 Notes

 

 

2024 Notes

 

 

2027 Notes

 

 

2024 Notes

 

Principal

 

$

230,000

 

 

$

81,729

 

 

$

230,000

 

 

$

81,729

 

Less: unamortized debt issuance costs

 

 

3,777

 

 

 

112

 

 

 

4,071

 

 

 

274

 

Net carrying amount

 

$

226,223

 

 

$

81,617

 

 

$

225,929

 

 

$

81,455

 

The interest expense related to the 2027 and 2024 Notes was as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Contractual interest expense

 

$

1,057

 

 

$

1,061

 

Amortization of debt issuance costs

 

 

457

 

 

 

464

 

Total

 

$

1,514

 

 

$

1,525

 

 

As of March 31, 2024, the “if converted value” of the 2027 Notes exceeded the principal amount by $46.4 million, and the “if converted value” of the 2024 Notes exceeded the principal amount by $69.7 million.

Revolving credit facility

The Company has a $200.0 million credit facility with a maturity date of December 31, 2025 (“2019 Amended Credit Agreement”).

As of March 31, 2024, there were no outstanding borrowings under the 2019 Amended Credit Agreement, there was $200.0 million available for future borrowing, and the Company was in compliance with all the financial covenants. The 2019 Amended Credit Agreement is available for general corporate purposes, including working capital, capital expenditures, and permitted acquisitions.

For additional information about the 2019 Amended Credit Agreement, refer to the Company’s consolidated financial statements for the year ended December 31, 2023, included in our Annual Report on Form 10-K.

XML 23 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair Value Measurements
7.
Fair value measurements

The accounting guidance for fair value, among other things, defines fair value, establishes a consistent framework for measuring fair value and expands disclosure for each major asset and liability category measured at fair value on either a recurring or nonrecurring basis. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the reporting date. The framework for measuring fair value consists of a three-level valuation hierarchy that prioritizes the inputs to valuation techniques used to measure fair value based upon whether such inputs are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect market assumptions made by the reporting entity. The three-level hierarchy for the inputs to valuation techniques is briefly summarized as follows:

Level 1 – Quoted prices in active markets for identical assets and liabilities at the measurement date;

Level 2 – Observable inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and

Level 3 – Unobservable inputs in which there is little or no market data, which require the reporting entity to develop its own assumptions.

An asset’s or liability’s fair value measurement level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.

The carrying value of cash and cash equivalents, accounts receivable, net and accounts payable approximate fair value due to their short maturities. Interest on the Company’s line of credit is at a variable rate, and as such the debt obligation outstanding approximates fair value.

The carrying value of the Company’s Convertible Notes are at face value less unamortized issuance costs. The estimated fair values of the Convertible Notes, which the Company has classified as Level 2 financial instruments, were determined based on quoted bid prices of the Convertible Notes on the last trading day of each reporting period. As of March 31, 2024, the estimated fair value of the 2027 Notes and 2024 Notes was $302.1 million and $150.9 million, respectively, and is presented for required disclosure purposes only. For further information on the Convertible Notes, see Note 6. – Debt.

XML 24 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Stock-Based Compensation
8.
Stock-based compensation

2017 stock-based compensation plan

In 2017, the Company’s Board of Directors adopted the 2017 Equity Incentive Plan (“2017 Plan”), which was approved by the Company’s stockholders. The 2017 Plan provides for the grant of incentive stock options to the Company’s employees and any parent and subsidiary corporations’ employees, and for the grant of nonstatutory stock options, stock appreciation rights, restricted stock, restricted stock units, performance units, performance shares, other cash-based awards and other stock-based awards to the Company’s employees, directors and consultants and the Company’s parent, subsidiary, and affiliate corporations’ employees and consultants. The 2017 Plan has 19,460,908 authorized shares of the Company’s Class A common stock reserved for issuance. As of March 31, 2024, the Company had 6,701,748 shares of its common stock available for future issuances under the 2017 Plan.

The following table summarizes the restricted stock units, or RSUs, awarded under the 2017 Plan for the period:

 

 

 

Number of RSUs

 

Outstanding as of December 31, 2023

 

 

1,086,351

 

Granted

 

 

308,671

 

Vested

 

 

(303,210

)

Forfeited

 

 

(6,428

)

Outstanding as of March 31, 2024

 

 

1,085,384

 

 

The weighted average grant date fair value of the RSUs was $79.20 and the RSUs generally vest in four equal annual installments. Total compensation cost related to nonvested awards not yet recognized as of March 31, 2024, totaled $93.5 million, and is expected to be recognized over a weighted average period of 2.7 years.

The following table summarizes the stock option activity under the 2017 Plan for the period:

 

 

 

Number of options

 

 

Weighted average
exercise price per share

 

 

Weighted average
remaining contractual term (years)

 

 

Aggregate
 intrinsic value
 (in millions)

 

Outstanding as of December 31, 2023

 

 

7,602,078

 

 

$

52.81

 

 

 

7.8

 

 

$

238.3

 

Granted

 

 

416,608

 

 

$

79.19

 

 

 

 

 

 

 

Exercised

 

 

(402,890

)

 

$

49.40

 

 

 

 

 

 

 

Forfeited

 

 

(22,962

)

 

$

55.23

 

 

 

 

 

 

 

Outstanding as of March 31, 2024

 

 

7,592,834

 

 

$

54.43

 

 

 

7.8

 

 

$

240.9

 

Exercisable as of March 31, 2024

 

 

3,640,511

 

 

$

51.42

 

 

 

6.8

 

 

$

126.4

 

The total intrinsic value of the 2017 Plan stock options exercised during the three months ended March 31, 2024, was $143.4 million.

2021 Employee Stock Purchase Plan

The Company has an Employee Stock Purchase Plan (“ESPP”) which allows eligible employees to purchase shares of common stock through payroll deductions and is intended to qualify under Section 423 of the Internal Revenue Code. The maximum number of shares available for issuance under the ESPP is 3,200,000 shares of the Company’s Class A common stock. As of March 31, 2024, the Company had 2,767,911 shares of its common stock available for future issuances under the ESPP.

The purchase price for each share of common stock purchased under the ESPP will be 85% of the lower of (a) the fair market value per share on the first day of the applicable offering period or (b) the fair market value per share on the applicable purchase date.

The Company issued 64,309 shares of common stock under the ESPP during the three months ended March 31, 2024. As of March 31, 2024 and December 31, 2023, respectively, $2.2 million and $4.2 million had been withheld on behalf of employees for future purchases under the ESPP due to the timing of payroll deductions and was reported in current liabilities. The Company recognized $0.7 million and $0.6 million of stock-based compensation expense related to the ESPP for the three months ended March 31, 2024 and 2023, respectively.

Stock-based compensation expense

Stock-based compensation expense was recorded as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Cost of revenue – software

 

$

2,002

 

 

$

2,752

 

Research and development

 

 

6,360

 

 

 

8,743

 

Sales and marketing

 

 

4,520

 

 

 

7,591

 

General and administrative

 

 

3,117

 

 

 

3,075

 

Total stock-based compensation expense

 

$

15,999

 

 

$

22,161

 

XML 25 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income (Loss) Per Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Net Income (Loss) Per Share
9.
Net income (loss) per share

Basic net income (loss) per share attributable to common stockholders is computed using the weighted average number of shares of common stock outstanding for the period, excluding dilutive securities, stock options, RSUs and ESPP shares. Diluted net income (loss) per share attributable to common stockholders is based upon the weighted average number of shares of common stock outstanding for the period and potentially dilutive common shares, including the effect of dilutive securities, stock options, RSUs and ESPP shares under the treasury stock method.

The Company applies the if-converted method for convertible instruments when calculating diluted earnings per share. Under the if-converted method, shares related to convertible senior notes, to the extent dilutive, are assumed to be converted into common stock at the beginning of the period.

The following table sets forth the computation of the numerators and denominators used in the basic and diluted net income (loss) per share amounts (in thousands, except per share data):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Numerator:

 

 

 

 

 

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Interest expense related to Convertible Notes, net of tax

 

 

1,057

 

 

 

 

Numerator for diluted income (loss) per share

 

$

17,604

 

 

$

(1,959

)

Denominator:

 

 

 

 

 

 

Denominator for basic income (loss) per share—
   weighted average shares

 

 

82,587

 

 

 

80,191

 

Effect of dilutive securities, stock options, RSUs and
   ESPP shares

 

 

7,219

 

 

 

 

Denominator for dilutive income (loss) per share

 

 

89,806

 

 

 

80,191

 

Net income (loss) per share attributable to common
  stockholders, basic

 

$

0.20

 

 

$

(0.02

)

Net income (loss) per share attributable to common
  stockholders, diluted

 

$

0.20

 

 

$

(0.02

)

 

Anti-dilutive shares excluded from the computation of diluted net income (loss) per share were as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Stock options and ESPP shares

 

 

 

 

 

2,883

 

Convertible shares

 

 

 

 

 

4,967

 

Total shares excluded from calculation

 

 

 

 

 

7,850

 

XML 26 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Income Taxes
10.
Income taxes

The Company’s income tax expense and effective tax rate for the three ended March 31, 2024 and 2023, were as follows (in thousands, except percentages):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Income tax expense

 

$

6,769

 

 

$

9,232

 

Effective tax rate

 

 

29

%

 

 

127

%

 

The tax rate is affected by the Company being a U.S. resident taxpayer, the tax rates in the U.S. and other jurisdictions in which the Company operates, the relative amount of income earned by jurisdiction and the relative amount of losses or income for which no benefit or expense is recognized due to a valuation allowance. The change in the effective tax rate for the three months ended March 31, 2024 as compared to March 31, 2023, was primarily attributable to the effects of tax elections made by the Company during the third quarter of 2023 that have a prospective impact on the Company’s tax expense in 2024. The Company's effective tax rate for the three months ended March 31, 2024 and 2023 also includes net discrete benefit of $0.4 million and expense of $5.7 million, respectively, primarily related to changes in tax laws, withholding taxes on royalties, changes in reserves, changes in accruals for unremitted earnings and other adjustments.

XML 27 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Loss
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Accumulated Other Comprehensive Loss
11.
Accumulated other comprehensive loss

The components of accumulated other comprehensive loss were as follows (in thousands):

 

 

 

Foreign currency translation

 

 

Retirement related
benefit plans

 

 

Total

 

Balance as of December 31, 2023

 

$

(21,473

)

 

$

(836

)

 

$

(22,309

)

Other comprehensive income before reclassification

 

 

(5,029

)

 

 

 

 

 

(5,029

)

Amounts reclassified from accumulated other comprehensive income

 

 

 

 

34

 

 

 

34

 

Tax effects

 

 

 

 

 

 

 

 

 

Other comprehensive income

 

 

(5,029

)

 

 

34

 

 

 

(4,995

)

Balance as of March 31, 2024

 

$

(26,502

)

 

$

(802

)

 

$

(27,304

)

XML 28 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies
12.
Commitments and contingencies

Legal proceedings

From time to time, the Company may be subject to legal proceedings and claims in the ordinary course of business. The Company has received, and may in the future continue to receive, claims from third parties asserting, among other things, infringement of their intellectual property rights. Future litigation may be necessary to defend the Company, its partners, and its customers by determining the scope, enforceability, and validity of third-party proprietary rights, or to establish and enforce the Company’s proprietary rights.

Effects of proceedings

The results of any current or future litigation cannot be predicted with certainty and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors.

XML 29 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Segment Information
13.
Segment information

The Company defines its operating segments as components of its business where separate financial information is available and used by the chief operating decision maker (“CODM”) in deciding how to allocate resources to its segments and in assessing performance. The Company’s CODM is its Chief Executive Officer.

The Company has identified two reportable segments for financial reporting purposes: Software and Client Engineering Services (“CES”). The primary measure of segment operating performance is Adjusted EBITDA, which is defined as net income (loss) adjusted for income tax expense (benefit), interest expense, interest income and other, depreciation and amortization, stock-based compensation expense, asset impairment charges and other special items as determined by management. Corporate headquarter costs are allocated to each segment.

The following tables are in thousands:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Three months ended March 31, 2024

 

Software

 

 

CES

 

 

All other

 

 

Total

 

Revenue

 

$

165,046

 

 

$

6,457

 

 

$

1,409

 

 

$

172,912

 

Adjusted EBITDA

 

$

46,070

 

 

$

(67

)

 

$

(185

)

 

$

45,818

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Three months ended March 31, 2023

 

Software

 

 

CES

 

 

All other

 

 

Total

 

Revenue

 

$

156,743

 

 

$

7,776

 

 

$

1,515

 

 

$

166,034

 

Adjusted EBITDA

 

$

42,772

 

 

$

409

 

 

$

(126

)

 

$

43,055

 

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Reconciliation of Adjusted EBITDA to U.S. GAAP
   income before income taxes:

 

 

 

 

 

 

Adjusted EBITDA

 

$

45,818

 

 

$

43,055

 

Stock-based compensation expense

 

 

(15,999

)

 

 

(22,161

)

Interest expense

 

 

(1,576

)

 

 

(1,526

)

Depreciation and amortization

 

 

(9,619

)

 

 

(9,750

)

Special adjustments, interest income and other (1)

 

 

4,692

 

 

 

(2,345

)

Income before income taxes

 

$

23,316

 

 

$

7,273

 

 

(1)
The three months ended March 31, 2024, primarily includes $5.7 million of interest income and $0.9 million of currency losses on acquisition-related intercompany loans. The three months ended March 31, 2023, includes a $7.0 million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $2.9 million of interest income, and $1.8 million of currency gains on acquisition-related intercompany loans.
XML 30 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Organization and Description of Business (Policies)
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation

Basis of presentation

The accompanying unaudited consolidated financial statements have been prepared in accordance with United States generally accepted accounting principles (“GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial information. Accordingly, the accompanying statements do not include all the information and notes required by GAAP for complete financial statements. The accompanying unaudited consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements (and notes thereto) for the year ended December 31, 2023, included in the most recent Annual Report on Form 10-K filed with the SEC.

Use of Estimates

Use of estimates

The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the financial statements and reported amounts of revenue and expenses during the reporting periods. On an ongoing basis, management evaluates its significant estimates including the stand alone selling price, or SSP, for each distinct performance obligation included in customer contracts with multiple performance obligations, valuation of acquired intangible assets in business combinations, the incremental borrowing rate used in the valuation of lease liabilities, the determination of the period of benefit for capitalized costs to obtain a contract, fair value of convertible senior notes, provision for credit loss, tax valuation allowances, liabilities for uncertain tax provisions, impairment of goodwill and intangible assets, useful lives of intangible assets, and stock-based compensation. Actual results could differ from those estimates.

Significant Accounting Policies

Significant accounting policies

There have been no material changes to our significant accounting policies as of and for the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report on Form 10-K for the year ended December 31, 2023.

Change in Presentation of Revenue and Cost of Revenue

Change in Presentation of Revenue and Cost of Revenue

Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (“FSLIs”) labeled “Software related services”, “Client engineering services” and “Other” into one FSLI labeled “Engineering services and other”. The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue, or total cost of revenue amounts previously reported or have any effect on segment reporting.

Recent Accounting Guidance

Accounting standards not yet adopted

Reference Rate Reform – In March 2020, the FASB issued ASU 2020-04. Reference Rate Reform (Topic 848) - Facilitation of the Effects of Reference Rate Reform on Financial Reporting. This ASU provides optional expedients and exceptions for applying U.S. GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference LIBOR or another rate that is expected to be discontinued. In October 2022, the FASB Board voted to amend the sunset date of ASU 2020-04 to December 31, 2024. The Company is currently evaluating the impact of this new guidance on its consolidated financial statements and related disclosures and does not expect this guidance to have a material effect on its consolidated financial statements.

Segment Reporting – In November 2023, the FASB issued ASU 2023-07 Segment Reporting (Topic 280) - Improvements to Reportable Segment Disclosures. The update is intended to improve reportable segment disclosure requirements, primarily through enhanced disclosures about significant expenses. The ASU requires disclosures to include significant segment expenses that are regularly provided to the chief operating decision maker (CODM), a description of other segment items by reportable segment, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU also requires all annual disclosures currently required by Topic 280 to be included in interim periods. The update is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted, and requires retrospective application to all prior periods presented in the financial statements. The Company is currently evaluating the impact of adopting the updated standard.

Income Taxes – In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which updates income tax disclosures related to the tax rate reconciliation and requires disclosure of income taxes paid by jurisdiction. The amendments are effective for fiscal years beginning after December 15, 2024. Early adoption is permitted. The amendments should be applied prospectively; however, retrospective application is permitted. The Company is currently evaluating this ASU to determine the effect on its related disclosures.

XML 31 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue

The Company disaggregates its revenue by type of performance obligation and timing of revenue recognition as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

2024

 

 

2023

 

Term licenses and other software products

 

$

111,170

 

$

103,309

 

Perpetual licenses

 

 

6,537

 

 

 

9,100

 

Maintenance

 

 

38,643

 

 

 

35,601

 

Professional software services

 

 

2,079

 

 

 

1,633

 

Software related services

 

 

6,617

 

 

 

7,100

 

Client engineering services

 

 

6,457

 

 

 

7,776

 

Other

 

 

1,409

 

 

 

1,515

 

Total revenue

 

$

172,912

 

 

$

166,034

 

 

XML 32 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information (Tables)
3 Months Ended
Mar. 31, 2024
Supplementary Information [Abstract]  
Reconciliation of Cash, Cash Equivalents and Restricted Cash The following table provides a reconciliation of cash, cash equivalents and restricted cash reported in the consolidated balance sheets that sum to the total of the amounts reported in the consolidated statement of cash flows (in thousands):

 

 

 

March 31,

 

December 31,

 

 

 

2024

 

2023

 

Cash and cash equivalents

 

$

557,605

 

$

467,459

 

Restricted cash included in other long-term assets

 

 

92

 

 

117

 

Total cash, cash equivalents and restricted cash

 

$

557,696

 

$

467,576

 

Summary of Property and Equipment

Property and equipment consisted of the following (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Land

 

$

8,373

 

 

$

8,376

 

Building and improvements

 

 

17,515

 

 

 

17,528

 

Computer equipment and software

 

 

46,154

 

 

 

45,678

 

Furniture, equipment and other

 

 

13,972

 

 

 

14,402

 

Leasehold improvements

 

 

8,602

 

 

 

8,380

 

Total property and equipment

 

 

94,616

 

 

 

94,364

 

Less: accumulated depreciation and amortization

 

 

55,779

 

 

 

54,561

 

Property and equipment, net

 

$

38,837

 

 

$

39,803

 

Summary of Other Accrued Expenses and Current Liabilities

The following table provides the details of other accrued expenses and current liabilities (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Income taxes payable

 

$

15,152

 

 

$

12,239

 

Accrued VAT

 

 

4,472

 

 

 

8,710

 

Obligations related to acquisition of businesses and technology

 

 

3,012

 

 

 

3,286

 

Accrued royalties

 

 

2,889

 

 

 

2,313

 

Accrued professional fees

 

 

2,808

 

 

 

2,436

 

Billings in excess of cost

 

 

2,401

 

 

 

2,385

 

Employee stock purchase plan obligations

 

 

2,210

 

 

 

4,155

 

Non-income tax liabilities

 

 

1,332

 

 

 

2,473

 

Accrued interest

 

 

1,242

 

 

 

183

 

Defined contribution plan liabilities

 

 

1,110

 

 

 

1,454

 

Other current liabilities

 

 

7,192

 

 

 

8,764

 

Total

 

$

43,820

 

 

$

48,398

 

Summary of Other Long-term Liabilities

The following table provides details of other long-term liabilities (in thousands):

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

Pension and other post-retirement liabilities

 

$

16,219

 

 

$

15,815

 

Income tax reserves

 

 

16,117

 

 

 

16,254

 

Deferred tax liabilities

 

 

12,765

 

 

 

12,870

 

Other long-term liabilities

 

 

2,012

 

 

 

2,212

 

Total

 

$

47,113

 

 

$

47,151

 

Schedule of Other Income, Net

Other income, net consists of the following (in thousands):

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Interest income

 

$

(5,722

)

 

$

(2,885

)

Foreign exchange loss (gain)

 

 

1,765

 

 

 

(728

)

Other income, net

 

$

(3,957

)

 

$

(3,613

)

XML 33 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment

The change in the carrying amount of goodwill, which is attributable to the Software reportable segment, was as follows (in thousands):

 

Balance as of December 31, 2023

 

$

458,125

 

Foreign currency translation

 

 

(3,172

)

Balance as of March 31, 2024

 

$

454,953

 

Schedule of Other Intangible Assets

A summary of other intangible assets is shown below (in thousands):

 

 

 

March 31, 2024

 

 

 

Weighted average
amortization period

 

Gross carrying
amount

 

 

Accumulated amortization

 

 

Net carrying amount

 

Definite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Developed technology

 

4-6 years

 

$

141,093

 

 

$

95,465

 

 

$

45,628

 

Customer relationships

 

7-10 years

 

 

57,988

 

 

 

39,427

 

 

 

18,561

 

Other intangibles

 

4-10 years

 

 

1,455

 

 

 

626

 

 

 

829

 

Total definite-lived intangible assets

 

 

 

 

200,536

 

 

 

135,518

 

 

 

65,018

 

Indefinite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Trade names

 

 

 

 

10,339

 

 

 

 

 

 

10,339

 

Total other intangible assets

 

 

 

$

210,875

 

 

$

135,518

 

 

$

75,357

 

 

 

 

December 31, 2023

 

 

 

Weighted average
amortization period

 

Gross carrying
amount

 

 

Accumulated
amortization

 

 

Net carrying
amount

 

Definite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Developed technology

 

4-6 years

 

$

142,368

 

 

$

90,729

 

 

$

51,639

 

Customer relationships

 

7-10 years

 

 

58,316

 

 

 

37,779

 

 

 

20,537

 

Other intangibles

 

4-10 years

 

 

1,459

 

 

 

563

 

 

 

896

 

Total definite-lived intangible assets

 

 

 

 

202,143

 

 

 

129,071

 

 

 

73,072

 

Indefinite-lived intangible assets:

 

 

 

 

 

 

 

 

 

 

 

Trade names

 

 

 

 

10,478

 

 

 

 

 

 

10,478

 

Total other intangible assets

 

 

 

$

212,621

 

 

$

129,071

 

 

$

83,550

 

XML 34 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt (Tables)
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Schedule of Net Carrying Value of the 2027 and 2024 Notes

The net carrying value of the 2027 and 2024 Notes was as follows (in thousands):

 

 

March 31, 2024

 

 

December 31, 2023

 

 

 

2027 Notes

 

 

2024 Notes

 

 

2027 Notes

 

 

2024 Notes

 

Principal

 

$

230,000

 

 

$

81,729

 

 

$

230,000

 

 

$

81,729

 

Less: unamortized debt issuance costs

 

 

3,777

 

 

 

112

 

 

 

4,071

 

 

 

274

 

Net carrying amount

 

$

226,223

 

 

$

81,617

 

 

$

225,929

 

 

$

81,455

 

Schedule of Interest Expense Related to 2027 and 2024 Notes

The interest expense related to the 2027 and 2024 Notes was as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Contractual interest expense

 

$

1,057

 

 

$

1,061

 

Amortization of debt issuance costs

 

 

457

 

 

 

464

 

Total

 

$

1,514

 

 

$

1,525

 

XML 35 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation (Tables)
3 Months Ended
Mar. 31, 2024
Summary of Stock-Based Compensation

Stock-based compensation expense was recorded as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Cost of revenue – software

 

$

2,002

 

 

$

2,752

 

Research and development

 

 

6,360

 

 

 

8,743

 

Sales and marketing

 

 

4,520

 

 

 

7,591

 

General and administrative

 

 

3,117

 

 

 

3,075

 

Total stock-based compensation expense

 

$

15,999

 

 

$

22,161

 

2017 Plan [Member]  
Summary of Restricted Stock Units Awarded

The following table summarizes the restricted stock units, or RSUs, awarded under the 2017 Plan for the period:

 

 

 

Number of RSUs

 

Outstanding as of December 31, 2023

 

 

1,086,351

 

Granted

 

 

308,671

 

Vested

 

 

(303,210

)

Forfeited

 

 

(6,428

)

Outstanding as of March 31, 2024

 

 

1,085,384

 

Summary of Stock Option Activity

The following table summarizes the stock option activity under the 2017 Plan for the period:

 

 

 

Number of options

 

 

Weighted average
exercise price per share

 

 

Weighted average
remaining contractual term (years)

 

 

Aggregate
 intrinsic value
 (in millions)

 

Outstanding as of December 31, 2023

 

 

7,602,078

 

 

$

52.81

 

 

 

7.8

 

 

$

238.3

 

Granted

 

 

416,608

 

 

$

79.19

 

 

 

 

 

 

 

Exercised

 

 

(402,890

)

 

$

49.40

 

 

 

 

 

 

 

Forfeited

 

 

(22,962

)

 

$

55.23

 

 

 

 

 

 

 

Outstanding as of March 31, 2024

 

 

7,592,834

 

 

$

54.43

 

 

 

7.8

 

 

$

240.9

 

Exercisable as of March 31, 2024

 

 

3,640,511

 

 

$

51.42

 

 

 

6.8

 

 

$

126.4

 

XML 36 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income (Loss) Per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Schedule Of Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts

The following table sets forth the computation of the numerators and denominators used in the basic and diluted net income (loss) per share amounts (in thousands, except per share data):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Numerator:

 

 

 

 

 

 

Net income (loss)

 

$

16,547

 

 

$

(1,959

)

Interest expense related to Convertible Notes, net of tax

 

 

1,057

 

 

 

 

Numerator for diluted income (loss) per share

 

$

17,604

 

 

$

(1,959

)

Denominator:

 

 

 

 

 

 

Denominator for basic income (loss) per share—
   weighted average shares

 

 

82,587

 

 

 

80,191

 

Effect of dilutive securities, stock options, RSUs and
   ESPP shares

 

 

7,219

 

 

 

 

Denominator for dilutive income (loss) per share

 

 

89,806

 

 

 

80,191

 

Net income (loss) per share attributable to common
  stockholders, basic

 

$

0.20

 

 

$

(0.02

)

Net income (loss) per share attributable to common
  stockholders, diluted

 

$

0.20

 

 

$

(0.02

)

Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share

Anti-dilutive shares excluded from the computation of diluted net income (loss) per share were as follows (in thousands):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Stock options and ESPP shares

 

 

 

 

 

2,883

 

Convertible shares

 

 

 

 

 

4,967

 

Total shares excluded from calculation

 

 

 

 

 

7,850

 

XML 37 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes (Tables)
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Schedule of Income Tax Expense and Effective Tax Rate

The Company’s income tax expense and effective tax rate for the three ended March 31, 2024 and 2023, were as follows (in thousands, except percentages):

 

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Income tax expense

 

$

6,769

 

 

$

9,232

 

Effective tax rate

 

 

29

%

 

 

127

%

XML 38 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Loss (Tables)
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Components of Accumulated Other Comprehensive Loss

The components of accumulated other comprehensive loss were as follows (in thousands):

 

 

 

Foreign currency translation

 

 

Retirement related
benefit plans

 

 

Total

 

Balance as of December 31, 2023

 

$

(21,473

)

 

$

(836

)

 

$

(22,309

)

Other comprehensive income before reclassification

 

 

(5,029

)

 

 

 

 

 

(5,029

)

Amounts reclassified from accumulated other comprehensive income

 

 

 

 

34

 

 

 

34

 

Tax effects

 

 

 

 

 

 

 

 

 

Other comprehensive income

 

 

(5,029

)

 

 

34

 

 

 

(4,995

)

Balance as of March 31, 2024

 

$

(26,502

)

 

$

(802

)

 

$

(27,304

)

XML 39 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Schedule of Segment Reporting Information

The following tables are in thousands:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Three months ended March 31, 2024

 

Software

 

 

CES

 

 

All other

 

 

Total

 

Revenue

 

$

165,046

 

 

$

6,457

 

 

$

1,409

 

 

$

172,912

 

Adjusted EBITDA

 

$

46,070

 

 

$

(67

)

 

$

(185

)

 

$

45,818

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Three months ended March 31, 2023

 

Software

 

 

CES

 

 

All other

 

 

Total

 

Revenue

 

$

156,743

 

 

$

7,776

 

 

$

1,515

 

 

$

166,034

 

Adjusted EBITDA

 

$

42,772

 

 

$

409

 

 

$

(126

)

 

$

43,055

 

Reconciliation of U.S. GAAP (Loss) Income Before Income Taxes to Adjusted EBITDA

 

 

Three Months Ended
March 31,

 

 

 

2024

 

 

2023

 

Reconciliation of Adjusted EBITDA to U.S. GAAP
   income before income taxes:

 

 

 

 

 

 

Adjusted EBITDA

 

$

45,818

 

 

$

43,055

 

Stock-based compensation expense

 

 

(15,999

)

 

 

(22,161

)

Interest expense

 

 

(1,576

)

 

 

(1,526

)

Depreciation and amortization

 

 

(9,619

)

 

 

(9,750

)

Special adjustments, interest income and other (1)

 

 

4,692

 

 

 

(2,345

)

Income before income taxes

 

$

23,316

 

 

$

7,273

 

 

(1)
The three months ended March 31, 2024, primarily includes $5.7 million of interest income and $0.9 million of currency losses on acquisition-related intercompany loans. The three months ended March 31, 2023, includes a $7.0 million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $2.9 million of interest income, and $1.8 million of currency gains on acquisition-related intercompany loans.
XML 40 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Schedule of Disaggregation of Revenue (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation Of Revenue [Line Items]    
Total revenue $ 172,912 $ 166,034
TermLicensesAndOtherSoftwareProducts [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue 111,170 103,309
Perpetual Licenses [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue 6,537 9,100
Maintenance [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue 38,643 35,601
Professional Software Services [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue 2,079 1,633
Software Related Services [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue 6,617 7,100
Client Engineering Services [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue 6,457 7,776
Other [Member]    
Disaggregation Of Revenue [Line Items]    
Total revenue $ 1,409 $ 1,515
XML 41 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Additional Information (Detail) - USD ($)
$ in Millions
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Mar. 31, 2023
Revenue From Contracts With Customers [Line Items]      
Percentage of net revenues through indirect channels 10.80%    
Deferred revenue, revenue recognized $ 66.3    
Contracted revenue not yet recognized $ 243.5   $ 208.3
Revenue recognize percentage 70.00%    
Sales and Marketing Expense [Member]      
Revenue From Contracts With Customers [Line Items]      
Sales commissions $ 2.3 $ 2.0  
Prepaid and Other Current Assets [Member]      
Revenue From Contracts With Customers [Line Items]      
Capitalized contract cost net, current 4.6 4.3  
Contract assets 3.1 2.7  
Other Long-Term Assets [Member]      
Revenue From Contracts With Customers [Line Items]      
Capitalized contract cost net, noncurrent 0.9 0.9  
Accounts Receivable [Member]      
Revenue From Contracts With Customers [Line Items]      
Contract assets $ 5.1 $ 5.2  
XML 42 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Additional Information (Detail)1
Mar. 31, 2024
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2024-04-01  
Revenue From Contracts With Customers [Line Items]  
Revenue, remaining contractual obligation, expected to recognize, period 12 months
XML 43 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information - Reconciliation of Cash, Cash Equivalents and Restricted Cash (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Mar. 31, 2023
Dec. 31, 2022
Supplementary Information [Abstract]        
Cash and cash equivalents $ 557,605 $ 467,459    
Restricted cash included in other long-term assets 92 117    
Total cash, cash equivalents, and restricted cash $ 557,696 $ 467,576 $ 378,860 $ 316,958
XML 44 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information - Summary of Property and Equipment (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 94,616 $ 94,364
Less: accumulated depreciation and amortization 55,779 54,561
Property and equipment, net 38,837 39,803
Land [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 8,373 8,376
Building and Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 17,515 17,528
Computer Equipment and Software [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 46,154 45,678
Furniture Equipment and Other [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 13,972 14,402
Leasehold Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 8,602 $ 8,380
XML 45 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information - Additional Information (Detail) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Noncash or Part Noncash Acquisitions [Line Items]    
Depreciation expense, including amortization of right-of-use assets under finance leases $ 2.2 $ 1.9
Loss (gain) on mark-to-market adjustment of contingent consideration   $ 7.0
2021 Acquisitions [Member]    
Noncash or Part Noncash Acquisitions [Line Items]    
Loss (gain) on mark-to-market adjustment of contingent consideration $ 0.1  
XML 46 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information - Summary of Other Accrued Expenses and Current Liabilities (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Other Liabilities Disclosure [Abstract]    
Income taxes payable $ 15,152 $ 12,239
Accrued VAT 4,472 8,710
Obligations related to acquisition of businesses and technology 3,012 3,286
Accrued royalties 2,889 2,313
Accrued professional fees 2,808 2,436
Billings in excess of cost 2,401 2,385
Employee stock purchase plan obligations 2,210 4,155
Non-income tax liabilities 1,332 2,473
Accrued interest 1,242 183
Defined contribution plan liabilities 1,110 1,454
Other current liabilities 7,192 8,764
Total $ 43,820 $ 48,398
XML 47 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information - Summary of Other Long-term Liabilities (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Other Liabilities Disclosure [Abstract]    
Pension and other post retirement liabilities $ 16,219 $ 15,815
Income tax reserves 16,117 16,254
Deferred tax liabilities 12,765 12,870
Other long-term liabilities 2,012 2,212
Total $ 47,113 $ 47,151
XML 48 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplementary Information - Schedule of Other Income, Net (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Supplementary Information [Abstract]    
Interest income $ (5,722) $ (2,885)
Foreign exchange loss (gain) 1,765 (728)
Other income, net $ (3,957) $ (3,613)
XML 49 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment (Detail)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Goodwill and Intangible Assets Disclosure [Abstract]  
Beginning Balance $ 458,125
Foreign currency translation (3,172)
Ending Balance $ 454,953
XML 50 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets - Schedule of Other Intangible Assets (Detail) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Summary Of Other Intangible Assets [Line Items]    
Gross carrying amount $ 200,536 $ 202,143
Accumulated amortization 135,518 129,071
Net carrying amount 65,018 73,072
Gross carrying amount 210,875 212,621
Net carrying amount 75,357 83,550
Developed Technology [Member]    
Summary Of Other Intangible Assets [Line Items]    
Gross carrying amount 141,093 142,368
Accumulated amortization 95,465 90,729
Net carrying amount $ 45,628 $ 51,639
Developed Technology [Member] | Minimum [Member]    
Summary Of Other Intangible Assets [Line Items]    
Weighted-average useful life of acquired finite-lived intangible assets 4 years 4 years
Developed Technology [Member] | Maximum [Member]    
Summary Of Other Intangible Assets [Line Items]    
Weighted-average useful life of acquired finite-lived intangible assets 6 years 6 years
Customer Relationships [Member]    
Summary Of Other Intangible Assets [Line Items]    
Gross carrying amount $ 57,988 $ 58,316
Accumulated amortization 39,427 37,779
Net carrying amount $ 18,561 $ 20,537
Customer Relationships [Member] | Minimum [Member]    
Summary Of Other Intangible Assets [Line Items]    
Weighted-average useful life of acquired finite-lived intangible assets 7 years 7 years
Customer Relationships [Member] | Maximum [Member]    
Summary Of Other Intangible Assets [Line Items]    
Weighted-average useful life of acquired finite-lived intangible assets 10 years 10 years
Other Intangibles [Member]    
Summary Of Other Intangible Assets [Line Items]    
Gross carrying amount $ 1,455 $ 1,459
Accumulated amortization 626 563
Net carrying amount $ 829 $ 896
Other Intangibles [Member] | Minimum [Member]    
Summary Of Other Intangible Assets [Line Items]    
Weighted-average useful life of acquired finite-lived intangible assets 4 years 4 years
Other Intangibles [Member] | Maximum [Member]    
Summary Of Other Intangible Assets [Line Items]    
Weighted-average useful life of acquired finite-lived intangible assets 10 years 10 years
Trade Names [Member]    
Summary Of Other Intangible Assets [Line Items]    
Net carrying amount $ 10,339 $ 10,478
Gross carrying amount $ 10,339 $ 10,478
XML 51 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangible Assets - Additional Information (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
Amortization of intangible assets $ 7,438 $ 7,814
XML 52 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Additional Information (Detail) - USD ($)
1 Months Ended 3 Months Ended
Jun. 30, 2022
Jun. 30, 2019
Mar. 31, 2024
Dec. 31, 2023
Convertible Senior Notes Due in 2027 [Member]        
Debt Instrument [Line Items]        
Debt instrument, aggregate principal amount $ 230,000,000   $ 230,000,000 $ 230,000,000
Debt instrument interest rate 1.75%   1.75%  
Additional principal amount of notes to initial purchaser's $ 30,000,000      
Net proceeds from issuance of costs $ 224,300,000      
Debt instrument frequency of periodic payment     semi-annually  
Interest payment commencement date     Dec. 15, 2022  
Debt instrument, description     The 2027 Notes bear interest at a rate of 1.750% per year, payable semi-annually in arrears on June 15 and December 15 of each year, which commenced on December 15, 2022.  
Debt conversion, converted instrument, shares issued     13.9505  
Debt instrument, convertible, terms of conversion feature     The 2027 Notes have an initial conversion rate of 13.9505 shares of the Company's Class A common stock per $1,000 principal amount of 2027 Notes, which is equivalent to an initial conversion price of approximately $71.68 per share of its Class A common stock.  
Debt instrument, convertible, "if-converted value" in excess of the principal amount     $ 46,400,000  
Convertible Senior Notes Due in 2027 [Member] | Class A Common Stock [Member]        
Debt Instrument [Line Items]        
Debt instrument conversion rate principal amount of notes     $ 1,000  
Debt instrument convertible initial conversion price per share of common stock     $ 71.68  
Convertible Senior Notes Due in 2024 [Member]        
Debt Instrument [Line Items]        
Debt instrument, aggregate principal amount   $ 230,000,000 $ 81,729,000 $ 81,729,000
Debt instrument interest rate   0.25% 0.25%  
Additional principal amount of notes to underwriters   $ 30,000,000    
Net proceeds from issuance of costs   $ 221,900,000    
Debt instrument frequency of periodic payment     semi-annually  
Debt instrument maturity date   Jun. 01, 2024    
Debt instrument, description     The 2024 Notes bear interest at a rate of 0.25% per year, payable semi-annually in arrears on June 1 and December 1 of each year.  
Debt instrument, convertible, terms of conversion feature     The 2024 Notes have an initial conversion rate of 21.5049 shares of the Company's Class A common stock per $1,000 principal amount of 2024 Notes, which is equivalent to an initial conversion price of approximately $46.50 per share of its Class A common stock.  
Debt instrument repurchased face amount     $ 148,200,000  
Repayments of notes payable     192,400,000  
Debt instrument principal outstanding     81,700,000  
Debt instrument, convertible, "if-converted value" in excess of the principal amount     $ 69,700,000  
Convertible Senior Notes Due in 2024 [Member] | Class A Common Stock [Member]        
Debt Instrument [Line Items]        
Debt conversion, converted instrument, shares issued   21.5049    
Debt instrument conversion rate principal amount of notes   $ 1,000    
Debt instrument convertible initial conversion price per share of common stock   $ 46.5    
Twenty Nineteen Credit Agreement        
Debt Instrument [Line Items]        
Maturity date     Dec. 31, 2025  
Credit facility     $ 200,000,000  
Secured Credit Agreement [Member]        
Debt Instrument [Line Items]        
Loan outstanding     0  
Amount available for future borrowing     $ 200,000,000  
XML 53 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Jun. 30, 2022
Jun. 30, 2019
Debt Instrument [Line Items]        
Net carrying amount $ 226,223 $ 225,929    
Convertible Senior Notes Due in 2027 [Member]        
Debt Instrument [Line Items]        
Principal 230,000 230,000 $ 230,000  
Less: unamortized debt issuance costs 3,777 4,071    
Net carrying amount 226,223 225,929    
Convertible Senior Notes Due in 2024 [Member]        
Debt Instrument [Line Items]        
Principal 81,729 81,729   $ 230,000
Less: unamortized debt issuance costs 112 274    
Net carrying amount $ 81,617 $ 81,455    
XML 54 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Schedule of Interest Expense Related to 2027 and 2024 Notes (Detail) - Convertible Senior Notes Due in 2024 and 2027 [Member] - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Debt Instrument [Line Items]    
Contractual interest expense $ 1,057 $ 1,061
Amortization of debt issuance costs 457 464
Total $ 1,514 $ 1,525
XML 55 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements - Additional Information (Detail)
$ in Millions
Mar. 31, 2024
USD ($)
Convertible Senior Notes Due in 2027 [Member]  
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]  
Fair value of convertible notes $ 302.1
Convertible Senior Notes Due in 2024 [Member]  
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]  
Fair value of convertible notes $ 150.9
XML 56 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based Compensation - Additional Information (Detail)
$ / shares in Units, $ in Millions
3 Months Ended 12 Months Ended
Mar. 31, 2024
USD ($)
Installment
$ / shares
shares
Mar. 31, 2023
shares
Dec. 31, 2023
USD ($)
Sep. 27, 2017
shares
2021 Employee Stock Purchase Plan [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Percentage of purchase price for each share of common stock purchased of lower of fair market value per share on first day of applicable offering period 85.00%      
Stock-based compensation expense | $ $ 0.7   $ 0.6  
2021 Employee Stock Purchase Plan [Member] | The Timing of Payroll Deductions [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Amount withheld on behalf of employees for a future purchase | $ $ 2.2   $ 4.2  
2021 Employee Stock Purchase Plan [Member] | Common Stock [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Issuance of common stock for employee stock purchase program (in shares) 64,309      
Class A Common Stock [Member] | Common Stock [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Issuance of common stock for employee stock purchase program (in shares) 64,000 92,000    
2017 Plan [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Intrinsic value of options exercised | $ $ 143.4      
2017 Plan [Member] | Common Stock [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Common stock reserved for issuance 6,701,748      
2017 Plan [Member] | Restricted Stock Units (RSUs) [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Weighted average grant date fair value of RSUs | $ / shares $ 79.2      
Number of vesting equal annual installments | Installment 4      
Compensation cost related to nonvested awards not yet recognized | $ $ 93.5      
Weighted average period of recognition 2 years 8 months 12 days      
2017 Plan [Member] | Class A Common Stock [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Common stock reserved for issuance       19,460,908
Maximum [Member] | 2021 Employee Stock Purchase Plan [Member] | Common Stock [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Common stock reserved for issuance 2,767,911      
Maximum [Member] | Class A Common Stock [Member] | 2021 Employee Stock Purchase Plan [Member]        
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]        
Common stock reserved for issuance 3,200,000      
XML 57 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based Compensation - Summary of Restricted Stock Units Awarded (Detail) - 2017 Plan [Member] - Restricted Stock Units (RSUs) [Member]
3 Months Ended
Mar. 31, 2024
shares
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]  
Number of RSUs, Outstanding Beginning Balance 1,086,351
Number of RSUs, Granted 308,671
Number of RSUs, Vested (303,210)
Number of RSUs, Forfeited (6,428)
Number of RSUs, Outstanding Ending Balance 1,085,384
XML 58 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based Compensation - Summary of Stock Option Activity under 2017 Plan (Detail) - 2017 Plan [Member] - USD ($)
$ / shares in Units, $ in Millions
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]    
Number of options, Outstanding, Beginning Balance 7,602,078  
Number of options, Granted 416,608  
Number of options, Exercised (402,890)  
Number of options, Forfeited (22,962)  
Number of options, Outstanding, Ending Balance 7,592,834 7,602,078
Number of options, Exercisable 3,640,511  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]    
Weighted average exercise price per share, Outstanding, Beginning Balance $ 52.81  
Weighted average exercise price per share, Granted 79.19  
Weighted average exercise price per share, Exercised 49.4  
Weighted average exercise price per share, Forfeited 55.23  
Weighted average exercise price per share, Outstanding, Ending Balance 54.43 $ 52.81
Weighted average exercise price per share, Exercisable $ 51.42  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]    
Weighted average remaining contractual term (years), Outstanding 7 years 9 months 18 days 7 years 9 months 18 days
Weighted average remaining contractual term (years), Exercisable 6 years 9 months 18 days  
Aggregate intrinsic value, Outstanding $ 240.9 $ 238.3
Aggregate intrinsic value, Exercisable $ 126.4  
XML 59 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based Compensation - Summary of Stock-Based Compensation Expense (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Total stock-based compensation expense $ 15,999 $ 22,161
Cost of revenue - software [Member]    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Total stock-based compensation expense 2,002 2,752
Research and development [Member]    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Total stock-based compensation expense 6,360 8,743
Sales and marketing [Member]    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Total stock-based compensation expense 4,520 7,591
General and administrative [Member]    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Total stock-based compensation expense $ 3,117 $ 3,075
XML 60 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income (Loss) Per Share - Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts (Detail) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net income (loss) $ 16,547 $ (1,959)
Interest expense related to Convertible Notes, net of tax 1,057 0
Numerator for diluted income (loss) per share $ 17,604 $ (1,959)
Denominator:    
Denominator for basic income (loss) per share--weighted average shares 82,587 80,191
Effect of dilutive securities, stock options, RSUs and ESPP shares 7,219 0
Denominator for dilutive income (loss) per share 89,806 80,191
Net income (loss) per share attributable to common stockholders, basic $ 0.2 $ (0.02)
Net income (loss) per share attributable to common stockholders, diluted $ 0.2 $ (0.02)
XML 61 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income (Loss) Per Share - Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share (Detail) - shares
shares in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount 0 7,850
Stock Options and ESPP [Member]    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount 0 2,883
Convertible Shares [Member]    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount 0 4,967
XML 62 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes - Schedule of Income Tax Expense and Effective Tax Rate (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax Disclosure [Abstract]    
Income tax expense $ 6,769 $ 9,232
Effective tax rate 29.00% 127.00%
XML 63 R57.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes - Additional Information (Detail) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax Disclosure [Abstract]    
Net discrete expense (benefit) $ (0.4) $ 5.7
XML 64 R58.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Beginning balance $ 711,331 $ 569,736
Total other comprehensive (loss) income (4,995) 7,251
Ending balance 762,928 606,905
Foreign Currency Translation [Member]    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Beginning balance (21,473)  
Other comprehensive income before reclassification (5,029)  
Amounts reclassified from accumulated other comprehensive income 0  
Tax effects 0  
Total other comprehensive (loss) income (5,029)  
Ending balance (26,502)  
Retirement Related Benefit Plans [Member]    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Beginning balance (836)  
Other comprehensive income before reclassification 0  
Amounts reclassified from accumulated other comprehensive income 34  
Tax effects 0  
Total other comprehensive (loss) income 34  
Ending balance (802)  
Accumulated Other Comprehensive Loss [Member]    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Beginning balance (22,309) (30,002)
Other comprehensive income before reclassification (5,029)  
Amounts reclassified from accumulated other comprehensive income 34  
Tax effects 0  
Total other comprehensive (loss) income (4,995)  
Ending balance $ (27,304) $ (22,751)
XML 65 R59.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information - Additional Information (Detail)
3 Months Ended
Mar. 31, 2024
Segment
Segment Reporting [Abstract]  
Number of reportable segments 2
XML 66 R60.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information - Schedule of Segment Reporting Information (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting Information [Line Items]    
Revenue $ 172,912 $ 166,034
Adjusted EBITDA 45,818 43,055
Software [Member]    
Segment Reporting Information [Line Items]    
Revenue 165,046 156,743
Adjusted EBITDA 46,070 42,772
CES [Member]    
Segment Reporting Information [Line Items]    
Revenue 6,457 7,776
Adjusted EBITDA (67) 409
All Other [Member]    
Segment Reporting Information [Line Items]    
Revenue 1,409 1,515
Adjusted EBITDA $ (185) $ (126)
XML 67 R61.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information - Reconciliation of U.S. GAAP Loss Before Income Taxes to Adjusted EBITDA (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting [Abstract]    
Adjusted EBITDA $ 45,818 $ 43,055
Stock-based compensation expense (15,999) (22,161)
Interest expense (1,576) (1,526)
Depreciation and amortization (9,619) (9,750)
Special adjustments, interest income and other [1] 4,692 (2,345)
Income before income taxes $ 23,316 $ 7,273
[1] The three months ended March 31, 2024, primarily includes $5.7 million of interest income and $0.9 million of currency losses on acquisition-related intercompany loans. The three months ended March 31, 2023, includes a $7.0 million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $2.9 million of interest income, and $1.8 million of currency gains on acquisition-related intercompany loans.
XML 68 R62.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information - Reconciliation of U.S. GAAP Income (Loss) Before Income Taxes to Adjusted EBITDA (Parenthetical) (Detail) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting Information [Line Items]    
Loss (gain) on mark-to-market adjustment of contingent consideration   $ 7.0
Interest income $ 5.7 2.9
Currency losses on acquisition-related intercompany loans $ 0.9 1.8
World Programming [Member]    
Segment Reporting Information [Line Items]    
Gain on mark-to-market adjustment of contingent consideration   $ 7.0
EXCEL 69 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -*#HE@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " #2@Z)89[FG?>\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O315D=#E9<,G!<&!XEM(;EM8DX;DI-VWMZU;A^@'\#%W__SN M=W"-B=)T"5]2%S&1PWPS^#9D:>**'8BB!,CF@%[GHC9' MO4<0G-^#1])6DX8)6,2%R%1CC30)-77IC+=FP_/3Z_SNH4+ MF70P./[*3M(IXHI=)K_5Z\WVD2G!Q6W![PHNMH++FLOJX6-R_>%W%?:==3OW MCXTO@JJ!7W>AO@!02P,$% @ TH.B6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #2@Z)8P9R?!C.\XGCGL[QK\F*TH%>HW".+FKK818OV\T$F]%(Y+< ML#6-Y3<+QB,BY"Y?-I(UI\1/15'8P);5;D0DB&O]7GKLF?=[;"/"(*;/'"6; M*")\/Z0AV]W5[-KQP#18KH0ZT.CWUF1)9U3\L7[FC!.D9?P9TEYQL(Q7EA;&O:F?LW]4L52(:4D\H"R(_MM2E8:B<9#G^ MS4QK^6\JX>GVT?T^#2_#O)"$NBS\*_#%ZJ[6K2&?+L@F%%.V^XUF@5K*SV-A MDOY'N\.YS58->9M$L"@3RQ)$07SX)*]919P*;@L$.!/@-P*[62!P,H&3!CV4 M+(WU@0C2[W&V0UR=+=W41EHWJ5JF"6+5C#/!Y;>!U(G^!^9M9*L(1&(?C6(1 MB#T:QX?NH:JYCI(5X33I-83\-:5I>)GS\.","YP=],1BL4JDJT_];_4-6-+NKJ_=]LB8>O:O)RS.A?$MK_9]^L-O6KZ;H5S+[IB*: M>44T(7==$?/]FIJ2PG+;JG\R10)5)2.U\D@ML$P#F<=/,]V'9&G*!.L7)$Q, M5>&"LI*AVGFH]F7M]$QYP%2?]9$<,XQ-!COE5V+AI0CJ2^;LY#D[E^6\#Q*/ MA.@S)1S=RX/&00SV*LH'JDKFZ^;YNM^5+VO.PH2PVR?;E _4E,QWF^>[!4LT MY\0/XB6:[:,7%IH2P?K!XWQJR@2J2F:R+7V?M(*5T&B>!$-M^$1,9K M[XR1C#<83]%H\C">C$;3\>0!C2?NC2DQ[%0V\@E:V)=$=F5?Y;*?CB4'O*+? MZ=X8&K:R+,ONR#\'&W."XK(YLW)NSS2/B2HH'G29KGTL8_6!H35T$VMD8;&X:3 M8Q?.6GA*UXR+=' 21)B'VS..GXTL[<*JLCDU[]@PL.3\*F2#I$]6JO>28W!C M3MBQ*&<5!&1K!+)A37B;D589]"P(-U9?-I]+%A7LGRC2+* MEZJ;/D@'L4(NB]8D-E^JL&%QT"H0R-8,9,/8O:.S+$298!-[A MN;DX[AE+IUO'K5N[B[O&R8$J6 AK%L(7L=# ]Z5[\NZX@=))@H^QD1/.6,JD M%AJ11*!AL$1#2K;RKCQEQ#?&KP*1L$8D##/-V_BNVF,:3BJ@H.PYB , M\\LC2V<.5BR&[B]G3-IVLXZ;EF7,5P4'8XQ+9TSO+R?7HLHU\ M)MT7M^F9&::1,7(51(0U$>$+IX4^;0B7&!_NL\<58T#82_"-D8I@6=F(FHHP M##1ZIIF3. E27 RPF:%Z ?K2H9T-!DY,,;, R&ACRV0C7]^^07-J+?ALB\; M7R' 3FY()&$,%!Y'LJ9F@GE?T8_6C9I,06O"T9:$&XK6$AO2ESS&%PM58).C ML>8'HU>O16)E[1PUNR,T60P^S POF> A643:C)RSDP>F1KIRQ-58[+Y MO=&5&"=+7P4Q.2?OT"I^B7;=MVA54)6CJU;Z^A5]W B)6+&: M&#?6PY4H*:N'@ULK=5,+ ;;]5ONV*9^LVKW&UI11\Y1SAJ?2[C[\CNY^)5#* MDE6!78[&+J==;7>_$E5EE5$%HSF:T9R+&*U4=[\2:F7UT/E?=\=MJ]ML=9IO MNGOC9*&%FF)+UY\DR%,X>5ASD1_-U[@,TI4=#7WZ88',$U$S= D*Z4)*K9N. M_'E^6'-RV!%LG2[;>&%"L"C=7%'B4ZY.D-\O&!/''?4#^UT.OT@'$$\:UM960EL M?WUEQ\0770+3? $[.3I^CW2DYTC.R1/CWXH%I0(\9VE>G X60BR/A\,B7M", M%$=L27/YS0/C&1'REC\.BR6G9%XURM(ASH=P,'+![?)XT*4'PQ')TOR2*=4W"UON+P;;KW,DXSF1<)R MP.G#Z6 ,CR=NU:"R^".A3T7K&I2AW#/VK;RYG)\.G%(136DL2A=$_EO3"4W3 MTI/4\;UV.M@^LVS8OG[Q_DL5O SFGA1TPM(_D[E8G [" 9C3![)*Q2U[^DSK M@+S27\S2HOH+GFI;9P#B52%85C>6"K(DW_PGSW5'M!I U] U0W0:QO@N@&N M MTHJ\(Z)X*,3CA[ KRTEM[*BZIOJM8RFB0OAW$JN/PVD>W$:,+R@J7)G @Z M!V@R0'LP5;%22?%R=#(9]CJ0DZ>@?$T'HP_OH.]\TD6W)V>=6/$V5FSS M/IJ08@'DJ(&XO*#?5\F:I#07VE'5BO.]CJ#JRZ9TR0 M]!42 ^7A 79P%/4T:LPDWY!!9+@5&>[H7(E1+GY4G5I.J:4$FS F:ZB(P&&( M@YY4C544.@:ET59I9%5Z+742D>2/(*42=H"75 /L :SDC;EW(U6+ X/^,J"S M"DRK '0:(CE6S;\R-G]*TE2+&4=YINNY42OK:I[H[$*(/(.X%BZAO4.K*93D M@N2/B9SV=2<:Q[YVU\E #WO]P=>8A=@S+0*P 1VTLD62\X'*J32O%BOS>-=> MVH^/?&4RZ:PBS]2E#:"@G5";+DU9_G@H*,]L,K$ZJHX;P;Y.G9D?A :A#9^@ M'5"SZ]GXJBX:M/(TN,%!%$%%H,[0QVYDF.VP(1/T7E797%V.SRZO+F>7%_KR M!EH)]];Z9E_>ND$WJ(-VUFT+AR7Y84(Q5&GE>PCU!T:U"F6*&T:E81JT0TT* MY"LY"6794-*8;#8PDAWW-* KUI42-WQG2KHI;C8 M)5_%FXM#I.C7F(4X,BPVJ*$@LE-PNW)SNJ;Y2IO42*4<1([GN3V-.CL,L><; M1#8T1'8::I(D9OE:UD85&PN:)XR#G EJ)B32H _ZL$](K9EKH@]J;07MA.P6 MG#MR JD$1)$?J!VNVF'D0FC@.6I8B7;LYM[M5='9++1[^$UIAAA-W H+=!(K(CL5]3[5.K^8(R\N\IGELZE6K M/WU9!+3G1__?43?F!J,HLM:3T]GUY+?/UU?G%[?3#^]"!(-/X.+WN\O97_I3 M,RN4WWQLMB=OW7.SAL#83N ;_C+I"\'B;^#G]\Z1XSA0EID/)O]+*]0[DUZ!8$%ZM;2RG("F*LOZH#E]6HI"[QKE,&>W1F\KH?JEA->D& MV1 SR.N?86D-L>.9SEUPZ]C53NJVTOK< M35;_G"[*5R!KR4%6Z(]@51 ?H@ [_1)#:X>P8P V;H"-7[/+-4]\K6@5NX&/ M(M3'L\Y.C@LV$ 0W?,9V/BL$ >.OYYT@?K+)UQS!:C?N6D/+QATWP,9V8$]2 M4A1@#$K(R$)Z6JTX?W^AV3WE_V@U6_V]=:G=E[=N]$T!@(-]8@9;RXDWQ[XG M;]W8F[("[RXKY(A7C-$&JVZ0E?W[INH MAOVNL\^$=*V5Q%MCWY>W;NQ-2>#NV-3O2,BZ>?OU7[\&MYIL9 U;[ZS+'PQ\ M(?PQR0NY2WR0;9RC0&8SW[R#W]P(MJQ>8]\S(5A672XHF5->&LCO'YC<"-%1%Z. , *<- 8 >&PO=V]R M:W-H965T&ULK9?1CII %(9?94*;IDVVPB"(;I5DM6G:BTW, MFK8732]&.,ID@:$SHV[[])T!%F5%1+->" /G_//]P.$,XQWCCR("D.@IB5,Q M,2(ILUO3%$$$"1$]ED&JSJP83XA40[XV1<:!A'E2$INV90W,A-#4\,?YL3GW MQVPC8YK"G".Q21+"_TXA9KN)@8WG P]T'4E]P/3'&5G# N3W;,[5R*Q40II M*BA+$8?5Q+C#MS/LZH0\X@>%G3C81]K*DK%'/?@63@Q+$T$,@=021&VV,(,X MUDJ*XT\I:E1SZL3#_6?U+[EY969)!,Q8_).&,IH80P.%L"*;6#ZPW56 M 8M%_H]V1:SK&2C8",F2,ED1)#0MMN2IO! '"=@YD6"7"7;7A'Z9T,^-%F2Y MK<]$$G_,V0YQ':W4]$Y^;?)LY8:F^C8N)%=GJMSH]&U;C'%:W=]P+RAAW[+?G MX^JL^XZ+VUON%:6,&_JH>K[Z#4]8A\@Z][[EXO:>>V$QX^-^:@^LH=/ W!0Y MQ,YIYGT'QNTM^*IR/FZOI\";(AO!S8-5M/Z$40O6-4T%BF&E4JV>IS1X\550 M#"3+\H7UDDFU3,]W(_4E!5P'J/,KQN3S0*_5JV\S_S]02P,$% @ TH.B M6$US]K'"!@ L2 !@ !X;"]W;W)KW7CY1DT18I MUD']$EORX=%W+CS?.50F.U8]\Q6E KP4>%XX+DI6CZ:2^][&:3MA&Y%E)/U: ;XJ"5/_> MT9SM;D=PM+_Q*5NNA+HQGD[69$F?J/BR_EC)JW&G)UBB:#(RN:3O+2..%@@]=@7H'8!ZB_P!Q;@=@&N#6V0U6:] M)X),)Q7;@4I)2VWJ2^V;>K6T)BM5&)]$)7_-Y#HQO6G]^#BS27@*U)1#K(2?%ZQ#2=ERM^" M-T?7D[&0(-6CQO,6T%T#" T PN"1E6+%P<]E2M/C]6-I7&^].78P<KC;A=@HC ME$ T&6\/45O$PM##?B=VA,[OT/DGH)LS+E0&.% V:H*#QV,O3G /I$4*13BP M8PPZC($3XZ\5XQRL*[;(A U:8#P4^LB#20^;10QCE"1V<&$'+JS7X0%P[:8I MEX"^R%++*;^Q80Q=%JK2?]3T#3.3CN(?8)A7#@:(&#T@..A%_$"M: =;MS8NLG+."7NXWZ5M04FO* MMGH/\5S%<;\66Z2"T!LH^D,.:JT3+W+9UEQ:$<:67B_PC9";8EE,S=CF<$:XD-FDZ M1D'<+TLV,3F-#72A2-,YWT>LXDY3-6- 7(W!DTC^,06 M8J M3IM4C 8F9ZR;!>QN%AZ)G.YI2PM\RBSNBI(Y6/M>A(QC6U,,1VCHV!8?G"J?+%;N+]GBB=]6C[7-J._:#I'9]"[ZXH6?C:]^/^F;9-+,1#C2'6 MM([=M'[ZKC?/K"%"V$@GBQCVXX&33*S9&+O9^(2T.>O!P;FT';]#T]3NGT+M MKK=GGJ4?]?I=JTTJ@/U@C ]>_A:T6M;OQ+E,BDTIFK>DW=WNO?N[^FUS[_X= MO+EOWIYK-B#[0TLHA2I$K2=OKW.Z1LU1?9+="\6"0U>)4QS;7OZ[R"FNI+V8# -Z54-36X57-?-PIHX9QJ[D=!,/1K MRH27C=W9GIM;>&7QBL-);:V*5S*3\9C?OBXD76$+ (3<6 M@>)C"5/@W (AC>]K3*_[I'7<7F_0_W+:4DL-S<9*KHBRUHAF%RXVSAO5,&&S^& 4OF7H9[*I%%IR5E # M!7DP^, 4&4UD2::RQL*H;,:60-Z+7-9 SA\%710,K2_(:_+X\):WR"3MQ%.79X\1&\+K!'X_KE9J:-PJ+^VA>]%GW0 MCV[_Z->ZH3E,/ 36H);@92]?A,/@39_T9P+;"<2@"\3@%'KV+_:E327]([6^ MZ%/;0@P=A.U"RRP<)H/1V%]NRSBT>AVF2=I9[?!+.G[)R43]9RI0)-_)T#FW M1+'"+>U71(#+HJ%/UWWDD^=,U3.![81BV(5B>#)5V"6Q!PIL0DJ!R'\0+$^A M.77=]_QG% B4)?9DNSL+"-XKA').&E!,%OWY;;^;;&Z1@>,X\&>J$.3\$C%7G62KDY* M^B@-Y43^JF[[^%X=YF&0ILD>Y4.K492$_:33CG1ZDO1N"SS.,#WL!&&21'L, M#ZV2*-VO%'_KCJQ!S=WHH#%D"V':>Z4[[::3&W28/WNEM6.'F!L@;XOI32;#;V ]TLE_T/ M4$L#!!0 ( -*#HEB&5'H-G ( * & 8 >&PO=V]R:W-H965T&ULK55=;],P%/TK5V%"FS26-&D'&FFDM8#8PZ1J9?" >'"3F\:: M8P?;;;=_S[63AFYJ.QYXB3]RS\DYU[XWZ4;I!U,A6GBLA33CH+*VN0I#DU=8 M,W.A&I3TIE2Z9I:6>AF:1B,K/*@681Q%EV'-N RRU._-=):JE15#J^G( MQ?N [QPW9F<.SLE"J0>WN"G&0>0$H<#<.@9&PQJG*(0C(AF_.\Z@_Z0#[LZW M[%^\=_*R8 :G2OS@A:W&P8< "BS92M@[M?F*G1\O,%?"^"=LNM@H@'QEK*H[ M,"FHN6Q']MCE80= //L!<0>(7P*&!P!)!TB\T5:9M_6)69:E6FU NVABCV1KB1N:H1 M3N\E6Q6<[$&;R#^_DG.#TY@Q/@$KY5:F68+$P:6E+JOA?F MG:I)JRH^H"J!6T7$!C[+ HOG^) <]C;CKZ;_# MDR-RDC[KB>=+#O#UB3Z8YY_7"V,U7?)?^[+7L@_WL[O"OS(-RW$<$+%!O<8@ M>_MFM?9L8AG]W-%1N7=TU75[NE[H(%\N+_8GU'[;;OF7INW= M=-V77!H06!)E=/&>5.FV'[8+JQK?4A;*4H/RTXI^(:A= +TOE;+;A?M _U/* M_@!02P,$% @ TH.B6,^A%BYP" ^D0 !@ !X;"]W;W)KUL5U7[=XM%&>]X%I5OQ9[G\IN-*+*HDF^+[:+<%SQ:-XVR=$$LRUUD49+/ M[FZ:SSX5=S?B4*5)SC\5J#QD651\_\!3\7P[P[,?'WQ.MKNJ_F!Q=[./MOR! M5U_VGPKY;M&BK).,YV4BWL/7['J%TW:"S^2/AS>?8:U9?R*,37^LW' M]>W,JGO$4QY7-40D_SWQ%4_3&DGVX\\3Z*SU63<\?_T#/6PN7E[,8U3RE4C_ MG:RKW>UL.4-KOHD.:?59//_*3Q?DU'BQ2,OF+WH^V5HS%!_*2F2GQK('69(? M_T??3H$X:X#IA0;DU( ,&CCD0@-Z:D#'-K!/#>Q! ^I>:."<&CB#!L2_T, ] M-7 '#>Q+'KQ3 Z\AZQC=AIK[J(KN;@KQC(K:6J+5+QI^F]:2D22O4_&A*N2W MB6Q7W:U$7HHT64<57Z.'2OZ3>5:52&S0:A?E6UZB))=?B/CK3J1K7I1_0\&? MAZ3ZCEY]R:/#.I$-7Z,Y^O)PCU[]\AK]4MO_OA.',LK7Y./J'D '1PR]D?K9)2MHD)8T_^X*_#WR;Y'F2;^6L MDT9YS%%4R/Z'G5O%D_G>:4QZUOM%\5^ZCF-_.9"Z4O'CBL[N__@6[UM]UX_D(YIS'G1#/D][79+NVVD_9]R/_,QCT4F^:X'YFL=L[82XSGV'7\P5(R. M)L;D'A(L@ 0+1P6# ;GL<>JTG#I&3C^6Y:$9P7*9CH_+3MDL.W)O*G=W)&[75X0SI,H $"R'!&!!8+SW<-CU<8WI\YOM#$>_D M#AW)39B\8ZB2HMG7#?-%EQ*NFOTV<8:KIK$#4Z<"2+!@5/]#2)<,"*S'M==R M[<%P_08]-/. CG.CBZG3@*<2X&-U'H#T&4""A9!@# BLEQO+-C>6/[],\&R? MBN^^WY+O M_]_(O[9M,'J>.E_X"BT^4:<+2)\=,^1:9AB1)V<&4==IZFHR ])K (H6@J(Q*+1^9G2Z(38+ARN1/_&B*3YM M"I&U@G,N(01URJ#0^A1W8B(V MJXFA*'BRS5%\* J>Q]]1541YF38TOT$Y;Z2$*OJFI5P5_3Q"R9!Q2&GM'A0M M $4+0='8M>CV">_D07Q-'VQ%HH(?RWB//.>;I$+[5%)_E7158\/#6H&Y"Y,I M!Y4(0=%"4#1FCFV?\$XCQ&:1,,C7@^KI;U'1UOJHEF-5QG,MU[><(<_>U?JI MQF180-5X\QR*E\J=F$9QI0J MVR+_^DA23921I'I;NC:FSG DJ79S3&5"T.%(TA@20JT+DQ+IQ"9B%ILFG4?0 M1M;L8.I@(JH8Y#C:^PJ-)7&76"UV!J ]#$'1&!1:G_Y.AR)F'6K4N02BJD38 M=>S!@9F5V=74S08H6@"*%HX+"(-RVN?V[+R664L:?3Y!R[FJ_WC#78?9_V3" M096D$?T/03TR*+0^VYT^1,SZ$-AI%+.?R?.YJOY0C< ,ZC0 10M!T1@46C]- M.B6)F)4DZ&HT4:4:&Q-E:0 5FT#1@E%7$(+Z9%!H_23HM";R@I-K+ZQ*FUU/ MGCY4[<75'&<#=1J HH6@: P*K9\YG6A%S*+5I-HTT:DH2WM8FS:[G#PY@(I4 MXRXA!'7*H-#Z''&Y@R9I9';0+T&H&@A*!J#0NMG1B?)$;,D!U";-GN8G"$: MM8_JY@Z-K*8S#$"[%X*B,2BT_N^9.@61FA7$*;5IJCGJY?C^L&QE]CAU1P"* M%HR[A!#4*8-"ZU/IYOS8<.-O[L)DSD'U0U"T$!2-F6/;)_SL=ZEF_=!3W&R&J M'V_J1T>TCSNY^Q]02P,$% @ TH.B6)?R^8M.!P 7!\ !@ !X;"]W M;W)KV+Q$NC>1I].0W@_%'('VK# MF$9/55FKB\E&Z^W9;*;R#:NH>B^VK(8W:R$KJN%6WL_45C):-(.J3Q7GS[$8NSL5.E[QF-Q*I7551^?R!E>+Q8A).7AY\X?<;;1[,%N=;>L]N MF?ZVO9%P-^NT%+QBM>*B1I*M+R:7X=F2I&9 (_&=LT=U<(V,*7="_# WJ^)B M$AA$K&2Y-BHH_#VP)2M+HPEP_+%7.NF^:08>7K]H_]08#\;<4<66HOP7+_3F M8C*?H(*MZ:[47\3C/]G>H-CHRT6IFE_TN)<-)BC?*2VJ_6! 4/&Z_:=/^XDX M& !ZW /P?@ >#HA&!I#] -(8VB)KS/I(-5V<2_&(I)$&;>:BF9MF-%C#:^/& M6RWA+8=Q>K$4M1(E+ZAF!;K5\ <^T@J)-5I2M4&?P,\*O?E6TUW!0>8MFJ)O MMQ_1FU_>HE\0K]'7C=@I6A?J?*8!C]$ZR_??_M!^&X]\FZ#/HM8;A:[J@A7' MXV=@1V<,?C'F _8J_$SE>T3"=P@'.'+@6;Y^./' (=W7RZ^K[ZNOJZO;,-4VMFLBMQB3RF=K2G%U,(%,5DP]LLOC[W\(D^(?+ MQA,I.[(XZBR.?-H7UU!W>)V+BJ$WI5#JK#LVP MI:9A%F>=U!&^N,,7>SUR6?P;4JJ-<"V@#.6BSGG)4#T$;EZ;A[E)@JT4#QQ" M%-T](RB@DFI>W[<5B&O.E-.I\2F=>B)E1Y.6=).6>)WZD8'2G-.V[-8%HI60 MFO^G>>"RO%47'[@N2\)LX%^'4!H';O>F'=+4B_16B_S'U%3U H$O@>I4BYH] MF6OF IM:.,(XRX9H;2F,PR1TPYUW<.=>N+]!H"% !_SY8ZK%U/Q#R-$N2$T5 MA@@UT6;NX%)!&,K1B9_;MD3QP!);)@7&=QN2=89D7D-^UQLFWYE\<:'*K"_& M\V" RI9)HI%@"(.>V@)OMB\W%"9.&9:B2C'(>1.]):=WO!S/V[W2$R7NJ;0= M3\$!NX=>SUSFN=B9:@<9S/@#O2O9J)_VJHZ< #PZ#""'&,GF*1[Q%NZA8B_4 M&\FVE!=V+$%:HJ3=)C&#K$PFX^D<=CS?.@EU3;^ M42GJ^ZEFLO+A)';9&V*T18#YHF@$9$_-H9^;NU#8TF<3!TYXD>/;23+D9I=8 M3)*Q$.C9.?3RF($H=\/:;<+@CM5LS4>F-+;!S.. ##$[Q$*,YV0$=,^.H9\> M6^?3/?2CZ'V)VX.2X[3 YD+PN!47MA0.PG@$?D^9H9\S/[(U Y0%5(@'5N_< M86'3GPF+*!E"=,A!%LY',/8\&?J)\OJUC9@3O(/Q2!0/&<@A%F>'7CC&WE-C MF'E):'7]_>KV-8N T,NQ/\T[)])VO [KJ1=[>6VQI%NN:=FF RP<=]+MG+V: MXXA)DV%@N<3"%*=NY^">'K&?'MOL3^=?"GU?7E]?(5*8!/ MNA ^E;9CJWN^Q7Z^O9$B9ZQ0:"U%A2#0(!F8S+EB;5M?54!NRJQ8H)09IG.[ MSJ9:Z%@BRW6VV'A/AGM"QGY"/K:!5=M2/#.V1[W=R7P#:RVT+6G=K%,DO]N- M6V(3, [G5N[84N$\&6$0W),T]I/T#7UN5_UK(8'I.NB&I2737+)^O=4[QFF& M3<-#*G&(3!,)F,+J(NO1Q@/]VR-_P);OQJU M3<,8!]@B! =;1_'(,A;W9(W]"]FK]9KE31BPI[Q9/2+H,1C*]RM)" QCV;O6 M/O;'#I9491-7;2 I2('<[*2:]T[S[(7N%,>9E06V&$E''$-Z4B9^4M[OSDEF M(I__KZ80FY.S(,3#&'.()6$6C)0FTE,W\5/W\M7@$=6P@+CG=6W"#WS[S*AT M6F3S=I2D<3H,/H<<"9,L'JE2I"=XXB?XG[.)F?7Q&D$;S$7AM,?F\QBLR2Q[ M;#F2SN?)R 8,.=C_]A/_[6Z[+9O*"JU@P55>"@6=8%-FC1'K4CRZ-\1/NR/^ M_V@$2-\($'\CL*HU,^Y#9GO#::U-WM;2RB$SLG(E/;L3/[NOV@UO39^8&@?G MH.TL'O8?#JDHC4(9=XAY&X:?#K$3:3N> MI[XS(/[. /HT* /ZN9D"4SJV33MC-CX'NSZ.7;7_LCNQ__3A20Q.ASM"#J$P MMDYK9@?GE!63]\WQK4(-PO:4KWO:'1%?-@>C@^]#;JVG/G3]3"95> MH9*M067P/H60E.U1;GNCQ;8Y#;T36HNJN=PP6C!I!.#]6@C]&PO=V]R:W-H965T&ULK51M;]HP$/XK5E9-K;3BO$%7%B(5V+1*ZX3*NGTVR4&L.G9F M.Z3]][.=D-$.T#3M"_&=[WGNGL-W22/DHRH -'HJ&5<3K]"Z&F.LL@)*H@:B M FYNUD*61!M3;K"J))#<@4J&0]\?X9)0[J6)\RUDFHA:,\IA(9&JRY+(YRDP MT4R\P-LY[NFFT-:!TZ0B&UB"?J@6TEBX9\EI"5Q1P9&$]<2["<:SV,:[@.\4 M&K5W1E;)2HA':]SF$\^W!0%L&8CY;F %CELB4\;/C]/J4%KA_WK%_>RB'-:F9OA?-9^CT#"U?)IAROZAI8X=##V6UTJ+LP*:" MDO+V2YZZ/NP!@F. L .$KP'Q$4#4 2(GM*W,R9H33=)$B@9)&VW8[,'UQJ&- M&LKMO[C4TMQ2@]/I@CRCK4(+D.Y%\ S0G*J,"55+0)?H83E'YV<7Z Q1CKX5 MHE:$YRK!VN2V##CK\DS;/.&1/!&Z$UP7"GWD.>0O\=C4W!<>[@J?AB<)[X@< MH"AXAT(_C _4,_M[>'2BG*CO8^3XHG_IXZ%VM73Q83H[NV-5D0PFGAE.!7(+ M7OKV33#R/QS2^I_(7BB/>^7Q*?;TJUDUMSP3):#S+T*IBT-J6XJ1H["+99L& MHV%\E>#MOHP_HRZ#Z^%U']76A_=>>PERXY: 0IFHN6[?3^_M]\R-&Z]7_JG9 M/^VZ^$W3+B_S.C:4*\1@;2C]P9697MDNA-;0HG(SM1+:3*@[%F:'@K0!YGXM MA-X9-D&_E=-?4$L#!!0 ( -*#HE@FVB\.1 ( (H& 9 >&PO=V]R M:W-H965TX_/=>1+W KYK$H C5XJQE7BE5K7 M2]]760D55G>B!F[>Y$)66)NI+'Q52\#$)57,#X-@[E>8(A CANF=Z+]!GT],\O+!%/N%[5=;/31 M0UFCM*CZ9&-04=X]\4M_#B<)AG,^(>P30N?=;>0L/V.-TUB*%DD;;6AVX$IU MV4:.!#UC>H6AR@\(@G([PHJ' MCM'37<, 38+]['9RJHU61-3Z_T/N=,>!.68*1L1F@]ALE/-=\-LKY,:A;\G- M![GY5:?V!-+<(GS!;9SYEMMB<%M]RP])\+$#: M /,^%T(?)W:#X?.3_@%02P,$% @ TH.B6&!6C *T!P %!, !D !X M;"]W;W)K&ULI5AM;]NV%OXKA <,&^#:CI.]H$T" M)&FZ%;M%@WJ]]\/%_4!1M,25(E62BN/]^ON<0TE6,C MZ/2QO0MX6HY22M-H%XUW(NCMQ>SJY.7U&=$SP;^-WL7);T&>%-Y_HH>WY<5L M109IJU4B"1+_[O6-MI8$P8S/OUJ)E07DV]Z9EC0&)?_RX<^#E_#L.X9 MUFQW5L16OI9)7IX'OQ.!J"&-?K"KS WCC*.D;%+ 6P.^=/D^5-*9/V4.D2O% M:QU5,"T_^ZVX[B(X8CQ?)F@CGJ7J)5]GR>LO2#X5[[Q+=12WKM3E8_XEK!Q- M70^F7J^?%?A.AH4X/9F+]6I]]HR\T]'U4Y9W^A6NS\6-=]%;4QXB<1=TU"[) M(11OC)-.&6G%!H<:E9FB^.]5$5- ;?WO6(2R 6?'#:!^>QE;J?3%K"5=X5[/ M+K_]YN3'U:MGW#L;W3M[3OH_RNSSDD\6XB_"R\?"BUZXN+))FH :J/"L@W&5 M>.O40GSW[3<_K]>K5_D]/YR\$CZ(5&O1O[OQ32O=OG_YO3!1&*=\:'U _$L\ M,'6D;)#2U]K*G0QZ(7['<<]-7%)4UA=(G 5LZ4","F^[G%N<&Y> "Z;23FFA MG2PL&>HG3D*("AX.%<%+4EVB-\->1%WE0DA>E $ (R+ +4%)J96)S&DH1&0Z M4!-AJ>P>ZIT#+L$)@)8M%T.<2FTA(T01_3:1+QQ<97U7XLAV:1!(CDN21XY' MTW2VK^,:,/2BU8'QFMS)GI(_0\Q_O;L98CH7*'@))=+NDU%QSOK@@-D:+O5' MD1F3]G;@'PRGYY.?7D71!E]V"O$@.5321NF(N,,I8/R3L$=E6.X8.^.K@<\=YRG7T>_#[ MN7AG%,(GW4)<(U$\4D+I2$$/G.)\MVDF9UH)PR,PO M5U=W8[]P*MO6&L6Q"!U1TF'055\O["/5TD:K+IAD>HK;!U5+5W'0&A-Y! \Z M-K=C^9 D&4HRAG(53#/QW;B\,X 79<)^ M,3B#Z5!J8U=\O8+O#LY!4-#)?\].D=2]E@'HA&D*J%.Z*8 R_3P\G0\1&V&Q M\3'!2D7-<^5J.4"CM@7VURKJ99) MR.T6+<_Z _M#3=%03W Q@U[W\&.-+(P]%'5I(I T=J07E#",VHA4?XDIJRG[ M^4*_CWJ9>^JOM@3 GNLRANL'[-$10LN.I^#!?FYE](XO49WO>59X5WDZ+@B& MYM,@Z7MI.PZ.H7(TE2.DEO1F#%NNA$$)[*0P6N_PF^ T(X<"6J*N-IN[.1>8 MEJJF",$<1'4HQ02X*'[ =D6>T&8@N'MK@D3+,?Y3V M),595 FT0(6Z1\6=4\++#%!X:U(&%]D::#1_WQ.\_*>YUJ6CD! $8J4+),/$^L!A'Y'L<2;:8T2&_ ' MTLD$XAE%@M( ATS@RH$9E??ES@!1^^'Z.-YSBMNVPY:$4X2$!VSRZM,+ MN@N5#+:HZQ'E$^$,&@Q%0$DCL"P-.C:(;? - NOCI,,78C.IX.EH ZPHDY$' M<_XP.QV!!$T:J,DC*F>@"X^:X9BHO"N1 P.@ICIH DJ^IF1@Q24#?3#<,N;$ MQ*."*A1ZN*'^1D]>A8M<@F38<^C[%="^$#=Y%D/'0S'0B36Q(HWZ.?^I4# M<YK!PSFZ 84&N\B2IP;<'A'(DOQ$1%X^U)C-1Q&N46I< MXKRR:9HH"3>.-N>05D :81YB:3^:3,%X\)V3@8SZQ%W8/XX$3[+& R#3/LWG M,,1@X;WQ783Z<<"!B?N1ZD5G,V!^?Q$ZS+3%L3OLA4A)SN%ENPKA8__3 3(7^#R0_)M_S=H_ )@XI_UGS_ M(P*\WWI B#]1RI&6R2VY(KFS]?<^0U$I*;*=!7Z2]S!S.G#DS7![> M6??%ET1!W->5\4>],H3F8#CT14FU] /;D,&;F76U#+AU\Z%O'$D5G>IJ.!Z- M7@]KJ4WO^# ^NW;'A[8-E39T[81OZUJZY2E5]NZHM]-;/;C1\S+P@^'Q82/G M=$OA4W/M<#?L4)2NR7AMC7 T.^J=[!R<3M@^&ORIZ] M$0=$%16!$23^%G1&5<5 ".-KQNQU2[+CYO4*_3+FCERFTM.9K?[2*I1'O?V> M4#23;15N[-UOE//98[S"5C[^BKMDNS?NB:+UP=;9&1'4VJ1_>9]YV'#8'SWB M,,X.XQAW6BA&>2Z#/#YT]DXXM@8:7\14HS>"TX:+,;*L@$<5(4 MMC5!F[EXUVHE34&'PP!\MAH6&>LT88T?P=H5[ZT)I1<71I':]A\BKBZX\2JX MT_&3@.^E&XC=G;X8C\:3)_!VNV1W(][N(W@;69Z5TLS)"VF4N'#..G%FG4M2 M\>+ODZD/#HKYYR$6TB*3AQ?A+CKPC2SHJ(06U#M^_FSG]>CM$RE,NA0F M3Z'_9+V>QAH/1(:3:[AYAMMMN#(")2Q*KM^H+T))XO+D]E1H[ULXG]Q^BF]>C2:#1Y!>?+2- M+L3^9/^E>"4N9:$K'63L9SN+@!>S&:KF^?9A")A>:H.4M*SPK+&./[F(/3SPB=G6NT+UL4Y (&J2B<#N2T M9,YDX.&7$_O]ZO3#C> @4(F2G'"<:31"-AQWP64!Y)2$TIZCT@9D#[@8'XI@ MIW "Z>.-D.]=(@'I%[6VE>6XE95T!( M,5#=E292"@-.M;*^=;FEE:4DUD1)6J9; L&7STW4ODG$0ST^!<099V"_YO*VD M0T"Y;V-JS'!1:IJABN.RY9QT4Y0 M>3!DQA4NHD!08P':M%7^6_VDOL"'4QQ],RR%%9O MGX7/?'VS +YOT(SFYZ F_>@F*!8^;CY9WG M<>:858UL5A'%;=J$Q <7Z.&.__GAE@+-CQ.GJMM,>2(7MB;Q4=XCYHWIT67_ MH^GQ:W\;(T^.-Y/1RX/O!L?::+VU;*6Z/*!CDVJQ%5"W?'&4: F-X\''M[0\"F73@7=T^Y,=9*.$FOS="##IQL(]J*B M&5Q'@S=[/>'2(2?=!-O$@\74!AQ3XF6)&PO=V]R:W-H965T*3^,P3*<59<);7KJU![6\E(WA3,"# M(KJI*JIV-\#E]LJ+O'[A,UN7QBY,EYV?P.X.M'CT3F\E*RB_VY=?\R@LM(>"0&8M \=\&;H%S"X0T_NXP MO2&D=1P_]^@_N]PQEQ75<"OY'RPWY95WYI$<"MIP\UEN?X$NG[G%RR37[B_9 MMK:SA4>R1AM9=<[(H&*B_4^?NSJ,',["%QSBSB%VO-M CN4=-71YJ>26*&N- M:/;!I>J\D1P3MBF/1N&O#/W,\C-L0#1 "B4K%#Z20'_I/D>+ ,^YYWL2O MY3%9 D\DDDL(>Q_ M5<"Q=/G>*O73:$$6+M0M9R , ;'&UH*RE1K9S>;6;K%()Y]<=I$_"RW^/)I/ MGJ1!#GU-,;=%[)]'L7U*4S],9H==1.P-DJ U%N:9X70$OL-Z!&?D.]L;VU=S M@&A*)9MU29C(&7;,$$TYDLI**@1PVS:%-LX.VU2U;0+;)H)[/RN'S1\@">W@ M41H&2TOHH$ERK6WT0P??]?,.,JA6F'2WG/A(3=?@3@6^\TE&:X:$V3\8,7LY MPA:4+<\L2'$<<][+TJXDPXJ5I++4T?=!04U93N"Y/E97UBAEVT6U!J,[G# X M/T(>KXR1VR9R*=8_&JO?#L;I?FC5AW=G<;3XJ&T&6G*6._&L*'=R= >'#LAC MVPQ95\-WP!8U7= M5?--R6J#_RI;:-0&7F>4FR8ZV,_]KG+_1SU'4%WYYD%T5+YY$ \KXR2OLTPV MPHW##-B&KCCX1(#Q.[_D*Z0X6)Q$>KO@OD4I=U @N3#QKX^& 'O29J.)//U MF+;;*V_<9'J35'RRI?H@O_R8 34.:@4X]$1W.-B%'=A+0W]X43P6,I<2[FL% M]L)J;4\?-;8-[@BT'>E[.PII2@Q:(C$A#<8Q&!S$*$5D7;*L['GK$Z2Q*;1J M6^[0ME@RA$&7C<1YG3N+4='H_J3$(A2-:>RQA'-8YB,ICR+TU$88MI0HG%D2 MS(_%%)Z-=_J)C3#LV4/I!^136^TVF?V .H7AC_7F!)JU'2BX#&+Y\D& MVKDBX-D0/),ZN;CK0 E=,_/6"+],"IR& 3EUS9J.+LIX9UF[SP';8&3>WIF' MU>&+X[J]:._-V\\53 SEI@F' EW#8#'WB&H_ =H7(VMW[5Y)@QQ U&Y 8 .@0 9 M>&PO=V]R:W-H965TZ4H(D!"B?K'_O?8B7GN MZFO7MDJ 98>0L,]-'V;P=3%Q,$^#)M5@ZJ8WE;QA*F4_ZL:M+?NN68C%R_D3 MP-IA2YZPW21'#?[(S9BE<7OI>7]FOUW/K##+D/X?<[JUF MAZU2U9S;EE?B+*B1AJA1VPI?96H;^MD? M==WR9HN>2J\:^3MF+6ZDIRAU4WTJUAIS52&[85W$ .=@Z/ MV1VPOKF&91MA!)--I3KR7S;L)SAG&)215@)3']"I:W'*Q"/4THJ0-3"!@40" M@=)*+CP0Z_#HK0+Z8 $#QNPCM^N05?AE M >N/*CB!H0ZXRL:+[OO]NC]LEE MC%2*K2%":LN4A 5"^B!V/A #VLB5;+A" T9)LPD]4@ !=U)X3+.(+?C6TA E M*#;.>T'PJ;OM$'W(('.:S<4KO+T?'O5K5\ B98(A%CE%R[J0;=82Z<3;UNA' M"2A L>32,,SJQ)A]^<9W:0]$0NEF=>:$J2GF@K@]0/V<*]Y4@GFQM'W0EUIA M6_+)SN=*($'T ]@$5H^TJ:22?3)1HOW_$3*BU<;U$/\ "/K!!39%8M27G'84 MH:5_X;7N:)&C!G=)]822+>&5I;3$8-U90+2GY\%SY7X2E:CG8 XO@2]C*N'@ M[=B=L#POPFF4HY5-BS#+9\&KT.S%11^.RRQA<5P$=][%=_ Y+#^;#LOGQ?15 M9H BTE]O8L<:[!H,@-!YVEJ^?>*IU0XM"1QKP94C^+8S/C"5XK+N@7CP"Y / MJ;#>S)PW]VS5<0QU0B"/;@V5L=OZ\;1@2TOT$G"XKR]:2\B',#_GX;MC]@.9 M/F%EF!;I\)P&-YU4"S)'G;*FM!Y4)P9Y<>X?21F0BG3P<0\;S;!ZZ394KMDT MC/.,97DX+[+4Y;] MV4US_"1GDL\A/%Z1CZJ4%V;AN%3]=N)G@R3389_'56<,L;IO^MVI]MGO M<@#QB-DH)0\&%.1(DH0:29BDL^!Z /#S]1U#+A04[B*.@I_F2J[Z[0YN]U&$ MYNWMQ.3$O+,XN-@GX$Y4ZT8KO=JR-(SB!+]).=VM8?06Q4O>)&%9SO";QNFN M%T0M80J6D6=+T8^*2OQF*8J$PM:L:$,!615M=OXX81T-B&(R5N;!=W6K]!8! MQ6&\NG_> %NH.--[/L'[.(+'<9X'_]+-F=S1]8+V.$S3A%8HGH%*: EI'CJ3 M#"54IL$GL00/"W^\,7+>>7[\FB^-Q5@SAAYG09\\AR)=A/',1P&5U!<=9#0- MRR2B!HIQ5AY/M%=)]JSL?RFC;H?KW;.(0&G=F1$.LEU_ZP8R; J.9WW.E7&^ MEY%L.'M;&H,]Q@\%*:!1&-H"7H4A 1TY/47239_9 :9P. MC3P>"K>/>*\KK[\,JF__6/3OO(#L7Z=>5.&0*T-^G; /#&J7).S4MZD0 ?,'YU.+@N<34:%SD(V;Z M>W7_XG3K[[)S[7 S]DWLWCC^T@#T+S5V]>&%%MC]<^/J?U!+ P04 " #2 M@Z)8;;I07$0$ "-"@ &0 'AL+W=O&:^O]2!W/.$F[S6';S";M'CH]T#)L:58B79*.X_[Z M@I3L."\WW>E%? $?@ \DA/%&JJ^Z0C1PWS9"GWF5,:O3T4B7%;9<#^4*!9TL MI&JYH:5:CO1*(9\[I;89A;Z?CEI>"V\R=GO7:C*6:]/4 J\5Z'7;5L1NCR7C%EWB#YK?5M:+5:(\RKUL4NI8"%"[.O&EP>AY;>2?P M>XT;?3 '&\E,RJ]V<34_\WSK$#98&HO :;C#"VP:"T1N_-5C>GN35O%POD/_ MR<5.LQ>*5LM/O"II--(@_*M3:R M[97)@[86WQX.%'+_%86P5PB=WYTAY^4E-WPR5G(#RDH3FIVX4)TV.5<+ MFY0;H^BT)CTS^2CE?%,W#7 QAU]-A0JNA.%B6<\:A*G6:/1X9,B2E1^5/>IY MAQJ^@AK!)RE,I>%',;AW,]RY>1X>!?S$U1"B@$'HA_$1O&@?=N3P MHK>$_2Q@N*QUV4B]5@A_3&?:*+H\?[Y$0VL5+///HQ6A4=^A- MOO\N2/T?CL00[V.(CZ%_<^J.HR9#> 0L'7#] ,P[BO9"MQ5"6=$IDA08N^)* M;6NQ!-[*M3 @%[#LI1ELJKJLH-; C5'U;&VX!372:=[(A=EP8EWA2JKN2..2 MBH A34Y*&A:RH4JBX9VS)M>:O-3O3P?GO.&BM/Y9@Y=88CLCS_M+$\$)Q$G. M@C 9T'.FQRKH>2F%HMP"Y5?HAKLR\0XB%F0AO'\"2#>0_-Y=08<6LR*)>N:? M$S3=%3JK_1J+Q(.NY$; S);'9S$]-CKXXFH,SH'?H:*2"1^5U/J![VE9KMLU M!6)%6B*P_KL+ZA>J[D^R,KC$12UJ@Q\:*HOSY[Z=DL0=>;6B0X-E)60CEUN( MX0.DL$6N-)$0Q 'S"TMND; X31PO+ WSP86K712TPHY97=4K#1FI!WZOGV2L MR'.("A:'&00Y2])@\)1/[4SN=0(6)PFD80IY6 QNI>&-K<)'0R'V?)9$*011 MPI(@AS1A?I /KL2_:9X.;A6?(PC>DB.!SZ*HZ(?>]FN9/8&0Y/+,4K(S>P)9 MPJ(D&SR[G?\IM8?9_+_2&+(HM0X6/LO"@B9)P%(*\DUIS%D4I!!E+,L*"H>H MSMZ2Q@*2-(*\2-^>QI %<01!6# _"R"+: B_)8UQEO?#&](8TH4.+$N]V1/( M(Y8D/DP/WQC>4Z.DL2/*DBU?@+,UC&[!,*9_>=.XMH1JK-W)]SO4:;EB:"J% M"&WW(T7[(WU:A*RNO3V,C.H5N@:GV0Y?^K>,#EH$2N?2-4)TOVPIZ+J%_>Z^ MUYIV+<:#>->HD1/+6FAH<$&J_C!+/%!=\],MC%RYAF,F#=T=-ZVH7T1E!>A\ M(:79+:R!?0&ULS5EM;]O($?[N7['0N=<598:XF.VO+5_.Y278BYV:F2E'@R4;IG%O0F?/4FIOUNPS^D.)C>-2-/UDI] MHIMWZ=4D((-$)A)+&CC^[,6MR#)2!#-^K75.VB-)L'_=:/_>^0Y?UMR(6Y7] M4Z9V=S4YG[!4;'B5V0_J\%=1^[,D?8G*C/N?'?S>:#5A266LRFMA6)#+PO_E M=S4./8'SX!&!J!:(G-W^(&?E6V[Y]:56!Z9I-[31A7/52<,X65!0?K8:3R7D M[/5;L;:73ZVV_"L^#U$Y;&K:7Q4]H?#<#34F:"O7 MF6!&%%)I5B@K#.&X8C^YRW<%^Z$J!"U%4V9W E)YR8LCD\94(F6G+%H$LP#I ME66N4K9;+;;<"E9J622RY!GCN:H*R]2&A;/5,F!_8LEC1Z>58++P%KR@XR:= M,9/OINRPD\D..Y*L2K&==LA"6HE3RDHG.]28_O:;\RA?0AET&?J1,&"O1L2V*2OYD?MPY?(E+XJ*9]G1N:W1T#50K5,E7#HKWHI$Y&N(XQX*!4?YTN2['&K MH,RG&"^1@G!?*ZQ:5QIJPRG&97)U&7< M1A9(.#+"6"P@PE *^G>2%'XFJ.MW :_[-IH+[4J%Y3)K47N\1GQDFECF_(B\ MM!;I>:^4D)\)-[MI+QRC <#9G%;6L-\U!VPD09?*G>QC$$VI>L; :28(UR!H M0X[2@=M.;;7^#YXVN+J,7".LPQ]R@MIO=% MM* A#J;^?T!( MX<57(*1@%BV?QT=QQT>U+1,7+*NV @\T9B^[>T +=$_)$ 6O^W3KGKKU\/4X MJU6(I3YH"?!,G4VC?.:[U5=DM'C(:-4ZD\F7$EH3-)=%Q&CA[.)11AMX/:"X MNB@^D^7BWV>Y.OI?0G+W.&Y <0],N,]=/J_9'\-=\?.Y"_%9!O'%5^>N^.MR M5WP&,_]_N&OQ7.Z*&^[JM>ZG.;$RM.]SAL=A3Q0N[8D] ( 1)==U(]Q[+ NQ M58"=O,<;3F%XXDG"];($^86F/D(4<4<47<:ZBM#"2E?K87P^BY[9A.]I)3!Y M7Z;;";T7T2QN]38L[5LG8<631!,-D#%547*9MK4_8S=XQ_@,0NI&#%59%&CAPPTS'+L,YXZD0K^&EDSRMR7V1T8)_9$#>F2+::KU8J%8<3B M:; *6;2*3W[J8U 'A.C[;!I%"W_ 6;AR2\OIA3L=2_%RZ1!LN5;OJ@M<VZ\]>IN0 F.F)O9^;'V0A.Y:-Y>!AUCK;1V M+T#&3YLU2D^>T17;@:L$@'-6;2F3Z MM+GPQ8,CX(SQ/F#8RJ6E).,)1C?CV_Z,?4]T/\)<_P902P,$% @ TH.B6,T79RL'!@ NPX !D M !X;"]W;W)K&ULE5?;;MM&$/V5A1($+:#JZL2I M+P)LIT$"U&V:-.E#T8<5.1*W(7?IW:5E]>M[9I:BZ$1VTP=;O,R+-ROE*1]SZ]3C4GG0N2E4YGDTF M+\:5-G:P.)-G[_SBS#6Q-);>>16:JM)^>TFEVYP/IH/=@_=F741^,%Z71RPO I\,;4+O6G$D2^<^\\W;_'PP M88>HI"PR@L;/+5U163(0W+AI,0>=25;L7^_07TOLB&6I UVY\@^3Q^)\\'*@ M8-M?$\9[S,E4'^JTV2G1\-5-:$Z*I6&1Y4QJ9??=?FH:?P3%],3A]Q^*AS^.@Q]/]3FL>!CD=*L&X%J^IA MJ=\+0F-DKK'1V+5:-R;7-B.%;E>K3F>H=.7PVL6"O(H%1,.0N0]#X9X$&%)K;RNB!M4H),/;'&OK+3-%=W5^ DJ[RHD\J2S JS_&Y[^_@R3=F9A@OU?&LJ[S.?ERFU1T&EY+BALBBQSXSP"NM8\F,\@5:@A?V#5/ MM?-2Q1SI&$EIOR'K;8V"RW6"T->^ZS8ILCAK?,FFG\H M)<78N@$ HMRK1,H*:VX:B#0AY:8M3M\XS]-<-344-@5)A4*#4K>(&M)NR7T% M4A&GL['[^Y'Z=?^NU_)R-IV>JM\:%R$B9 I")EEYK>]!#!L.W&2Z3!0-]SK) M4,>FWI00/IVVUF:=M:^2/^SF TC,&#>/^S-,;/JBR&VCY@9M%1$[^VQW=Z?B M;O)DWGGR\4#=##/*@$J,)IV,^&(BD75]?@Q;04\W#KKE:&>V5C M^U08J8NVY<6EX]/ 9KH^[QZN#DYAE0BR,3Q8Q7Q/;D\;YH.TBTM"X "F;:O, MS6NW*?B45H@'L[9FA6+#!H^@^\@]#T:R9@XWKJ6V>_6=J4!!@<$;-OEUVKD\ M^$KY2O) :Z46R;3W6TYT.ZE7>!(*P9$++@I>\;(:[C95:$FLC"(/$MFF^8Q-"5XC\IZ??8H\E)]# M3ETY>TL@+#OPBV,<[BI9@EA72;6D@)):;'(?9908$%B6?>;"KAP(7!S)>XZ$ MO=4OK SW/;9S214(.RO1#&!>FE>[P8%%"G,&H\=8?'(U52KJAOLS)V2]DBG= MD;P='TO3C9"'_.A:0J-N6)MYVH);5I!/AWT_UX3EE:-A!>V:6ZO[R!P*R*$4 M["Q#ZGB78%28E=K;#0)]JN:3V6B*!BA+.7% Y*F:/I^,?MP]&\*54)/,P7*; M> (*R=>C%9L8'.TDROM?077C:Q1J6QZ6PFO+(/52I0NE0O M1MW@? 56C@Y]J8Y[!XJ*_%J.3:@K-U@Z6W1/NY/913J0[,73L0XI7J/>H-\* MJI/1\?.!\NFHE&ZBJ^5XLG01AQVY+'"Z),\">+]R\+J]80/=>77Q+U!+ P04 M " #2@Z)8.O$FEY8' "]$P &0 'AL+W=O*0W'3YJW*3MPS.?2,RTYW'Z;F )&0B I) M* !H1?WK^WL *4NV;"=3C-@?W,E5:>E@='F^YBMQ+^QOZUN-I]%.2B%KT1BI&J;% M\F)X%9]>9T3O"'Z78F/V?C/R9*'4%WKX5%P,(S)(5"*W)('CSX/X(*J*!,&, MKYW,X4XE,>[_[J7_XGR'+PMNQ =5_2$+6UX,9T-6B"5O*WNG-O\4G3]CDI>K MRKC_V<;39NF0Y:VQJNZ884$M&_^7?^OBL,2\[.RZ;2N?4 MK'DN+H:H#2/T@QA>_OQ3/(G.7K$\VUF>O2;]AY+TJJ3C=LY"YC4LG(9\3P-B M'T^9>>EV7?&&??)4 ;.E<.;Q9OOS3[,DGIX9=JVX+IA:LH]2HQ"5-HP7:FTA MBIB?ZGD*BA*@BN=!-HF">31CO+6ETO)/BIJ+!.7DF%D?*FX,NZ+RJ)$' M'^*NPGQ:I3$MA31D5TX*VAM W/>W@^J!%06;!-,H#J;9;$\STG.H@3]P6?%% M)9R*96M;+7::#!(*X#\6&GGH'5ZJ"N-8-BMF';>?R?#3..J7P (==_>_$58I MP;@]HF"'8"NE/)T&6S'#V7,EAN)V& M<9#.,A>.C1O>!-P'H;&+=/57$)R67&KVP*M6]+DG-USW><>F\S")=EAU%RO1 M0$95;=D#;$4O04!:S<37EE>@;.B/I**N*AH[A$"%A\/&FBNP:E%QUR@5M8$' M[WE76HVR;"N()E>KQ@'TF)^ %0G'[3LV3\,Q5HBJ@@)?,Q*U^&TM\D[)0NR+ M0UO5C#\/C4\KJ4K"*6S@?6=] U/[SX !!1Y]BP\T.$/^;B< "*G<=%JUVF25*I MA6"U7_X$+7_/0.B+)_3M^O M##?WM[?]MM M"YRP"?,JN9(4M<>! ."O>RF/G?:@R\)#U:Y*S)ZM!LBQ]1=M M[B/2E1'BZ#V'-"ITN>RA?=^]?F2 61?=3R#6#:)_)QY$TY*/A? UA,U>UFW- MFAWD.Y,.&WW?X??*AWPF2] 5HRB(HNA_&%C?.YJ28#J9!G.@Z_\QFLAR[_TN M#VL,'\\G."QQ6IYEI:!*I#0V!;2\$JU8E<^>36BZ%JX"^'6IVLOANR7N"=C[3L D/($_! M@G>3+$BC^4O8?.+[C]3E\70[2#]KD6Z!I%&!K;C"RH5.%"9]+3L6]+V]$X+) M0H@&R;!E*:J"7%^(DE=+4OE8?GO@Z$/Q%!QP2O2[I)4U^0<1+Q0CM1HML !2 MY\7PS5OM=G'LA@LLB%8*%D=T+E^-*K$ W2QHC]H;VS MOQ]H;V;$Z7P>[E?>SWJU;Q+XN& W+ORJX*>U82>2(*E: ]7F_>G@L[-Q_U5^ MX"PCJP8?:"U!%'37N%PWB<^844N[(7P#%N@]B?L['2>#.VS SD-RK !7I=;N M91O;W21B,^RWZ> >"XI/GJ\:2G 6C+%8T13$#N@W*K_F%\B_I/=T]WZ6!C$F M58K1/1[X->K-!&$.C8/Y?$XV)D$\B=FQ-_31WB>56NB5^W!$':YMK/^ZLCO= M?9NZ\I]D'LG]ARVD>(49RRJQ!"L0-A[Z][3^P:JU^T"S4-:JVOTL!4<%$ 'N METK9_H$4[+[87?X%4$L#!!0 ( -*#HE@( YO6AP0 #8, 9 >&PO M=V]R:W-H965T[M%7F*1G#ESYDIFLI'J42>( M!IZS5.BIEQB3CULM'268,=V4.0HZ64F5,4-+M6[I7"&+G5*6ML(@Z+^P;KR5+*1[NXB:=>8 EABI&Q"(Q^ MGO 2T]0"$8U_*DRO-FD5][^WZ-^<[^3+DFF\E.F?/#;)U!MZ$..*%:FYDYO? ML/*G9_$BF6KW%S:E;"?P("JTD5FE3 PR+LI?]ES%84]A>$PAK!1"Q[LTY%A> M,<-F$R4WH*PTH=D/YZK3)G) >O =RE,HN%:Q!B_UF\1L9I=N&5W$9X$_,Y4$SIM M'\(@[)[ Z]3>=AQ>YPC>-5."B[7>.0E_G2^U450US MT!@5BAN.VM\"Y'8.T/)N\:"!D.!Z,9]7YIIP936)T#OX:\<$.9O3T7O[ZGCG MTJ PG*7IR\[A+8!#]*T+54BL,JY6- :MG5\-$!34TR430]-?%^JE4LO0)#)N MPCT=75*FF7@!END"0\UJP-F_"UWA01%VRYE.ZL:!2Y32$Q MB1,MVX6Y6ZO2IHJATC%2E7F)44BZ#,J-0CLBI5G7LD[D9\HYDX6-^&>G+0M- MBMIU$^9F3RZFF^5LW+A/%.*K$=^P<]D.YT[C=LMPW/AQIGR$=M_O=0?T\1G: M_J@W@K/&C3!(R3%DCYX8&O>S=+F7I=LR/=81&PWV3 A!;P"?/@S#=OAU9]E5 MU=;O8SX3E8'?#[JOJ%SMXCG>7SC$,J9'\"H2, S]WG P\!OC]J-ZU]KMX$? MMD>U7V]YU%#'7!N._&'0WW(X-=F/S+&/$#3#P$4F: 8A!>8]0."<9M6772#* MEBQ'-B5JI61VJ.Q_IH WZ'JS:J@WA?Q?%;O8S\(/XVZ;V- ?#CN-_7I\(]#U M1_U!XUX:EA[VK1YEY-=6:> />P$<>B2T]MYR5-=K]V*U5RAU:OFLJW?K1_%Y M^1;!*E^IY<+(W+T,E]+0.]-])O2P1V4%Z'PE MJ?6JA350_ZLP^Q=02P,$% @ TH.B6)$L::\'! 6 D !D !X;"]W M;W)K&ULI59-<]LV$+W[5^PP;=K.:$B)DBW;D31C M.\G4A\QX8J<]='J R*6(! 08 #2M_/HL )*A&UL^]$(2P+ZWWUBN6J6_F!+1 MPD,EI%E'I;7U>9*8K,2*F5C5*.FD4+IBEI9ZEYA:(\L]J!)).IV>)!7C,MJL M_-Z-WJQ48P67>*/!-%7%]/X2A6K7T2SJ-S[R76G=1K)9U6R'MV@_U3>:5LG MDO,*I>%*@L9B'5W,SB\73MX+_,6Q-:-O<)YLE?KB%M?Y.IHZ@U!@9AT#H]<] M7J$0CHC,^-IQ1H-*!QQ_]^SOO>_DRY89O%+B;Y[;[*&+PPAP.GT&D': U-L=%'DKWS++ M-BNM6M!.FMC'KW[V>;T#'Z%6;JDIW-^V.<&F)F>,3PG M"QVR9GO4DQ""CL>%SV]X8>>]HI6&SXWF)N?^IO$R;0.>]=?K)0J)/3I@C&0N8!H.B*E MCTY=%=%YK3G-!R[VP*S5?-M8MA7>Q!_:C?/;ET9WO1NZ%'/\;VISBB#E-IC& M=0Y?&Z8MY8O03B'M,@LE<^$DO<\!G%3([IAA8:UR0%Q3D6CWOM-_,_ M@]1U%>7!*)=4T>248$DS.J=;3".Q#6DMJ!VF\8*&@Q!]H?3&^-D?3EQ] M=SZ*_604:E]6(2%5;6?G5ME:1+[SY)^ M?5 [ 3HOE++]PBD8?J8VWP%02P,$% @ TH.B6+86E2KT @ U08 !D M !X;"]W;W)K&ULG55M3]LP$/[>7W$*$P*I(FF2 M\MI6:F'3)@V!@&T?IGUPDTMCX=C%=BC\^YV=-)0)NFE2U?CL>YY[[N*[C%9* MWYL2T<)3):09!Z6UR],P-%F)%3,':HF23@JE*V;)U(O0+#6RW(,J$<91=!A6 MC,M@,O)[UWHR4K457.*U!E-7%=//,Q1J-0X&P7KCAB]*ZS;"R6C)%GB+]MOR M6I,5=BPYKU :KB1H+,;!=' Z2YV_=_C.<64VUN RF2MU[XPO^3B(G" 4F%G' MP.CQB.@-VBY1FIX2]W>!+I3EHG>C DF,T],0BXPPVI.\=OKD, 'V(-XT$^/ M$MCWQG%RV*[BN)]$)[#?NWI#,I=D(\R19AM2S$PP8WC!LT;/'@S[44Q@V-TY MC@?QV[8$V!1T*0RWM6\1$5+87]MZYQN#%J*M0+/U - MR:)R-%.GV^UF]K0952_NS< G00LN#0@L"!H=' T#T,T0;0RKEGYPS96E,>B7 M)7UW4#L'.B^4LFO#!>B^9)/?4$L#!!0 ( -*#HEBWK8/&I@, #P( 9 M >&PO=V]R:W-H965T>]50)_W4]F1P4EO7R8"EV^:^=R2KZ-2U>3&; MO-3WK;!-[(-ZM>;NDS MA9_[9X=5?D*I=$?&:VN$HWJ=W<_O'I9L'PU^T;3W9]^"E936?N'%#]4ZFS$A M:DD%1I#XV=$CM2T#@<:?(V9V"LF.Y]]']*>H'5I*Z>G1MK_J*C3K[#83%=5R M:,,GN_^>1CTWC*=LZ^-?L4^V-T4FU."#[49G,.BT2;_RZYB',X?;V3<;1=IP.R'+R0IA*/ MU@1MMF24)K_* T*P8:Y&N(<$5WP#;B$^ J#QXH.IJ'KIGX/:B5]QY/=07 7\ M*-U4+.834\5Y[U5H_.!*_W9<^.#3-[Y>RD((L+P?A MBW3G>ZEHG>&F>'([RC:O7\W?S-Y=D; \25A>0__O);L*=YGLO)B*?\91+U+U M(VUE*WIG%5&%;2^>G.U$P(T5P<;?B0@-,4POS0%->Q EX?:7?^!&LDW[+X@8 MII6Z\T*;Z&T=3C M$'UP'NM:E(.'!.^GXJL$V+7C?'"&F!<. MM<-NP(B!PB%IZP%Q$(Z' Q@_)2*M#GHKXU@:TV) QWL6"FZ8*@0!9]E#-%2! MB1ER/NGCG30AL"7* ]P".4WS]ZK:8OWWG+V!,Q8>Z1DH\ASNO M-Q<0/8<)&H^XCFIP+B;4':MVEBPEC;&!\X56K;0*5&%>AD8H9!DO$!0P.X?& MVK*'5X:J,:@:Q#;BZ-A/QLHJ.\V_AN>;X$ M)J3A?MH]/8WWZ47XVSR]JYB@6VT\;EL-U]GT[4V6RG)UM>&XX "G?Q@V?P%02P,$% @ TH.B6(ZPA0R"!0 O0P !D M !X;"]W;W)K&ULE5=+4^,X$+[S*[HR4U-091(_ M8H?PJ@H,N\MA:BC"[!RV]J#8G5B+;&4DF<#^^NV6G0<4 [,7(DO=7W_]4*LY M76ES;TM$!X^5JNU9KW1N>3P8V+S$2MB^7F)-)W-M*N'HTRP&=FE0%%ZI4H,X M#+-!)63=.S_U>S?F_%0W3LD:;PS8IJJ$>;I I5=GO:BWWKB5B]+QQN#\="D6 M.$7W;7ECZ&NP02EDA;65N@:#\[/>)#J^&+*\%_A3XLKNK($]F6E]SQ_7Q5DO M9$*H,'>,(.CG 2]1*08B&C\ZS-[&)"ONKM?HOWG?R9>9L'BIU7=9N/*L=]2# M N>B4>Y6K_[ SI^4\7*MK/\+JU8V'O<@;ZS35:=,#"I9M[_BL8O#CL)1^!.% MN%.(/>_6D&?Y63AQ?FKT"@Q+$QHOO*M>F\C)FI,R=89.)>FY\RDN*,0.KNLV MP12ITX$C8#X>Y!W(10L2_P0D@2^Z=J6%J[K XKG^@ AM6,5K5A?QFX!?A.E# M$@40A_'P#;QDXV7B\9)WO+S%I39.U@OX:S*SSE!-_/V:NRW:\'4TOB?'=BER M/.O11;!H'K!W_NE#E(4G;W =;K@.WT+_U8R\#1(E?5@#R2T0W)4(E[I:BOJ) M:Y>T+$AG@2ZY$3XPMM6R("SD)*EK_Z7G7F[66-:QL"K1( DO!>DA$)*H_C$X."-R+%2Q?4EB=!J&4SID"94(W)B>':)>Y;CTARZ0IK"7FK$HV/IY7CY@WW$#@ZWPNH4-B&@"ASG?V=8.]$@/V<%/]0JR'B5Q?7=Y\G :57YB6? MM$52<#74R+5$-8&PK[2U!R#6:NQ7=^3$(^ CO1F6Q&98D[X[".C44<%8MS[; MV>D4V6%-A6$",DKWBD+4]FW:%Q4'ZE^_$0 UQ?S^D'MQX4N4\%K1#3:GFH I M-])XS_-2F 7:K1&P2VSKU6'EB[U XE-Y9ZE"*33T)K%NGY),V?%E7M*S]Z,1 MAB3)LN7:XE1U)5APY:&@P'4!;Q,RUW2^XJC[:FAUJ!Y=J1M+A.SQWEUI$*%J MFRAR$P5J@02T[H';NJ!\PT2ISHL[[83:N\4'K!N$CQ!E:1 .,UIEP3 =\4XP M#,?\.XJ#<13OO4@UG0RS(!R%M-B'; 0'?A$=I7XU3(.CZ.A=?LDO\TNS8#1, M:#4*1J/,\TNCU#,G&LGP-7XQB<:\\(X0N3AKR25!F*8=N=T7:,^'C'F1Z5S3 M;5-=,=%E>&F $P4]R&.@RB+X&#O M^D7]LUB0CC(O12MV:>_S6W5/J9>:$9TB7&G5M,A?H1XB1(HLRG*QXE7I]+VKU7KT'7AJ1Z8DC5 M%!XN[8]HB%&J2\5K1#]"V!_O"N6-,5CG3\ ]AU#\*/>CH;>"HW)H4/FKY['R MKATK+6K;_R6J2; E*-C1?KBQSA9A;G3E'RQRY_[0Z4/^I>ZR#;EG20;HBOM> MHVED+7RGU?[5T9Q2LKN2KO1(W[51!=P8O3"BJK@S['@4<-B?A^!%G((N4%'_ MZ-5 +6@6_S]Q>FUH&>R,E!52[^3!F2>"IG;M=+G9W\&$ M%,Y)->R/TAZ8=EAN/YQ>^@%UIAV-NW[)C18-"]#Y7&NW_F #F_]8SO\#4$L# M!!0 ( -*#HEA\OEKW-0H $8< 9 >&PO=V]R:W-H965TJKU0Y=C&D, F0!40LINZS4+AY.[#U7T82VUK M$DFCS(P,[*^_IWLD62;&86OKOH ES73W],O33TLG=]9]]1E14/=%7OK3019" M]68\]DE&A?8C6U&))POK"AUPZ99C7SG2J6PJ\O%T,GD]+K0I!V;TL^)>A.]_[K?@D2-_=^M]/=R=IQEKCU=VOS?)@W9Z>!XH%):Z#H/M_;N-VK. M\XKE)3;W\E?=-6LG Y74/MBBV0P+"E/&__J^\<-S-DR;#5.Q.RH2*]_IH,]. MG+U3CE=#&O^0H\IN&&=*#LHL.#PUV!?.KMU2E^9/'5U4INH=^<292J[M0EW4 M'CN\5R]N;&X20W[O9!R@F+>/DT;)150R?4+)@?IHRY!Y=56FE&[N'\/@SNII M:_7%=*? C]J-U,'^4$TGT\,=\@XZ+QR(O(-G>&&H+FWI<=AT[90;1Y[*H%NO MO#>E+A.C[ZOOH4T8HN,06E2X? M3+E4=:GKU 1*5=)Y%Q>+SI%^[3M[^>G]_(S_VW>Q)C M755(<#W/2;F:5_)-1\LZER/)&0..-:.D=B:89L75?9+I2[+>\+$0*R!J8Z^U88].7]0?'2%18KEYA1H:QA&?R^(/K-U#G7P)GH%!Q![ MOM1E!&.)(%M[&:6SF_:/WL*ESU;P8GTX"'(4[)XXE$E M69KL\>@\)5HU+U;!XNHK]=1*%7FT]RH63,AT4'JQ0 ,6_4Z KH:%")1VCR2"<-C@#% 'N&X;()!Y3, M6[8 T)C#]8V$"$N)$Y\@%G/K4"1\,L>QJOVZ%C>4Y02^U0]Q%)4"LI"AY49R MQY#PU1RM8&%"1#A=&6@T?PJD>%B)M+7SH+FA=*Z 2[5QHIN:5%L1(LV'0T\S M$"1 ,T0D[,H(QHMT. **D*1LF;[O60\TMG?L2SSIYRAO PA".IO >SJ16&D MAL9)YL",I;7IG0&LA8]VP-WK#NY>[P2K6:\&SM<=NF67V]!O MI\#MK*2OI<\#&BV,D(YZ1*-D,..V#'?$?AXSI78;1;M-E(XX!D>WW2=DCKBK M".6-70B$%?7:,M8A;Y*^RI4$/5+X/]"3"C&?QU)APW:UJF?TP9W-ZZB+YM'. M:%Y&[@.+'E/DVQZ87G*#7=_;%N/_@QIU):T'U=&"R\(XK/A6:R"_XY4Q&#T> MT@0_C9#R2%>_/R2-KO8>-##"7_9;;&\VP,IK(%3#)!'Q")#T5)-2[ %(I&+- M6-_/?O_@.SZ9ZSDQ'VFIIEV$.Z03#,I%.1<"ND:[8=@NO,R--"8 14DDO>W1 M4CE?L_J:J55['_B"DH!=;,EC ZZV"!1)MBR03(4SB06SOOSV87" MW%-C\_GLLSQY.3D1FIA$&43I*.FW!.%B&(5L[G4=.2/[GE$E%)DI.1\D_GF\V@VBH17*C22 M P!Y*K@<-_#^C-*EL!=J9L/,5&BVOIY_D9Q$,R$21[>-'L@MW6482;'K#O;[ MAXOK6\XH74JA1$8DBW :MCL)L4=@DF)&+"P8SAYQ,*Z38!G3X?1I+QP7%K%5 M*]OLU,C+B&B^!J<-'4/NQ8O7/6X1A[%<6VB$/9A\879 ,33$MF6M3%R2$$.( M=27=J663J!PO(^SB1]-'Y.41OOKD?Z/NHTNBFDX%C(\5N>[BZ\)\EO(1YOI8 MOUU&];/^#[N*KHD3Y!.)?_!R'DA#QU831360HR-=C2+6_FN'-U'(#!9NE;D;=S!_J M2!%#WP*JH)%Y(C=?H%K)UNL%$Z0.#_9?M:].FDFDKT#&2.C]2Z+ NF3Z) F\ M-!\.7L5S74"-#ALP:)RSP03:-W6R(_J8LQJG:2UJ:,5ZJGSZ_=9? [=H:',[ M^C3MFBDC,F@=J4_Z'C;WT*,[_8_0XY?AIHP&.8X.)WMOO@..]8/(W:&S\&_F'?G2UF2^(6I#92+7ZWB1;"5?"F:VQ!L(3\STBDY7H#G"PM* MT5RP@N[3X=G_ %!+ P04 " #2@Z)8;;E6OR(# "J!@ &0 'AL+W=O MPAJ)&Y[*'J@I=$'EB)5DHHW_[Y#2E8X6L=*".!W$89D''6N%M5FYO MIS8K.1C>"MPIT$/7,?7VB%P>UU[DG3:>V[HQ=B/8K'I6XPN:/_J=(BN86HOO'U/H[AS];/.JS-=A,#E)^L<9OY=H+K2#D6!C+P.CUBEOD MW!*1C'\G3F\.:8'GZQ/[+RYWRN7 -&XE_ZLM3;/V;CTHL6(#-\_R^"M.^2PM M7R&Y=D\XCKYI[D$Q:".["4P*NE:,;_9UJL,9X#;\!B"> +'3/09R*C\SPS8K M)8^@K#>QV85+U:%)7"OL1WDQBDY;PIG-,[ZB&! J)3O82F$4U4F3"-/ UH5' MI>''/3MPU)]6@:&8%AD4$__CR!]_@S^!)R)M-/PL2BP_X@/2.@N.3X(?XZN$ M3TS=0!+Y$(=Q>H4OF0N0.+[D_Q3@8_[P]\-!N_U_+A5@Y$\O\]M+=:][5N#: MHUNC4;VBM_GANR@+?[JB/IW5I]?8-R]T2:U;7"FKE^IYTIMTNB MK])>%KUOD K4]4R\0?D>"S6TU#%JJN/A#BAH9*+7:H>C0#X^\4 MF;],*H.%-OO1 C9-Q-(SLW30Z2$.7RRT;^IF@L@YT M7DEI3H8-,/^>-O\!4$L#!!0 ( -*#HEBIE=H;X@4 (8/ 9 >&PO M=V]R:W-H965T+*6ZJLN M&3/DH1*U/IV4QC3'TZG.2U91_58VK(:5I505-3!5JZEN%*.%W52):>!YR;2B MO)[,3^RW:S4_D:T1O&;7BNBVJJAZ/&="KD\G_F3SX8:O2H,?IO.3AJ[8+3-_ M--<*9M,!I> 5JS67-5%L>3HY\X_/,Y2W E\X6^N=,4%/%E)^Q3K()*=B2 MML+L>+I_"O8-1@8; M(\^#4<"/5+TEH>^2P NB$;QP<#JT>.&KG?[K;*&- JK\O<_M#C7:CXKE3>:__N(GWF\C-D>#S=$8^OR&Y;+.N>"=H7))+J@N7?LDE]]: M?D\%.*0)K0MRP\ +GAM6V/5]OHQJV^_+7UXP4 LE M^MS"W%J(3\*>6:BV%MIUQ1JI<,9K8D /0&DI>$'QVX(*6N>,6)IK6*<&NP@Q MTLH:::A ?3BAE6Q1R2B@-O#"_&^L)$OP2I-#*RQ;#2;JHV,'B)>7EGGO6,ZJ M!5,X<9"&R,70L=%'?UXX>4#B.'43+X91E*1N%,^_2SIU<=I0D98& \LC$=9>-OU;@S;M8*3 M09E'JQX)V&! ]U%M%'(_U9Z LPVX32+7Z&2?[2T=7YVZ*X0^()D;IF'_3ISS MEHL"X7"15\ANRQ--?(BA']M7D#D7LFI:R-..;;A#RZ594\4@Y*X?1R2*W23- MG/>MJKEI%7.?R7=)]T-WED*>(S?R N>*P2%32O%,?P9<"M#*S.O9T.R/T2QR M$S_!5YA$@*;U,9Q]>5NUPG*_8!#FO"]2W H5HPS_I_L0QVZ:SD@A_O1E7]1(M#PA7,4"XT&M@EC_8&LET#\]Y L37P]03]4.>R M@NY&'V!W0Q^M,0?$CX%: 0X"-PAGSB9"7\[N"# H19*DON=\7@B^LDG%9MCE M'AHFS2&-FF]:]*+5$!>],=RPO*RED*M'$KJ>'\ SR))!AY*/5%AO C?+9O , M_7!8A4 M 0J0@9U+UDEY&3RC$$J+"TC!2F.S8P\Y"-KF*[5! <]'L"QV+JM& MR$<&S=[(_"MI6H@2% 1IX @@? MV2Q _76E"CTX=+/ PP&4\"P;JY5TJ)7T=;5R-1P>/RB,4=R?*(P71;$]QOY7 M!5SW/__;5MD 7=XH9KCJCN]=>*B(!#@QZVHD\^.="B*](QIEX$"UHI!$2#N# M!!8O:1- ^F)\9:G7YWJ_5X&M$V1CL,TV4, /^T'LCV4[&[*=C6<;KF-%"U$? MTMUYYY)/;.^I.P[70? > OMY?[;J'Q^M=Z6"^MS]QW_2M?K:ZNOQ@!P2.%." M@!S9,3:.F!PY<*>"&Y-M!26M5PRB"QWA< 7WR".H, S^(4F##$1?VHI <&C& M:0\:PI$7DJ-]89[NW(TJIE;V!JC!6_A+[*Y)P]?ADGG6W:VVXMT-%?BZXM!Y M!%O"5N]M"C\VJKOU=1,C&WO36D@#]S8[+.&BS!0*P/I22K.9H(+AZCW_%U!+ M P04 " #2@Z)80D<0Y#$$ "F"@ &0 'AL+W=OBAYHB;:( ME4B7I.--?WV'E*QD$\=UBU[,A^;QS7R<\4RV4GW1-6,&OK:-T%.O-F9]/A[K MLF8MU6=RS01^64K54H-'M1KKM6*T,$:N9UZ@;>[N.6KVMB+\6RRIBMVQ\ROZQN%I_%@I>(M$YI+ 8HM MI]X\.+](K+P3^(VSK7ZV!QO)0LHO]G!=33W? F(-*XVU0'%Y8)>L::PAA/%G M;],;7%K%Y_N=]9]<[!C+@FIV*9O/O#+UU,L]J-B2;AIS*[<_LSX>!["4C7:_ ML.UE?0_*C3:R[94106E#NC\"M'/3/[(&6UY4T#5%3PR=1,P;4P5*SXHF$PUYH9#>_N*9[T MZ61LT*55')>]^8O.?/B&^0@^2F%J#3^*BE7?ZH\1ZH WW.&]" \:_$C5&40! M@= /XP/VHB'^R-F+CHG_=>177)>-U!O%X/?Y0AN%K^B/?6GHO,3[O=C*.M=K M6K*IAZ6CF7I@WNS[[X+4_^% #/$00WS(^NRR1M1, Q=P295ZY&(%\U9NA &Y MA"'"N3&*+S;&<@E&PIUCZZH T5);,BZ/"*E:Q=X$/OGU$$)Q G.0G"9(25CG4LL/*48J)\!&1 M\G ;7*0VSOLPM4&8T4_;Y3G/K(. M&MU/UGS7F*TKZ5SQ)U>TJPP;PL-^T&LVM%6F25_]5E^A?\-WKQ5$97;,D%-^Q]@VV\>HWM'"4>$-4: M/QI6UD(V* ^(5EO$A(G":.+)*&^>C2]5H,6K&.;EWS MM88,U0._UT\R4N0Y1 6)PPR"G"1I,/KT(E7:N1QT A(G":1A"GE8C.ZEH8W] MUS@8"F;/)TF40A E) ER2!/B!_GH6OR3YOGH7M&*@: M @E\$D5%O_2^WV+V M!$*4RS.;DIW;$\@2$B79Z%7)_"MJG[/Y?]$8DBBU N?9&&!FR0@*09Y%(TY MB8(4HHQD68'A8*JS8V@L($DCR(OT>!I#$L01!&%!_"R +,(E_"\TQEG>+T?0 M&.*##FR6>K37!8 M_2LN-#1LB:K^689=2'5347 2KS68 MMFF8_G&&0JVG01)L!3=\65LGB&:3%5OB+=J/JVM-NZA'J7B#TG E0>-B&IPF MX[.AT_<*GSBNS804_I M#'?76_2W/G:*9VG@;' 52X8*VP-VK]#C?Q> =+)8S_AW6G.XH# M*%MC5;,Q)@\:+KLO>]C46ZOIE).=G5W@W,++.S87:%Y-(DN0[B J-^9GG7GZA'D&'Y2TM8$W MLL+JL7U$KO3^I%M_SM*#@!^8/H(L"2&-T_P 7M;'EWF\[%!\%]R40IE6(WPY MG1NKJ1:^[@NVP\KW8[G^&)L5*W$:4 ,8U/<8S%X\2T;QZP.>YKVG^2'TV2WU M6]4*!+6 *^K&Y:"F"R\O<#5\JBV1?(0:K]@=P1NB3> M6#,#]%LH0:UMX"67I*I:0VKFU7A J2SK/I=P@24V<]1;23;PF!W4 M#NI>Z>!:/- (-@@W*)BE2*SZUS(X2/9T&? M,VZ8 M]6_F_RR&NUHC/AH6 V_L"^&"?ZMW M#QG5_9)+ P(79!H?%90%W3T.W<:JE1_(\I:J= YPM%-[K9.(+^ MA9[] E!+ P04 " #2@Z)8G)F"K1T$ /"@ &0 'AL+W=O6B;3LW< M2NO^) A444'+E2]ZZ'!E*63+-4[E*E"]!%Y:I;8)6!BF0Q2SJ=B MK9NZ@TM)U+IMN?QV!HW8S%SJ[@17]:K21A#,ISU?P37HV_Y2XBP8K91U"YVJ M14#+,H/7//Y M5(H-D68W6C,#ZZK51G!U9TBYUA)7:]33\VLMBKO?SM"ODIR+%KE6W(;KZ(8O M&E#'TT#C,69S4&Q-G@TFV2LF(W(A.ETI\K$KH7RN'R"\$2/;83QC!PU><.F3 MB'J$A2P^8"\:?8ZLO?@UGX<$)&))7G-_G]<'C9KB.5$]+V#F8G4HD/?@;J.[ ML.:+I]&%!S,&LN$*4[L0$B-%<+P4#9:)(D=U1W0EUHIWI3H^<6XJ"? LKHX) MAHE(Y)P+I8TS$NZA6P-Y]R9GE+XG2BSUADL@;PGSPI#9?Y8PYPKQ<5E4!*UC M"M]C:?98:)JD7I2&)/>R.'*N.=)O=V"P[D#7W8K$7L)"DGG)A#I_0 >2-W8' M+S$U:Z4E-S5&(H_2#+]AEC@W0N,F]:- O"4T\2:3B<'(/)I2"0Z/D@T M"Q'&9<,[\O<%M N0_^SC]:"-_;R^>T/3\/T!A,F(,/G95$12M*P+C1&R:4-N MNUHKZSN>U5AH3QAR.V8[B#U!8 M9G;U'1'JA3GF88(9)GEG8$1A[J49=;X@,IP>H2#R& W)L8.=>0GU($V]F.4H M>WG(A4WV70>Q)R1>E,>'KE805U_!3I&9>&F(/RG*L[X3Y.269 M;\8LROUH)#JF*>XS\FSBTXGS\0%D42O+;HSZ^00YQ]5XXL?A,^ZQ9TQ29A>3 MQ,>>^,,D,$T,+4:Q48G].-HABD-_/-F&>:]ZY*5QZ"64&G7JQXRD5IVRU-^? M5\&32[H%N;)/$87=<-WIX;X>I>-KYW2XY!^W#T\EQ+*JD:4&EJ@:^AEV CD\ M/X:)%KV]\A="XP/"#BM\L8$T&W!]*83>3R";> P ^0D !D !X;"]W;W)K&ULK59- M;^,V$+W[5Q#:Q2(!5$N6O[VV 2>;H@%V4R-.VD/1 RV-+"(4J9)4G/[['5*R M5LXZ;@Z]V"(Y\_C>?)"<[Z5ZTAF (2\Y%WKA9<84LR#0<08YU5U9@,"55*J< M&ARJ7: +!31Q3CD/HC >R-)P)6"NBRSRGZM\KX'*_\'K> M8>*>[3)C)X+EO* [V(!Y+-8*1T&#DK >V,#'(FJG_Z M4L?A/0Y1[1 YWM5&CN47:NARKN2>*&N-:/;#277>2(X)FY2-4;C*T,\L[S#O MMR*6.9"+KU+K2[(&138953CQ0+<<].4\,+B3M0_B&O6J0HW>0.V3;U*83),; MD4!R[!\@PX9F=*!Y%9T%_$95E_1[/HG":' &K]_([CN\_AMX-U0))G:ZI?:O MU58;A57R]RF]%=S@-)SMG)DN: P+#UM#@WH&;_GI0V\4?CY#=M"0'9Q#7VZP M$Y.2 _D])=C<20/(R@JQT: OB! .Q^33ATG4BS[_V-F&L-'] MEF:D,O9'X>"(2JL@9NV!0ZQB^@9>38),(G\X&9-)Z/>FO;QZKM([]J#=M=+WFT4"])6TR]2?AZ,#AYRRT M$F^,8MNRJCX,-UKE6&P?2=B-0A>9L!M&&)C_ ^1,:P^;UAZ^K[4QHBMAV"]- M+%PW8C6^Q+S$@B2IDOGK[G]'/Y_JX[.43I]EQ]QTQ0V.N)UH\/>TZAYLQ'5] M=+QJV?_JS4V[WEREW6S6ZP._0PE'_F32[[0[[Y7!P)^.QIT':2@_K2VF/"YY MI>O@-/8GPY"?4HPGMOQU : MAQ1=P^X8JAT8U,+)PE_M6&GPJN,\,WV:@K &NIQ(/F7I@-VA>>\OO4$L# M!!0 ( -*#HE@P,TW&PO=V]R:W-H965TXT:T]V$I64KY88Y%,O< *0HZQL0R,EE>\0\XM$/TFI06V-[OV;^X MVJF6%=-X)_F//#'9U+OR(,&45=P\RV98-%%R \I&$YO=N%(=FL3EPE[* MLU'DS0EGHH6(98&P9%O4\'G)5ASU^<0W1&T#_'A',ZMIP@]H^O @AD4O.COI#8.;(WH'C=[!,?;HF;HO MJ3B"3*&E?;ZE;M0(3"0P3U-T;]IYGIC!0T4<3[/,$.YD43+Q=G9R%?9&-QKR M.ITA4FREPR:=]2A*!S03P!"#R10BH+UZH(N+L^;F')(V_2YLD'XXTP3B- GH ML>6"@++2%**[E"K&TD")*D9A:![H\W%GZ8C;3ZOC6"UC9_%>YR<8=D?#:UJO MNV$_[,S?:PZOX11ZX0A.#]V2W^JD M7:S0L-L:R$J9NJ.6U&TFW=B7_#ZWE& M/V*="PT<4X(&%Z-+#U0](VK#R-+UY4H:ZG*WS6BLHK(!Y$^E-'O#)F@&=?0' M4$L#!!0 ( -*#HEAH,]A_^@( ,,& 9 >&PO=V]R:W-H965T"R'-V,NM79[[ODER M+)@Y5DN4M),I73!+IE[X9JF1I953(?PP"$[\@G'I34;5VIV>C%1I!9=XI\&4 M1<'TVPR%6HV]OK=>N.>+W+H%?S):L@4^H/V^O--D^2U*R@N4ABL)&K.Q-^V? MSV)WOCKP@^/*;,S!13)7ZLD97].Q%SA!*#"Q#H'1\(*7*(0#(AG/#:;74CK' MS?D:_7,5.\4R9P8OE?C)4YN/O:$'*6:L%/9>K;Y@$\_ X25*F.H?5O79 3$F MI;&J:)S)+KBL1_;:Y&'#81A\X! V#F&ENR:J5%XQRR8CK5:@W6E"7]!^*:,@:-'-A=HNB/? M$J5S]),&?E;#AQ_ 1W"CI,T-7,L4TVU_GZ2V>L.UWEFX%_"&Z6.(^CT(@S#> M@Q>U\4<57O0!WO5SR>T;_)K.C=7T1'[OBK&&B'=#N+(Y-TN6X-BCQ!G4+^A- M#@_Z)\'%'H%Q*S#>ASYQUZ$D2FM 9? _U[4K@OT+==( MY6VIMFNB1V69Z,R88#*I@$G(%298S(F_N?,(/L$1A/U>?!I!MS*&T4DS"\-> M%)Q!MW.[0S*79"/,D3H9$FX(XM[9V8!$;N>- MZB3)VT*ILW/2&P3A.FGM+#REI,70W?56_8W&4J!>5.W3D"Q*1]UCVM6V0T_K MQO1^O&[O)&C!I0&!&;D&QZ<##W3=,FO#JF75IN;*4M.KICE]95"[ [2?*677 MAB-HOUN3/U!+ P04 " #2@Z)8$;9>.3X$ N"@ &0 'AL+W=O#@5ZH#8266Z-*CX(/"\95*RLG"=!;:N*R><9V+D; M6KSP'7?O<2.D+NLU_#E=*BVI./XZY&Z#%AU&,PUSJ38LP[%#':%0/J(S^?DG M/_%^.<(UZKA&Q] G+$I(2-XI3\\6-O*%YIX$[](/>-/^;.H VN)G=+JZG]"=* M7"_U2#B%)(4S*_@7L96BV+WP+][E%WZ87YRX:122E+IIFEA^L1];YD0CC [Q M"T@U,()UA,@%24,N=+TXAB-E$7=E$1\MBWO,1)V5O&R:E8KC2W_>AU^GTSLX M_5TH=4:UD8D*8894(OBR6K GRJ<6\(;UH>HYSJ")\'ZG]VS>37![/])[&R6B MT#$^%$*;QBYDO;D6V<.Y.7ES($?H-E(--#X9&4V08W9N>5"XU2+M7V83:(#4U=>J?0>0FP\!0<\,HMLRLTK+)3FNB;79.( C= MT$]LS05I:.U-7^KWFLZ%C2SI6BWYLX'DV]S"Q?V4;@W.VU0<(GH"7G^XKY1M MI<0Z>P9.Q40H]N[\MBU5::)R+I$SDS"+91+":J/*:M7_$-70?27(C*-]K]O= M[ @K*2I"(0PF'\ZU.#=O&D]>0VY9T@9T3ID5B:K,4;9I5$J8E-*^NU(7%NFK MD#R'.RG6DE65.=[V/')-V+\/P9LXN6V@_/[%P4"M:?CY/W$Z= H,]N[P"N7: M3BJ*?-O6NKG.NZ_=,#1M9H!7]6:2HG"O#2&.*S+U^BFULVRFDV:AQ<9.!$NA M:;ZP8D$#'4JC0/]70NB7A=F@&Q$G_P)02P,$% @ TH.B6+752;]M! M51@ !D !X;"]W;W)K&ULM5E=C]HX%/TK5K9: MM5([B1V2#+. -,/L:BL5=32TNP_5/GC(A41-8M9VH/OOU_D@(1 \H)IY&/)Q M[\F]QR?VP8RVC'\7$8!$/](D$V,KDG)]9]MB$4%*Q0U;0Z;N+!E/J52G?&6+ M-0<:EDEI8A/'\>V4QIDU&977GOADQ'*9Q!D\<23R-*7\OP=(V'9L86MWX3E> M1;*X8$]&:[J".NSNP&)8Q3R$3,,L1A.;;N\=V4>$5"&?%7#%NQ=XR* M5EX8^UZ623N'^_0_RB;5\V\ M4 %3EOP=AS(:6[<6"F%)\T0^L^V?4#=4%KA@B2C_HVT=ZUAHD0O)TCI959#& M6?5)?]1$["4HG/X$4B>0PX3!B02W3G#+1JO*RK8>J:23$6=;Q(MHA58(^RS\+"/@<[:4 M6\K5A,C"O'A?OLT@?0'>.TY:^$O'R1!8APF_8<*_DE1]DQ08 NM0$#04!#\G MU2K=V]>@^@N< ZGVA#FNZPS[I7K;5'>KK>X)^!IDKBK<"58K3"W8I:-B"*S3 M][#I>W@E80Y-4F (K$,!=MJ%W/DY:=;Y^Z+S/3\(\W\$GM-G:#ZSW'VH57X(HOIBH,G=+.YHK'M0LJI]"]<@7CY,A MM"X/K='!WK7D:M3CF$+KTM"Z'*QU$&?(U3_2(7&"X:%:CZ.P[[HGQ-H:$*QW M((T^GR&A$L(S=:H%O7B #*%U*6A=#KZ]EDZ-6AY3:%T:6M.#M8;B#)T.CQ=\ M'Q\M^,=1P9ZOSE*J'O72(3*%U26A=#\%7 M4BHQZH-,H75I:'T0T1J,UY5:YW>4.O .E=H3%02!?T*IK3TA>GM2?J/7:]+H M5HLIM&Z[K=LA@VMITJC9,876I:$U.^25;9U7->D=;R<-G,-5OB_*P]Z!)NV] M#=H4^*K!7YB4+"T/(Z A\") W5\R)G[! -!H !D !X;"]W;W)K&ULO5EM;]LV$/XKA%8,+9!:;X[B9+:!Q&JQ T6).OZH=@'1CI;1"32 M(VD[W:\?*=F2)2ML''#Y8NN%]]S=0][QD33>,/XH,@")GHJ8_KB!GFXGC.[L+=V2127W!G8Z7> 'W(+\N;[DZC@AR2*2&P.IO#3/(^YG9W@\, M *YBIZ8HV%%T%1@1;S ?H- _08$7#/L",IO'D-3F88]Y_'+OH2&;L)[PL,0+ M?S+AG]L3_JT]X=^_*#-T+:$0?_?-8>5CV.]#]ZH+L<0)3!S5C 3P-3C37W_Q M(^^W/OYL@L66P%K<#FMNAR;TZ2WP!*A4_1*Q.:*J:_.*;8%DQMEJD:G:2 E7 M/0\E&:84\MX*J;SX7NE&=^[UU!OXWFCLKO=Y,P9S+&^6P%J\G=:\G1IYBV$. MG$.ZH^MD=Z#^$[:@Y-_>3G!5H8[V:(JB0=AAR>CZ6)8L@;58BFJ6(B-+NV)M M>$*42?2C7&8FFJ(#FH)A.#CM\&1T?BQ//2Z]T=[4M @XJPDX,Q)PUUT4:%D7 M7%_>%9KOM\KHK).VT>6Q:5L":[$SJMD9&=FYQ[GJ,YBF2&T9CR )7:!/3TH? M"D#?;Z!X -[;RHVHQ[9RFV"Q); 6F^V^36)EAL":S%K>\UHM-[ MP5I-6%$0(9[5B=YA$SGH[MM!T?Z@]I#8',MK<]T3V+Y9%'!88I*6E?F'S("K M]:,V.RK1I1"@UI2I.,W8QZX@JVBQ+;0VKT'#:_ &%;IU8HM@FVBQ+;0VPK]1]+Y9TN\6%L)EL?9F.SS,(QSXW6Q[1@5=-1*;HWEMMHT.]\U"O.I/ M7QA=?/P3>/&B#F537\^LHL6VT-IL-GK=C]ZB0]D4YC.K:+$MM#;!S?. ;WX@ M^$F'HHR:FM3984%Z@_-NV;YD5&R.\[4\-,K?-TO_RR1A*ZJ6UATD0-;X(3=+ M?C/*%MM":[]+;:1_8);^+]A0@T/A?WJP MG_8.ZDI_B MZ7]02P,$% @ TH.B6.,RN>!; @ ?P4 !D !X;"]W;W)K&ULM53;;M- $/V5D9$02&U]25I02"RU*1650$0)T ?$P\8> MVZONQ>QNFL+7,[MVK%1* R](4;R7.3/GS&6G6VWN;8/HX%$*96=1XUP[B6-; M-"B9/=,M*KJIM)',T=;4L6T-LC* I(BS)+F()>,JRJ?A;&'RJ=XXP14N#-B- ME,S\ND*AM[,HC78'2UXWSA_$^;1E-:[0?6T7AG;QX*7D$I7E6H'!:A9=II.K ML;&KR2M=;W?G-;SJ+$$T*!A?,>&'T><(Y">$=$XV?O,QI">N#^ M>N?])F@G+6MF<:[%'2]=,XO>1E!BQ3;"+?7V _9ZSKV_0@L;_F';VR81%!OK MM.S!Q$!RU7W98Y^'/4 Z?@:0]8 L\.X"!9;7S+%\:O06C+/* M%V7E#-URPKE\B0^H-@B5T1+F6CE#>;)$PC4P#^'16#B%R[+D/HU,P*WJ>L$G M]=4U.L;%ZW0:.V+C?<9%'_FJBYP]$_D3,VM ^@3>/[;4%%C"%RZ]G:Y@15>V8D5GL'+, M.*"$XB30.TWH=U#C44Y^HB:V907.(AH9B^8!H_SEB_0B>7=$\6A0/ K>1W^I MW-_JYD9:E;T.C;4:7JO9KBKF=-D M7>A:\=\$;-%P71[2=3QRFH&D2(T]I"+>FR?_-%&KUEQ9$%B1L^3LS7D$IAOW M;N-T&T9LK1UE/2P;>B'1> .ZK[1VNXV?VN'-S?\ 4$L#!!0 ( -*#HEAG MFEK1Z@( ,P) 9 >&PO=V]R:W-H965TI+ M8COG'%^?>V-[M&;\660 $KWFM!!C*Y.RO+)MD6208W')2BC4EP7C.9:JRY>V M*#G@U)!R:GN.$]DY)H45C\S8/8]'K)*4%'#/D:CR'/._-T#9>FRYUMO UEF M4@_8\:C$2YB!?"KON>K9K4I**[@%2K60"N.ET;3:*35QL_VF_LVL7:UEC@7<,OJ+ MI#(;6P,+I;# %94/;/T=FO68 !-&A7FB=8-U+)140K*\(:L(<;9&7*.5FFX8]PU; M^44*72H MT"T66<\\ MT?2E(BM,%5$@7*0*+"0GB82T_GX^ 8D)_:)TGF83='[V!9TA4J#'C%5"$<3( MEBI^'86=-+'>U+%Z[\3Z _-+Y+L]Y#E>T$&_/4R?0-+2_0[ZY/C9N^C3XV?W MMNFVREF;.*]-G&?T_ \G[O?U7*5"_8%_NBRN58-N5;TK78D2)S"VU+8C@*_ MBC]_B*QK=3X;6K\0^JQJ7_]3R2Z ?]_E*Y\U%*1D=*; M^BH.PW[DA"-[M>GT/BR(^D$XW(9-#@;V40]/)+;E8=!Z&!ST<&,[,2Z2(J%5 MJGIJ"V$R XXH*Y87$GB.L!#0;6X]1[CAVM#;,78?XKK]'5+LF9+EV[YWF1IV5NPPVC%V'Z8J5@%WO-V'^?W!('*V M8=,.F!L-PT$+J_VP-TY"?<]1F_:2% )16"BB<]E7.KR^.]0=R4IS.,Z95$>M M:6;JN@5< ]3W!6/RK://V_8"%_\#4$L#!!0 ( -*#HECM'64]_0, #84 M 9 >&PO=V]R:W-H965T\Q&DJD02/[PVHT9Y3-O:W3^@?JN'%,"^(X25) M_TXV?+\P0@-L\!:5*?](CG_B9B!/XL4D9=4G.#:UE@'BDG&2-YD4 ML@6\?< <)>D[4?QY_0#>OGD'WH D!Y_VI&2BE,U-+DC*4YEQ0^B^)F1?(/2, MZ"UPX VP+=M5M"_U[0\X;MN=8;LII&GUL5M][ K/N8!W&OP&K%(D)A[.__5) ME(-'CC/VCVK4&MM58\LK](X5*,8+0UR"#-,#-J)??X&^]9MJ\(G !C(XK0R. M#CWZ1#A*0=%W 3ZIH!J\1O,K-'DG.40SUX?^W#ST)U)5.;[;5@VHNBU55TOU M"3-V)VX/<9F5*>)X(ZYJH4BZ]E[VG9KY02WX <*W7V7G%PPM )SI@JJF:AY:B9^BU37Z^S9/CU&62K MG3EKBT=M5BCEVGB< &XT.K>Z9;5S1L SZ1 M$E.A#:7HQ1LXJ6D;N+XA8>!![\RVZC([5!L7=FD#:I_BT9)D1O6[7B!NPRQO0N::%M6EFM!03H0VEZ/(,U >:T19^'4Q$]O+< MM:]@4#=S$'ZG/.$T8,[TDZ M(COH$4"O:K-M &)_6+ZGJ'4Z*ZCW/"^&<9-7F'J,- MIK) _+XEA)]VY*NC]E5A]!]02P,$% @ TH.B6"83[7H@ P " H !D M !X;"]W;W)K&ULQ59M;]HP$/XK5E9-K50(! JL M@TB\;%JE,J&B;A^F?3#) 5X=.[4=Z/;K=W8@ YJB56+:E]AGWSV^YW)G7W ACRE'"A>][2F/3:]W6TA(3JJDQ!X,YW=LNW+'%TM@%/^RF= %3,/?I M1*'D%R@Q2T!H)@51,.]Y_?KUL&/UG<(7!FN],R>6R4S*!RO23*M)')QA@]2)C(1_JTB<.. >*4&P0;@^#0H/F" M06-CT'!$<\\AG0FG69IRP-]B M\!^2&Y'GA0UPA?3CF-DIY7L;YR,PE/$+U+B?CLCYV04Y(TR0,>,<]W77-^B8 MA?>CC1.#W(G@!2<:9"R%66KR0<00[]O[2*A@%6Q9#8*C@&.JJJ11OR1!+6B6 M^#/\>_/&$7<:19 ;#J_Q MYG*2*JET0J,J'*D*W%,#^B67Z$+?9KG=((>AY6LP:U B]\^Z;>JKTOXW\BL+UH-(MH-(^AAR- MT(CER01/>!]IN,0$BG@6,[$@-)'*L%_YOIP392NQ(N>53 .A6H/1),-$463. M!!41$ Y8R*5YEWO2<9[8"VT5!M6@ZZ]V8_%U%HU-$H_-?4K_SK$IKU?I!)1_U[+6\_9U'-0&U<+V&1D\4/U@?8YN1=R1^8O$?"=V;!,#DXS!&R5FUC2:J\[\@%(U/W=,^DP4; 39?8 MJH&R"K@_E])L!7M T?R%OP%02P,$% @ TH.B6%!@VSOG P DPP !D M !X;"]W;W)K&ULK9==;]LV%(;_"J$50PNLD:@/ M2\YL XG=80&V-:C3[F+8!2W3%A%*5$DJMO_]#B59=BQ:S<5N;)(Z[]%S#C\. M-=D)^:PR2C7:Y[Q04R?3NKQU795F-"?J1I2T@"<;(7.BH2NWKBHE)>M:E'/7 M][R1FQ-6.+-)/?8H9Q-1:?&$W!\;YTZW3N-\+Q]]/Y;'3P$LR**S@7_FZUU-G42 M!ZWIAE11-RC OR#?\T.+?#XL7]"TDP>OY2ZDK,N;W^7-K_T%5_PU"3F/><%4 MRH6J)$7_W*V4EK!"_[7%V3@.[8[-MKU5)4GIU(%]J:A\H<[LYY_PR/O5%O7_ MY.Q5#H(N!\&0]]E#D8J<(DWV$'Y)#F3%J2W@QLNH]F*.E9<9CG#D3]R7\T@L M5KX?C#NK5XAAAQ@.(AY7[+>[)QM9(X[.WAF&\258WRB)L6?GBCJN:)#K\XJS M;;W/%!R&G&A@U (.M>\54ZS>?[#K5I4"G3KN-$W3K!!<; ^V6*(>9N#ARU@L M1GXRLL MOL"T& 5)9,<<=YCC0(_9O /VP!VBQ2J[QG'JPH4$D08\AQN->>OM623RZ1GJJ M5WBX8#T)3;B5*NS5QS!(_%X"+69),$XNN-RS&Z.YKL/M:LN@%G&Z 9UW$T-< MLKD!-QTMROH2N1(:KJ1U,X.O!BJ- 3S?"*&/'7,O[;Y#9O\!4$L#!!0 ( M -*#HE@NW)(.S0( -8' 9 >&PO=V]R:W-H965TUBVH6;G#063IS93LO^_6PG M9&T)91>[:>WDO&^>\DE^7$.K=0#@5NJ;QCFVOH\PFU7\:H,+]HT\KN M'S_U==@2N,$K J\7>/\J\'N!;Q+MR$Q:,RQQFG"V05Q'*S<],+4Q:I4-J?4J M+B17;XG2R731-@T%M2Q2K2&ZJ;M]H0M\BA;=RB)6H*^R!(YN6;TZE< K=$OP MDE B"0AT/ .)"3U1BH?%#!T?G: C1&IT7[)6X#H7B2T5J?Z>G?545QV5]PK5 M%\S/D.]^0)[C!2/RZ6'Y#+)![N_*;56?H4C>4"3/^/FO^/79;^4\(R*C3+0< MT(_+I9!<;<>?8WEVQL&XL3ZB%Z+!&4PL=08%\#58Z?MW;N1\&LOZ/YGMU, ? M:N ?L4S?RW(^)O=Y. M<20J/'?#(6J'/1C8@X/L-W7&*D 2/Z&^,*.$G4FX0^BZ\1[A6)07!N.$X4 8 M'B2<00&<0VX8WRAD^!+ BZ-P#W,LZCQVQC&C 3,ZB-D=!#JT@3=(HQ<,GN-Z M>Z C0=Y6T YG/'#&!SGOF<1TC"A^L;V"V'7]/:31J-#=8[*WNJZ^\5336I%: M( J%TCEGLY)2VXD\1V[4XFL:@U*SC<2:+JLJ3R MUQ28V$R<@;-=N"]6N38+;A)7= 5ST _5G<29V[%D10E<%8(3",_)#>\.1>0?8<[Z*QSIV_=3?U#Q+>4GE.@L$I\3U_V*-G]O?PX("< MH$MV8/F"?T[V]\N%TA+/](^^K#6LPWY64^<7JJ(I3!PL9 5R#4[R]LT@\M[W M6?Y/9,\2,.P2,#S$GMQP#OD+!SY?NRN=TWT1/GC M<=A%/5,7=NK"@^JP+V#5CLQ'^@NPN0W4$L#!!0 ( -*#HEAJ+-0/ MJ@( !X& 9 >&PO=V]R:W-H965T%)N)AC[,3+MC3;2RQ1 MY.$YE,B,*F,?7(9(\)@K[<9!1E1?"/DU1F6H<=(.=X4ZN,_*&,!X5 M8HT+I/OBUO(N;%%2F:-VTFBPN!H'D^[5=.C]:XHE =B&C^VF$&;T@?NKW?H[VOMK&4I',Z,^BI3RL;!90 I MKD2IZ,Y4'W&K9^#Q$J-<_0O5UK<30%(Z,ODVF!GD4C=?\;BMPUY %#T3$&T# MHIIWDZAF.1&ULM5IM;]LV$/XKA%<,';#6(JD7NW,,I,G6%5C:HFG7#\4^,!9M M"]6+2U%Q,^S'CY(549*ILQ5(7Q++OGOX\,0[/CIQL4_$MW3+N40_HC!.+R9; M*7>OIM-TM>412U\F.QZK7]:)B)A4EV(S37>",[]PBL(IL2QW&K$@GBP7Q77O,PV5],\.3QBX_!9BOS+Z;+Q8YM^"V7GWVDSL4%G\'?)_6/J-\*G=)\BV_>.M?3*R<$0_Y M2N803/V[YU<\#',DQ>-["3JIQLP=ZY\?T?\H)J\F<\=2?I6$7P)?;B\FLPGR M^9IEH?R8[/_DY80*@JLD3(N_:%_:6A.TRE*91*6S8A %\>$_^U$&HN:@<,P. MI'0@;0>WPX&6#K28Z(%9,:UK)MER(9(]$KFU0LL_%+$IO-5L@CB_C;=2J%\# MY2>7;Y+$WP=AB%CLH_=RRP5Z&TL6;X*[D*/+-.4R12_0K5H^?J:^2=:=5L^O MN61!^(LR_WQ[C9X_^P4]0T&,/FV3+%7PZ6(J%>-\W.FJ9/?ZP(YTL*/H)HGE M-D6_QS[W#?Y7L#\F ,!4A:J*%WF,UVL"(MXP\1)1_"LB%K%-A&#W:[ZJW"E MAU:WCQ9XM /O]I!]Z'WW;?GZE_)!;R6/TG],=^ P@&T>(*\BK](=6_&+B2H3 M*1?W?++\^2?L6K^99C\06",6=A4+&T)?OA%)FJ(5$^(AB#>(14D62].,#S!N M 9.7N?NE*GH.=1?3^_I<3&8$V[0R:[!T*I8.R/)RM<$4SW:'#7L8XH'EMYU/*( MF:%7,?2&N>'>T>@$6S//:9$TF1&7=,1Q5K&<#1''V7&$'.IX+8K'5C.U(BPS MPWG%< XRO.;W:CO?J07YB:^V<1(FFP?T]89'=UP82P8(U[=D# 36F#FV]/9G MC5U RQ$&"L=0:,UXU.0 'B:G2IQ&U;&Q-:>M%6NT(]2=F=I#&X[YU; DJ4^HYC.RYIUU*#F8-=VL52;Y\8WC_! M,H#^0S=!'$19!%8&>(C>N3 06C,@>J?&SNBU 10#O>,Q$%HS'EH08%@1?"F> MB;C_@MUSH9[Q4);R=1:B,%@7#P9L]3T+A%H_:[52)'\1J@?44S^;\M=S L-XXF2#LQ^D$ 8?HO2 &0FL&1"L;/!L]04#Q MU#L> Z$UXZ%U%(:%U)@) H_L @GR!,_FH[$64P04)\NKHE^AUL%''A9[<;H- M=BF8#S!BW_L_%%IS_EH\$3QV/A!0GO6.QT!HS7AHB49@B7:VF"QQ&I+&F\_: MRL=D-J/8-2L?HO49@?59'RE90M4U(IW;I/V@9C+S/*]#I!$MT@@LTLZ4DN2X M>8%GCHO;+$T]#H=Z'2RU*)N*/7!E#J]([' M0&C->&@Q16 Q->)>>6)DKWNO?(IG<_Y:.Q&X+71&BIPA)^%!>B^),>03T?*) MS$=/D4%;4T.A-5O[6DY16$Z-F"(G1L96=XX\R;49 2VH*-R-:B\#6$O"8+U? M98RAG:C63I2,_F8'5&>]XS$06C,>M1==L$8[6TO2X_88MIUVJ\]LU2'/J)9G M%)9G?91D"=5X=4+:+Z$,1H[;\0J*:GU&87UVIHHL4>I!FM6ZH25#@]&\0Y)3 M+9!H*K1D/+9XH+)[&W!GAD8%. MY%,\F_/72HG"31LX.\[0C3!^[]4PADZRM4ZR1W^'9P_:AAH*K1D/K9IL6#6- MF!TG1H9TXY-L>B$XH1ANE]V\=02+962/;H9X'L00\# M#876C$?M.- @K3+;T"JS*&W+'*.9[76\QK:U%+-A*7;^J:5CG67D:3([YCFM M'1F,N-@4)RD5CWSTP^G!ZMOJM.9E<49QJLT/1SUOF-@$<8I"OE:NUDM/,1"' MTY.'"YGLB@.(=XF4251\W'*5H"(W4+^ODT0^7N0#5&=8E_\#4$L#!!0 ( M -*#HEA!/@NY=P( .\% 9 >&PO=V]R:W-H965T$ _>9'9CU;&#[6P*7\_8 MSH9M2:L^\++Q9<[QG+,SDW52W>H*P)"[F@L]#2ICFK,PU$4%-=5'L@&!-VNI M:FIPJS:A;A30TH%J'L91=!S6E(D@S]S9I6MW9R7TR"R"0&'PE@&BI\M+(!S2X1I_.PY@^%)"]Q?[]@_..VH944U M+"3_QDI338/3@)2PIBTW5[+[!+V>MY:OD%R[7]+UL5% BE8;6?=@S*!FPG_I M7>_#'@!YQ@%Q#X@? M)' $D/2)Q0GYF3M:2&YIF2'5$V&MGLPGGCT*B&"?LO M7AN%MPQQ)O\H9=DQS@D5)?EL*E#D7!@J-FS%@W8 M/^%P"88R_@HC;JZ7Y/#@%3D@3) OE6PU,NHL-)BD?2HL^H3F/J'XD802Z54"^SU;:**SS'V,N^E?2\5=L[Y_IAA8P#;"Y-:@M!/G+%Y/C MZ-V8!?^)[)XAZ6!(^A1[/JNE,NRW+RBYQO(9/*'.DS'UGO+84=I!MKZ4TNXU]8)CQ M^1]02P,$% @ TH.B6&B=&&13"0 P4H !D !X;"]W;W)K&ULM5Q=;^.X%?TKA#OM[@(96Y1D.YXF 1)+BZ;8# :3;ONP MZ ,CT;8P^O!2=#(!^N-+2HHH.C1M3FZ"P5BVR7/)>RB2YUY:%T\5^U9O*.7H M>Y&7]>5HP_GVTV12)QM:D'I<;6DIOEE5K"!5;2+PS5NZ(@[/F&YM73Y0B/7C[XFJTW7'XPN;K8DC6] MI_SW[1ZI'DND40[_NQ 1[U-67%X_8+^:]-YT9D'4M-EE?\G M2_GF-_^CIZZL-T+)KN95T546+2BRLGTE MWSM'#"H('',%OZO@[U>8':@0=!6"O0H'FQ1V%<)]"^&!"M.N0M/U2=OWQG$1 MX>3J@E5/B,G2 DU>--YO:@M_9:4<*/>V[[+]T^<:W OYS5XY1X)TAW_-]0WN6)U?'"U-W[-7O"!/5 M<6,]-%2/[=4CFO35 XLS@I[_H,$+#^ MJ_*1,IX]Y!3=TS*K&/I<<5JC:$=1 M5DHS<_3''2T>*/NOB7PKO)SF/M5;DM#+D9C':LH>Z>CJ;W_!,^_O)L]#@D60 M8#$0F,91V',4-NB![1Z]+6O.=F**YNB/WT0!=,MI41LI"2$I@02+(,%B(#"- MDFE/R=1ZVS249#TE9XBLUXRN":=HR[(RR;9B)B5%M2NYB:$6?-: RZ7\\)2TY%RSEBPG#[=G*P9.\/.52M4-G,XKP2'A;%9*$=2S9B M2\5^JDU^GK]B_,"(M+;*U=&08#$0F,;&><_&N96-SV)/OV550FE:HQ6K"I35 M]8Z4"95D)%7-C5X_?WV?^6%@[0NGZ63%Z)\[6B;/ MTNM;RK(JS1*T)<_R6Q,!5GC7M1(2++)WO*9%]I&4Y8[D^;.)%:"V:*Q@3ZD* MS]J\VY=IO7.]N ,*\9K0YDUZ8*ZW@[JR 8H6'>EPLR_'TS-T2%7$4,W1&1GH M/.RV8TEIG;!L*Y<0(Q=6.& MSZ?>7^5$@9Y%J3,Y7(F40MKM)74084P4J)$0Q4( 4D$U(F6*!.V--)+O!1XE MR:9#>MIDXOIEV*>RXJ!P*S['QG$"Y"I]G/AJG/C'QTG2J$(9##KKKKGHPG#T MU!LBK#>+G%'4W]C-.(\?2+2H0\/!8-W%P7@Q]?8W>%!V=3*4.,=V=?[JIDV4 M7#]#8D07=;N]>*$+K2CA.V:>74&E.BA:=,0/>W?TACQ22RV5-;+;-C1)@[3Z0;,4>\7M6B$:*:>7#'(]GYXW5IIFR1,;-;3-/ M%>\1E< J+(&M$OO(Z!QEJX]J[A NVM&1G$GI]X36/2.GJ&5[,YP'+FA$HT,; M[N##66B2U%!V=;)4P +;(Q9.@3[TOWX0+MM!>-_<(+9 H-V^,TN@@0]0M!@* M36=215#P##0E@F,;(&F1H9 F* M%N'7P2)LF/#>(QZ#54 &VR,R9C;:"?#@&JVMQ>\*G9ILA0]!S/_<7K->64DKKS5.## M/R'PX9*9LN,YN\LWYIP\?[KOK!,+QE#MT_VI8A>^7;.?FI_:E2EE3RP3WC9N MA.QFG-TG. M5]+;=SHLX)ZDLN,[TP JK8_T_6B>"JHU.C=*3/MNYQ$*&3[-^//!')4=SYD+ M>^N:LV;(PVU:R71<+ )M3PR%IK.A%+3OI*"/)JGL<,YD@(KD(UWM0MKA\225 M-_:G/Y:CVDM1:1DJ8T 9R@,Z_4JR^TZ2_6WI#KLMY[$!JLZ/^&%O;)R0[O#Q M>.J%"^AT1PB:[@AGHI%O2'= <:"/3A6@\-W.FC#Z;?4H1O2K':[3NS M!/MK"]B?6[Q'N"10X9(@!(UP!Z!Q$E"T"!0MAD+3B5&AE."$4 K Z32[&6?" MIJ_/DW4[\KVX%JC=& I-)T/%3@*WV,F;\MUV6\Z,S$[(4$>@-F,H-)T-%3L) M?N3T 62^V]X 9XI:M'/MY-1X/]L!:C.&0M,I4O&-X(BN?Q+$/*//XF-.:8F6 MC*891]=K1NFAV*\=TMGIH&$,4+08"DTG1\G[8 &[YH-J>E"T"!0MAD+3?_RJ M9']HE_UWQT+R]OK./W@%%?I'^M;_G%N*@ZG)^5#-T9VOY']HE__=%+4B298+ M#HSN!Q7ZH&A1:#B$X!GSO3&48=W12NF'=J5_3Y.=\/6K-<$J".V8SJX'E>V@ M:#$4FLZ.DO9A +HXA*!*'10M D6+H=!T8@:/1K ?;/BM(N6Q2*0=PID,4'7> MH0TCD:\FIO>0W*&2W*%=#1_44E*V;9R350GH)'[>/L.D_[9_#=-T\?6CO\QO\:=D^ M34G!M ]WNB-L+70@RNE*0'KCN>@ :Y^7U+[AU;9Y(-!#Q7E5-)<;2E+*9 'Q M_:H2(KU[(PWT3ZVZ^C]02P,$% @ TH.B6+6158_8 P \10 !D !X M;"]W;W)K&ULK5AM;]LV$/XKA%8,+;!&HEXL.[,- MK):+96B*H%Z[#\4^T-+9)BJ1'DG9[7Y]25E1+%O5[(SY$)/2/8^.SYWN1([W M7'R1&P"%OA8YDQ-GH]3VUG5ENH&"R!N^!:;OK+@HB-)3L7;E5@#)*E"1N[[G M#=R"4.9,Q]6U!S$=\U+EE,�+(L"B*^O8&<[R<.=AXO?*#KC3(7W.EX2]:P M /5Q^R#TS&U8,EH DY0S)& U<7[#MW,<&$!E\8G"7AZ-D5G*DO,O9G*731S/ M> 0YI,I0$/VS@QGDN6'2?OQ3DSK-,PWP>/S(_K9:O%[,DDB8\?POFJG-Q!DZ M*(,5*7/U@>]_AWI!D>%+>2ZK_VA?VWH.2DNI>%&#M0<%98=?\K46X@B PQ\ M_!K@7PH(:D!P*2"L >&E@*@&5$MW#VNOA$N((M.QX'LDC+5F,X-*_0JM]:+, M),I""7V7:IR:)K!4Z#5:Z 3,RAP07Z'W.CUG1(AOE*W1)Y*7U56U >1[?HP( MR\P@1.^Y HE>)J (S5]IDH^+!+U\\0J]0)2A/S>\E-I6CEVE_31/<]/:IS<' MG_P?^'1/Q T*\"_58SK@LWYX FD##SK@23_\CY)IN%?!_0[X_&(X'K7AKHY- M$R"_"9!?\05] ;IC4HE2OY\*?7ZG#="=@D+^W27M@2WL9C-EYU9N20H31]<5 M"6('SO3GG_# ^[5+:)MDB4VRN26R5DB")B1!'_O4O"#IXPM""EXRU16) \F@ M(C'U>C?U_8%O4G)WK'&7633R1VVSI->E:]6S1-92+VS4"WO5FW&V Z'H4E>; M!3#*15U)$EUH=.&HBLSG>RB6(#HSO)?^V@RW29;8))M;(FO%*&IB%%DM.I'- MD-@D2VR2S2V1M4(R:$(RZ'UM'@1E*=V2O$O_ S0ZKB&!I_].2LUE9LG@O")U MF,U[_7VF&G&C1MRKQCN0\A:53%=?74K^A4Q_'.J4I5*6A*6 4BY5YY='?"9! M$,?QB4[G1J$7XQ.5>AV\-K,LD;6T'#9:#FVTL^%Y\G2ULRZSCG;6Z]*UZEDB M:ZDW:M0;_=]V%O:VLU[Z:VNG3;+$)MG<$EDK1MA[VN5X5AM:36'S?=@0#_#IIT&G61A%IPI: MW:[98CLHZ!Z=%IG#P'LBUI1)E,-*TWLWL4X.<3A?.TP4WU8'2$NN%"^JX09( M!L(8Z/LKKAM>/3%G4LTIY_0[4$L#!!0 ( -*#HEA.OT!:W0( % ' 9 M >&PO=V]R:W-H965TPS7T?WW<^GT=; MI1],#H#LL132C+T<<7WJ^R;-H>3F1*U!TI>ETB5'FNJ5;]8:>.9 I?##((C] MDA?22T9N[4HG(U6A*"1<:6:JLN3ZUSD(M1U[/>]IX;I8Y6@7_&2TYBN8 ]ZN MKS3-_)8E*TJ0IE"2:5B.O;/>Z22V\2[@>P%;LS-FULE"J0<[F65C+[""0$"* MEH'3:P,3$,(2D8R?#:?7_M("=\=/[)^==_*RX 8F2OPH,LS'WD>/9;#DE$PF<("V0J58,L&L0'"%CJ%@8A$/&968'$?NF$ P[G@+R0KPCFHF2 M&]!8+(AI#K)0NHF95L *6:,:^)#=74*Y 'U/P-OYE!T?O6-'-NHF5Y6A*#/R MD2Q:H7[:V#FO[82OV.FS2R4Q-^Q"9I ]Q_N4FC8_X5-^SL.#A)=]0"#.@->,G;-[TX^-1E]3^1/3,>M<:C0^P)519J.O,5%U0B38%"7:!= MQFNVV+'93K9)>L%@./(WNX:Z@N)>&_1,Z* 5.C@H]*Q4= !^<]>DZ#1E=L<* M8RHN4V"I,MA9UC7I8$=*]$)N1TP<=:N-6[7Q0;4W"KGHTA._3,V@%^T)Z@H* M!WN*_)WF5()>N9YM*!.5Q/H^CE=%W5W_TM3WS5TRE:%-$S MDBB#DR'E2-?]NYZ@6KL6N%!(#=4-<[KR0-L ^KY4U*6:B?U!>XDF?P!02P,$ M% @ TH.B6$<7Q6.- @ 4 < !D !X;"]W;W)K&ULQ55M;],P$/XKIS"A31I-FKZ-T49:6PTF432MVO@P\<%-KJTUQPZV MTXY_S]G)H@)=D8")+XE]]CWW/+[S>;A5^L&L$2T\YD*:4;"VMC@/0Y.N,6>F MI0J4M+)4.F>6IGH5FD(CR[Q3+L(XBOIASK@,DJ&W7>MDJ$HKN,1K#:;,UM<:YJ%#4K&BY :UY0N!,$?)E89/RJ*!*4DDQA1N /HO^RC?1#>W9%S M4[ 41P%= H-Z@T'R^E6['[T[0+[3D.]X],YOLW$*8R:83$F$OYOOM2H++E>G M<,DEV3FE96Z9]>F""2M<<@S'$;7VIJ">E. MGJ1+T#ZZ%>"9!W3M99-THKC5'H:;/3QZ#8_>WU9(]V"%'(3_PT/L-^3[_[=" M^B\@;M"(&_SK"AG\4B'M7M1Z^U.%A#L-TKTUU'Q6G Y#X)+\HM: 4JJK_EU- MK"I\SUPH2QW8#]?TY*%V&VA]J8A0/7%MN'E$D^]02P,$% @ TH.B6,$- M2RC#!P _#T !D !X;"]W;W)K&ULQ9OO;Z,V M&,?_%2L[33WI+N%'?G9MI#8PK=(Z5>UU]^*T%RXX"2K@S'::=MH?/QLHX$#< MX_94>=,28G]LGB]^L+\Q9SO*'OF:$(&>DSCEY[VU$)O3P8 ':Y)@WJ<;DLIO MEI0E6,B/;#7@&T9PF%5*XH%C6>-!@J.T-S_+SMVP^1G=BCA*R0U#?)LDF+U< MDICNSGMV[_7$;;1:"W5B,#_;X!6Y(^)^<\/DIT%)":.$I#RB*6)D>=Z[L$]] M=ZPJ9"7^C,B.UXZ1NI0'2A_5AZOPO&>I'I&8!$(AL/SW1!8DCA5)]N/O MHK MVU05Z\>O]%^SBY<7\X Y6=#X:Q2*]7EOVD,A6>)M+&[I[C=27-!(\0(:\^PO MVA5EK1X*MES0I*@L>Y!$:?X?/Q>!J%48.0'[&Z XQ55K2U$$6_:RVC%>4JAOE3C#Y;23K MB?F=H,'C9Q7J$"UH(N\_CC,%/Z.+,(S4(8[159K?DNJ+$X\(',4?T0$H2M%]&@G^29Z4Q]=1',NB_&P@9!=50X.@Z,YEWAWG0'=<=$U3L>;(3T,2 MMM3WS/5MQP 8R-B4 7)> W3I&(G7F/61:W]"CN4,T?V=ATX^?)0!X0+'L1PQ MHAZ'_%]+MQ??WXA[F.*9*1X):I2BJRT8WXRY(YL^;F+X0@K+[#MUL6;"6]QZZB7&*OEV3Y(&PO]IN&R-;9=-3OL$! M.>_)=,D)>R*]^<\_V6/KES8Q(&$>),P'@FD"#4N!AAG=/:2[4AI=-E/!!6,X M79'L9K]\0?5R-_@E.WVQPRQ$WWZ72'0E2,);11Q"B@@)\R!A/A!,$W%4BC@R MCK(;P@(IB'S&([I$F]?QM6%10)!,XHC@8)T/:E4@H$DB%>;9:'PM':IOY R" M,'6PQ!&33QSV*&2IC\HB"D:!DQ+E"(7U19O-G$48 ?8@5?$A:E*U4Z MHFVI_#*_$CM_-*D9S=/O/[: ^ M6,FS.B;H7_2A+>8Y=:J%?+(7<6/+72/>UN!8;] ':E +Y*0,Y 3HL21#^F5- MT)UO-ME\F,TCI%'PFTV[>7&1YBQ'UVS'R3,@X3Y0#!-S&DIYO3(C[ I MI(B0, \2Y@/!-!%GI8@SXXB\2.A6ZK&+Q'I-XE ]9![(&L=+->9(,5)Y]C## M:+D56REE^: [D/9FC2SD])V]M&?L55 MD)WH)= MF0NVV5W(G-\W/5DSI/,H +4=0&D^%$V7H[(H[,FQ$QJH.0%*\T!I/A1-E[(R M*&SCTGE^E0H6I3P*"B]5YC6ZR;TC\DQ8$"GM#BQB"W1]46D/W?YP/V&!V@J@ M-!^*ID>_+^J3MJ*!,)N]1<74KE4>NSDUF\BQ.YSNY3ISZYTC#^HJ M0-'TR%>N@F-V%5ISW2WA\OD3"*E!GN^R;1OHY/;NGG\T)C]S:YU'#*C? $KS MH6BZ;I7?X+C'3GZ@1@0HS0.E^5 T7CD'5.-/3?O*K42MN@T;\[_)K/$SAKE/G?4 =1.@:+H>E9O@F-V$ M/[8JO:EX/\D\J'[%)7]O<8QPFJI_4;6I2XE1V^/5JD;3%]B?B9N[TUD*4(YWV#F]O?WE)@[UUD84*\!BJ8+4WD-CGD_1"-GY?MWU* IHJ\D:PW]&QLM MI(*8<31%2;Y#TW;4MJ'VW9*@!@(HS8>BZ?I4!H)C-A#:E["FWRA:M0+=QP!* M\T!I/A1-EZMR')S9L6=SH*X$*,T#I?E0-'W[^.?*PKVN\A[_@5OZ":_876M+B6[M5_N=;.*#['D!I'BC-AZ+IRE9.A3LZ M=GJ$=!,6H#0/E.9#T70I*Z?#?=/I^)'T.&ZD1U?M.FEL3S&WWCGRH%8&%"V/ M_*#VEFM"V"I[O9BC0.T6S]_G+,^6KS!?9"_N[IV_M$\7^8O(%29_+_H:LU64 M4BM_Y M?U!+ P04 " #2@Z)8/L5__?P" "P!P &0 'AL+W=O!O^_8&Y84-I'H2]:7.<=GCB?C_D:J)YTA&G@NTG=K8Y7T96ER+G"L0)=% MP=3+"'.Y&7BA][HPXC MGHUW 0\<-WIG##:3F91/=G(]'WB!%80YIL8R,/JL\0+SW!*1C#];3J\^T@)W MQZ_LWUWNE,N,:;R0^2\^-]G ZWDPQP4K:.;M.85K=$\@%3% ;Q5-#00X ]X(; M#<,-4W-:.[I$PWA^3* H"+LPSIF QQLL9JA^T^(>^-%D>J^/Z\"^;R@A*\M/ MM^)'E?AHC_@8;J0PF88K03+^Q?MD1.U&].K&*#I(>,/4&<3A":41M4!G3*$^ M0!O7)L>.-MYGLB5J,GFH%!-+I"(W,'N!W;@Q>W'+SN,3N/I3%P$WP[X%&K]JAUB#UYDVNKX@3N2J,-$W,NEC#" M)1?"C1B55HI-XBOZMJ.WK6B=A$&O$[?#OK]NT-6N=;4_I>L'W9AY7VR5@O8' M!3$IZ.X1T*D%=#XEX,'=;]/YG0_GG\9!'(5!LX!N+:#[*0%400OD>S1T/VKH MM*)>LX)>K:#WW[5QM2V1_871:RJ,=MQKO1/E[W31 M72O14:4ED*4S74>K5^ MCH95%WX+K]XRZB-4L1IR7! T..O2Z:IZ'ZJ)D2O7DV?24(=WPXR>5%0V@/87 M4IK7B3V@?J23OU!+ P04 " #2@Z)8>E:P)N<$ #G%@ &0 'AL+W=O M3S"38$K:!%)B!)-OV M(5TFF70?,OL@; &:V!:5!(1_7\EV; ..*"YI7Q);UOTX1[JZ!_4WC+^*!2$2 MO,51(@;60LKEC6V+8$%B+%IL21+U9<9XC*5ZY7-;+#G!86H41S9R'-^.,4VL M83\=F_!AGZUD1!,RX4"LXACS[9A$;#.PH/4^\$CG"ZD'[&%_B>?DB'.+4H-TQI^4;$3E&6@H4\9>])176V-^:[2$R.+ 5J06SZ)W9,3)Z M?,"\!=KP2G&!W+J$S.9W)"C,VX9TVL5"MU-_[8\66A->M] CSG$R)ZHT)9AN M077>!&_3X=$&\_ J7W^U5M]64DB\Z-NX;*\W/J\]#%U M(Y8X( -+G4."\#6QAC__!'WGESK2SN1LAT*WH- U>1_^L=([6=<#JV'B"HS) MG":))F6,U=8/2!T;60@O#:'/V/6PXSO(Z73[]KH*U)A*0Z!> =0[%>BO:I/( MVL(:>P>(7.C[SCX@8\B&@/P"D'\JH/LWP@,JZB'Y!Y"N70=U>\X>)F/4AI@Z M!:;.J9A4%8$.KY: ^2,6A#2-T"4O=?%=A]=N08JJM[6%U>#W7; M[A[*FGE[5;@#H%< Z#7<9W@:U2;<.TBD[;N.!^%>PL:X#9<%.J5(K0E7LK$H2S#A-"#@9305DBNM5]M9\JS/U%K.Y6V7XXH0@\:]4U"! M"O7VPQF2:@BWUJE5/ &GM5'@:B:@/NM?9//',V3=&6T@F:M=,):(U= M+ ^SL[B>U](2>1?N9^@G6 HH:%9038OY>(?+ ^\2X+;< P*\(Q6_BZQ44M L MI4[?MA^UOCS03H:PY>X+$G,^35>R5%FP\Y^UOE$84OV((W!'11 QL=(_@H\T MN3,ILIS-S]!WL!1XT*SP#G8/)_JN2>_Y0/W\UB2L%#N2\!A<; GFXG*G0FH) M,H?L@-0/Z($X^X$/NR#$V[H[AMNSN-JEII2.T*P=&U%SK,3,(?U3J/D,!8I* M!8J,ZFLXFL\YF6-) %5&PO=V]R:W-H965TDK;9J9G8?1OO@PDVP"G;6=I+.?/W8AA)(*-IJ&*DOP<"]AW./#^3: MTST7#S(#4.BQR)F<.9E2FPO7E4D&!9%G? -,WUEQ41"E3\7:E1L!)+5)1>[Z MGA>Y!:',B:?VVJV(IWRK\X?S,F'=.9X MAA'DD"@#0?1A!PO(?Q7@3KU,TUB<_R$_ILM7A=S3R0L>/X/354V<\X= ME,**;'-UQ_=_0%50:/ 2GDO[B_95K.>@9"L5+ZIDS:"@K#R2QTJ(1H+&Z4[P MJP3_.&'T3$)0)02VT)*9+>N**!)/!=\C8:(UFAE8;6RVKH8R,XU+)?1=JO-4 MO%0\>7AOA$C1@A?:'9)8?=^C93FSB*]0&34_C;I^-&- ;Z] $9J_TVF?EE?H M[9MWZ VB#'W,^%82ELJIJS1;\TPWJ9C-2V;^,\P"=,.9RB2Z9BFD[7Q75UF7 MZC^5.O=[ 6^(.$,!_@7YGC_JX+/X_^E!#YV@5CZP>,$S>-?%)N=? - 2Q(XF M^I@1 :A#Y,L\YTDY_&N%[B#A:T:_ZJA;$)2;8*DD^ORG?@#ZH*"0_W:I7;(9 M=;,Q7XL+N2$)S!S].9":$CCQSS_AR/NU2ZJ!P%K"C6KA1GWH\4>N2(YDP[A) M4RTH+=DE08D;65SS?=O%.)Q,)E-WUZSM-,KW<83KJ!;IL"8=]I(V) $[ M8%O0[XGD*[4W,_[Y!HI[$)V3U@OZTDD;"*Q5?U37'[TJMT=#"C<06$NX<2W< M^ >YO<0-FS[V//_([!U!X]#O]OIY3?F\E_*=%H&()$/ZPZ__4G>Z5]CH?W[5 MZ_1>R)=.V$!@K>HG=?635^7TR9#"#036$@Y[AU[$^T%>KX";/HZ"R#LR>T?4 M^7@4=+L=-UHHW$M[27*0UNRZ7WH 1=FZU^K]<"^=LJ'0VL7[A^+]5V7WBLY0 MX@V$UA;OT +BWD;I>PP?G%AY%/HGAC^-&H>39UH9?&C <'\']CLP$)JXL3Q) M]:J$2B6(68_U^[X7]<53-Q!:6X-#/X?#U^7[05O!H=#:XAV:0=S;,GV/[Z.3 M[CS >'SL^XXH;QP>^=YM+)L+$&N[FR UE2U3Y;*ROEKO6%S:=?K1];G9R;#+ M\0-,N0VB%XUKRB3*8:4AO;.QUEV4.POEB>(;NSB_YTHO]>TP Y*", 'Z_HIS M]71B'E#O[\3? %!+ P04 " #2@Z)8)YIY">$# "G# &0 'AL+W=O MS(SGFWM&>R%?50R@R5N:<#5V M8JVW=ZZKPAA2JEIB"QS?K(5,J<:CW+AJ*X%&5BA-W,#S>FY*&7V";6AN!.1ENZ@07HY78N\>266B*6 E=, M<")A/7;N_;N9'Q@!R_&+P5Y5GHF!LA+BU1R>HK'C&8L@@5 ;%13_=C"#)#&: MT(Y_"J5.>:<1K#X?M'^WX!',BBJ8B>1O%NEX[ P<$L&:9HE^$?L_H0#4-?I" MD2C[2_8%K^>0,%-:I(4P6I RGO_3M\(1%0'44R\0% +!J4#G@D"[$&A;H+EE M%M8#U70RDF)/I.%&;>;!^L9*(QK&31@76N);AG)Z\HR9\L1#D0*Y_DLH=4/F M(,DBIA+(+9F)=)MI:ATNUN0Y2T%2+:0BE$?D ;A DW+"4D%$&"=3JEB8OV9) MII'8=,5]*C*N%;E^ $U9Y;*=>UG21.[6E(8P= M;!,*Y Z^_^3WOCSI@7Z3L"&:GA-EITFY3F15YEI@\JT.;J^A9%:;%[29^ MK]OIC]Q=%<8YUZT_[ Y+KB/[NJ5]W4;[GK@&1*T)O&$35H!=,*&F0+3 0N,[ MD)JM$B#/0@-F-4/81>":'7[.)#)A$<("0J M"OS(Z62+Q6W+M,[LWKG[^SVO#^_NE[?W&*JATJ]HZZ']E'7R1LB.@ M@Q+HH#%(%: V3"O;D2\$Z?9V;R<=AI%B!N+D+GILG8L&9_DT"+J#TZRKX?+\ MH5\?O6$):M@(ZG&]QL%O"L)F'8Y^HB#,)-/,% O.R?"5B*V95'A\62SS$?6X MF,\; W/3.T'_O $SSG3A2KRO?>AZWTJ1"6F3Y12<<61GX<#KW=B?1W;Y7#X ME;W!_URW?;>64*TE6^'B8-H9=C?D2G&#L$&*11*!Q!C9M*P%EE\\J#J\%9S" MRIF&U1[AM;S@ JS@'5;P_\(JFF(ML. CP((/ 7,K*Q_VY(W=A!6:A.M4OJB4 MU'+;OK<[Y@E]:K9PNTJ^J\E7>%Q#-HPKDL :57JM/N:0S+?B_*#%UBZ6*Z%Q M3;6/,7Y)@#0,^'XM<)(5!W-!^6TR^0]02P,$% @ TH.B6*C%32HB P MC0P !D !X;"]W;W)K&ULS5==;]HP%/TK5B9- MK=0V(>&S R2@G5:IW5#9QT.U!Y- DS4#_2J= KMT2)" 4F"6=(P&+@C!KGDX9G$FS$3P)KN7./C)0YY_=F<14- M',\P@@1"92"POJQ@ DEBD#2//P6H4YYI$G?O-^B?K7@M9HXE3'CRBT0J'CA= M!T6PP%FB;OGZ"Q2"6@8OY(FTGVA=Q'H."C.I."V2-0-*6'[%#X41.PD:ISK! M+Q+\QPG-9Q*"(B&P0G-F5M8%5GC8%WR-A(G6:.;&>F.SM1K"3!EG2NBG1.>I MX5?]3;EB(:> CJZYE,=H"@+-8BP G:*9_M9$60*(+]"(*7(:D20SON<1$ET^ MA$D60806@E,TX33-%+;UT1D7)E@_JSOCZ (4)LFQ/DSFD,6%,/0]YIG$+))] M5VFIAK ;%K+&N2S_&5D!NN%,Q9H@T^SV\UUM4>F3O_%I[-<"WF!QAH+&"?(] MOUG!9_+_Z4$-G: L6V#Q@F?P3#&VM8 P$T21E^IQB04C;"EW[+^[UL#H2@&5 MOZM_0R2(%3C#CQ\:;>]3E44' MLSK%D:UJQ#/Y1A M)VA$><94E5JZ'7=U>[!CR-Z'1;VZ ]8:U26*M6V$SQ\!Y]2PUG MB72WH,O9=(KN;H#.0506M1;PM44]$-B>]G:IO?TNNJ!]2,,.!+9G6*1OC=;E#=!=U26+=6V(2S%0A%YDGYTU37 ;5@KRWH@<#V=/=*W;UW MT0&]0QIV(+ ]PQK>=N#QWKH'"@9U35 1TNRU.X^ZP-T9["B(I9UW)0K-P?GL M4NZ6,_7(3I*/]L=FUK8#XQ8F']3U9+(D^IQ_K\ P@3HYPO.U69A#BC_@0S_ 5!+ P04 " #2@Z)8Y'U1DXX" M !T!@ &0 'AL+W=OL7^VWLG+@BFI\['QP M(,6,U:6^%YLOV/JQ A-1*ON$31OK.9#42HNJ!9."JN#-FVW;/.P!B* K7688V]W;GGFF$TQEJ5I1G1/ X MG\'IR1F<0,'A(1>U(HR*7$U:S8ENTNJ:-+J"5W2%<"NXSA5<\Q33EWB7/'9& M@YW127"4\);) 83^.PB\8-BC9_KO\/"(G+#+>VCYPK_F'6:%2DJA:HGP_6JA MM*32_M&7L89QV,]HKONE6K$$QP[=9X5RC4[\]HT_\C[UV?U/9"_,#SOSPV/L M._.:S&-367UV&XZ1Y3#-:!V/+D8?(W>];^//H(]!&'1!+^2==_+.C\I[KG"C M4%*%]\EK.'Q_[VAO$!SJZXGR!\'%@4!W[P)7*)>VKRE(1,UU4^+=:M&ULK53;;MLP#/T5PBN&%EACQTXOZ!(# MN6Q8'SH4[;H]#'M0;"86)DN>I%SV]Z,DQTN[M-O#7BQ1XCGDH44.-TI_-Q6B MA6TMI!E%E;7-51R;HL*:F9YJ4-+-0NF:63+U,C:-1E9Z4"WB-$G.XYIQ&>5# M?W:K\Z%:6<$EWFHPJ[IF^N<$A=J,HGZT.[CCR\JZ@S@?-FR)]V@?FEM-5MRQ ME+Q&:;B2H'$QBL;]J^G ^7N'SQPW9F\/3LE_.N"Y'4>(20H&%=0R,EC5. M40A'1&G\:#FC+J0#[N]W[.^]=M(R9P:G2GSAI:U&T64$)2[82M@[M?F K9XS MQU P3. K 5D7FC( MS,N:,6TVWG' VOY:%JA$^L2T:.(5Q67)7 M7B;@6H8WXHI]/$/+N#@ACX?[&1P?G< 1< DW7 BZ-\/84BZ.,2[:N),0-WTF M;@8W2MK*P#M98OD8'Y.&3DBZ$S))7R2\8;H'6?\-I$DZ.)#/]-_AV0OI9%U= M,\^7_;6N,..F$,JL-,+7\=Q834_WVZ&*!<;!84;7SE>F806.(NI7@WJ-4?[Z M5?\\>7M([G\B>R1^T(D?O,2>?Z3I4Y)JC18!MS1Q#,+Q'"4NN#TY)#WP77H^ M-WC6^6G2H]^XWI?TI]-9[Z+S"9G&>ZU0HU[Z"6&@4"MIPV/J3KLA-/:]]^1\ M0L,IS)+?-&&RT5-9;*4OOZ;44#%K5SH/N% M4G9GN #=R,Y_ 5!+ P04 " #2@Z)8YIV-E 4% "S' &0 'AL+W=O MDX^_>E+I&L2^A$L?,2Z\(Y,V=(SIR(XRT7/^0* M0*&G.&)R8JV46I_;MO17$%-YQM? ])N BY@J?2N6MEP+H(O4*(YLXCB>'=.0 M6=-Q^NQ&3,=\HZ*0P8U 2)V##1.NP') M#4C=H/>"@9L;N"G1++*4UB55=#H6?(M$,EJC)1=I;E)KS29DR33>*:'?AMI. M32]\?Q-O(JI@@;ZJ%0@TY[%>$*MDIAX!?>%2HM/T(6? E$0\0*\R.KD$1)3CY]1I]0R-#]BF\D90LYMI4FD(1A^WFPLRQ8\D*P+KKF3*TD^H,M M8%&UMS7Q@CUY9C\C1L!K*LZ0BW]#Q"&]EGCFKS=W#>&XQ62X*9[;<3*NF,]C M0"=)?C^C[U^T.;I2$,M_VW*9^>JU^TK*P[E<4Q\FEO8@03R"-?WU%^PYO[N^P.!53(P+#(P_,!R,#QD M6@X$5DG+J$C+Z/WE8-3<5@3W!FYMZ1H]=>2!G;+W.D8F7UL*1E8IT -HB09: M*/D1E3(,0C]=^*T]TVER[3MD5*-JCJ4KUQV=@8U<+V*^2>1#R4BOZD#P6"NY MY4V=MC*HK:U*R)N;&0)\0!('6K.URA^PG8'30E4"I2+"Q ML[^GL^7(>]?E,:0%+K4%-HN+_5TP!ZC6$D\SJ1,Q.NI*I)0@V*Q!;D&% O1_ M6 K=0K:;9L @"!6ZT=RDL6>:L=_:'0Z%5LU$J6NP]X%]$QM5U)M3>4?C)$U9TY@>L_>N M[$I=0\RZ9G_7)$UIA_8-\F!Y%">FF.(*U***V(65Z_JFZ3E6PXAKE-7O&WC7,?9V1S5*$OA0\Q? M= [3$TGS>TZ;;C?'TG5&2B5#S$KF&'V1-(5/L_ >0_:04O80L^S9UQ?WZQFS M@ZX$2CU#S'KF/7VQY:-.R[=2

^?X)P:Q3$_%I,ZNWB#964CQM#AYNTC/FVK/9_A\GIV?E3#9<=XU%;H M2A1!H"&=LX&>!)&=D&4WBJ_30Z8'KA2/T\L5T 6(9(!^'W"NGF\2!\4YY?1_ M4$L#!!0 ( -*#HE@M%<38)P( +0$ 9 >&PO=V]R:W-H965TQBJ6@$/B YU V#00\N%SG!C3+%,P%8AW;X0R*N\H8;FJ9(#4L[;LKF%3]6CK3@FW*7LC;*G MS.),OH?:EMB@6Q$NV%7J/5I7%7-+RI\=,=U(*J M_;QH5,I>F-!4T^XTDNO0B?__+0AK; MY7[9V&<%E'.PYP&PO=V]R:W-H965T2:Q-0VT/[[VDD("1AWMY?] K$SS^-G MAAG&,]H1^I4E !Q]S[."C8V$\_65:;)% GG$+LD:"O%F26@><;&D*Y.M*41Q M"">(K;)\XC^F$)&=F,#&_N-AW25<+EA MAJ-UM((Y\$_K>RI69L,2ISD4+"4%HK <&Q-\-<.!!)06GU/8L=8SDJX\$O)5 M+F[CL6%)19#!@DN*2'QM8099)IF$CF\UJ=&<*8'MYSW[N])YX:H<\R;<@&2L_T:ZVM0RTV#!.\AHL%.1I47U'W^M MM ""1PVP:X!]#'#/ )P:X)2.5LI*MZXC'H4C2G:(2FO!)A_*V)1HX4U:R)]Q MSJEXFPH<#^>P$C\*1[=%E1(RM!=H+K(EWF2 R!+M+1Y@32A/BU7']LTU\"C- MW@K0I_DU>O/Z+7J-T@)]3,B&147,1B87,N5AYJ*6-*TDV6B.%#QAZ*:( M(>[B3>%>XZ.]]W%J:PGO(GJ)'/PGLBW;5>B9/1WN:.0X3QZ SPXDJ>P;Y@>NHDW'8Z!K^WU(9GA:!;P76D3R%E1T$MEH=M@Z]S=+JF]W,M76BAS\W M0_IBZSK;:N3X!6NE)N\K%#VQ=4-A'T)A_VZ]U,AVJOFN%QSEH\(J" +_3#X> M&C_6-M2GU$O-T#[YPC^1=VKD6L,SZ@[]&.L;\B3+T >> -77C);DV8G2$UO7 MY4.KQ]Y+UHSV(O'L4/3$U@W%X5Z!]1<+7RLH]KVFR-4CG053EA,K0@FX)7$T>SVTRQDW)V.]J? MRNFV'-$.--5H+.:)55HPE,%24%J7@0@9K:;-:L')NAS8'@D7XU_YF(@)':@T M$.^7A/#]0A[0S/SA3U!+ P04 " #2@Z)8G:5:+B\$ /# &0 'AL M+W=O2( >(%'8 MNZNT*Z'2WGY8W0UJX8IM"FP5_.M[2#:Q WVR7 M$F=^BY*S$BK%1$4DK"?>+#Q?A-;!6OS%8*\.QL1(N17BSDPN\XD7&$; (=,& M@N+//6ZV+B#3V2PYKNN+X2 M^S^A$908O$QP9?^2?6,;>"3;*2W*QAD9E*RJ?^E#$X@#AS!^PR%J'*)CA^0- MA[AQB(\=^F\X]!N'OHU,+<7&84$UG8ZEV!-IK!'-#&PPK3?*9Y4Y]Y66^)6A MGYZN8(.GJ,EE5=\AK!?EP]I&<$5:1ZT+L%*UR M-?8UBC!4_*PA/*\)1V\0CLD74>E"D4]5#OE+?Q_%MQ&(GB(PCTX"?J&R1^*P M0Z(@ZCOX+'[>/3Y!)VX/)+9X\3L'<@5;(36K-N3;[%9IB0_D;U>T:K2^&\UD MC7.UI1E,/$P+"N0]>--??PG3X#>7U/\)[(7P?BN\?PI]>G1W7%IK@-0"F(1V M/^TGPW X]N\/13BLXB!)6JL7[)*677*2W4J+[*YK,DQ.\,YCVE7UVX ',P87 MW1HQ.2#2#9/1:'3$UV$616$:N@FG+>'T).'+2@,>DCY%,'41'*1'_)Q64>JF M-VCI#4[26P!>H:S)+Y@)""W-=?_7+KBX#EZS&*7A<2Q=5H,D<',=MER'I\]^ M:YAR0NT--:]3=3"+-?%E=0XT&H0N0#K(7YS&_Q8Z7_;PE99^.HJ.!+\VZD9Q M_XW+/FH%C]ZY.U;2;9WD&X':)'D7S]&K]Q;%<7A\BUY;#:)![.89FM[@Y5/W7,=\1H+>Z- HVTD)5?9(.-9&1+']S/<=4\S=#*F-)* M]7Z*:MQY)DAQ]T$O:'\;G"VM9X@983\P,AXKE M()OGIY0P3Q'WW3-=6*2O0O*<+*782%J6I@P=*.H@B>AE"([BU&D"%?:&SD!M ML"/]+W%RU1?_H.LI06YL]ZA0VZ[2==EI5]L.]<+V94?K<].Y.M9G87 ^Q[OH M^A+BE[HW?=ZZ;I7QZ#9&'(&ULM59M;]HP$/XKIVR:J#0(!$JA@TA M]X*T2JBLVX=I']SD"%Z=.+--Z?[]S@YDL&79*K$OB>W>VMC\DO?U]$:4Z9;,L>,OJRD2IFAJ4I\G2MDL7-*A1^TVWT_93SS MPI%;6ZAP)#=&\ P7"O0F39GZ/D4AMV.OX^T7;GBR-G;!#T=R-K3VSN CQZT^&(-EF_78&W@0XXIMA+F1VW>X MXW-N\2(IM'O"=F?;]B#::"/3G3-ED/*L>+/'G0X'#H13[1#L'()?'7I_<.CN M'+J.:)&9HW7%# M'2FY!66M"LP.GC?,F-CRSN[@TBKYR\C/A$A/:$P/SK#@1 M5MHFW& DLX@+7BS(%=RVEBUX.YDLR#*2*4+CO=3Z#*9(?KA?_, >48.1,(F_ M4NX8P^OI_,/5!!H+IBC,&@V/F#B#QA4:QFG0A-OE%32>G\%SX!E<1S^S?W;LUZ73+C>HZO.Y?-NH&VE,'C83*TQD0;ZH\ M]TTCF_9-)8^Y8^=THC-+9]@*969P8IKJ$K8N]9%8$"8' 0\[SU,VJ15V'3"0Z,@M:P.K5^F5J_ M-K791M'-CKZ#H)VAR^]*\[<-U]Q*W50HF*T#W#*@W'.665-6?<7[OY%H'^17 MD.C_3J+3&E23N"A)7-22^"25B&&A9*)8FMK+]?D:TSM4E9>I%NNI9^5$8$>T M!R7MP7^L*8-3RG BL",9AJ4,P]K=?TO5Y*3%I#;<4Y49_K68^ >__Q15XKHB M36EN,E/\[\K5LO&:N'[CE_4I-61%__03INCFZ&^6\$R#P!5!MEL75$I4T2$5 M$R-SUV3<24,MBQNNJ:E$90WH^TI*LY_8 &6;&OX 4$L#!!0 ( -*#HE@@ ME6$W40, + 5 - >&PO"B6Z4VJ"F>6+84:N8,FY)C;]WCD^N%GUS%RDRRF(_?AXN.? M9::N/SCF?O;I[*SS<'F]&[\H@4O7LXKV#A"]ZN@+52Y13#X\2'Z/-B;8]&!;NAY^KK4:[CE&CBSD#1.C]3O6G*V,&-&WF^VTN?7^>%6=C8=))C;E M%K@FH/5)2IU'PD?NA' VE0Q8"4D97YMP%P*SC&?24;K.=4(?(L63@7W3@T>@ MTDF9R&29VV0POZ?5\!V@[H%!QGECL.N:P'B8$Z6H%#>Z4PXN@R\@IVK?KW/M M<"[)VN_VW VAO.DDTTS&5#9I?+<.C8><)F!'LOD"[BK+/0"5RE+=B!F99X*4 M'FI&U="R,\KY'7P__$ZVM%=):^?*#1=-4QNJFD;&=$"_K6:TV[*]-^DZ.7O, MU+>EGHXH^_!@T%M)$[8J^ZND,8"I^[@ZR7.^_LK97*343/[@A.,AJ7G.(I/L M26>#4IGI )6N\TBE8K-VY*\D^3U=J;J<5@GNN7N"GO_M.L^IH)+PMFE=^\>\ MRF]V'/3?RW+YK;)KV.JQ>ND?N\G>*9@,3\'D2=3DX!1,1B=@LO]NWYJO,>D? MO\G@.'?;JXYKK3/AUHFPB3IP\AZYO^ DSS=)G>F2<<5$U5NP.*;BQ<%0RRLR MU7^.;NGK\3%-R)*K^P8PVH'\]CQ0 M4W9.$,"N8MZP)QA'H@A#H!;M-1J&R.J$\+'O#_:4!$$4V1' [ Z" $/@:<01 MS %XP) @*-^#.^\CKWY/>9O_T8Z? 5!+ P04 " #2@Z)8EXJ[', 3 M @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/ MV!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%" MKM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0 MT^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( -*#HEC7 M$+6MZ00 '4I / >&PO=V]R:V)O;VLN>&ULQ9I+;]LX$(#_"J%3>LC: MUL-M@[I :K=9 ]W&B(-<%[1$VT0HTB"IO'[]DE*].TKLP5XF/MEZ6/XT(N<; M4OSR:.S]RIA[]E0K[2;)UOO=Q6#@RJVHN?O#[(0.1];&UMR'3;L9N)T5O'); M(7RM!NEP.![47.KDZY?]M19V #>,%Z671H>=<<>=%(_NO^-QDSU()U=22?\\ M2=KO2B2LEEK6\D54DV28,+K&QY )LEX&"ZXEM;Y]HSV^CPP/HAP/-#*B_LC'MQ94VSDWH3 M+Q/N8@!NHXW#_K,+XH7]/V$TZ[4LQI<&Z\T_#7\ZJ[:Q]P00SMA0P'[+QJP>D@IV';*%F%?Z_8 M-ZZX+@5K@^L 8(H IB<#9&<+#B S!#)[1\AEA(@_<,RLV?5.6 "9(Y#YR2"G MIMX!R *!+$X(^7<*(,<(Y/ATD%L.>_9'!/+CZ2"YVP+(3PCD)UK(!7]F#XXM MA&U_'OOV3+I2&==8 1 _(XB?:1'GVLE*6'9K>154PBZMY7K3!1/F\"&6Q(>T MC-=VP[5\:0^TNID)5UJY:[?-&F*BKB&6S8THHP\OR](TP8A&\'6UM0AX6AO0WGAV*/T6S9M>L\;T\V(V#?+9K=3;1/D]FA1 M@:EF1.R:*V.J1ZE4VQBO_3;TGWF U9O(P2XA)B:;$;%M9F+E(0OFE!&Q5'YP M:=D=5Z'U_25XS']O4@QFDQ&Q3I;>E/?GW[@+-HGE@M#N38O#1#(B-LFO<-VY M+DTMV-E/X]R'*)50*/*>1T:82$;D)FGQ;OF3Z!77F#E28G.$7-S4C6J+A*Z? MQH=KQ38\WS"L@IB8.5+R84I=2]\5,#&EQ-0<_"%T*?NQ1$=86[)B-V"*K#733+,+MG[V^5@*-%I,&+-X/D[@YB89K*3:B:'F)AF,F+- MX)@%Q,0TDQ%KYK@-SUD8\4-,3#,9]0 &P5PV-<3$Q)-1BP?!O*PJB(F))R,6 M#QK-7M+,,?'DQ.+!,6%"RC$%Y<0*0C%+.%>;8PK*B16$%Y2]:&(6RHDMA&/" M])ZCKV-..4?62^\Y9J'\'>;(NMPCXS&N^A4(Q,0LE!-;Z#=FZ"VB:I2(KSEB M<3SEUCY+O8&8F(7R]QCL]#'#0Q=6.,^^/\&7<#EFH9S80D<#2H\ L5%!;",/L.;W +%10#X103&BA M K-006PA;&A^SJ80$[-006PA'',),=%E <06ZLT@O,Z?I8&8F(4*8@N]PGPM M38B)6:@@MA ^Y='K0IB%"NJQT($I#Q!4B(E9J*"VT$',?YLH7+."66A,;:&# MF&&$;G0I%93E&+/0F-I"&&9_!1!FH7%KH<%^F5\EUE*+ZE?X"Q?VEUR5"\OB M1[?F("_BJ\%UH]0T[+O6/PVO]JL&]RL>O_X#4$L#!!0 ( -*#HEAW2W&% M!@( /$D : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V4MJXT 4 MA>&M&"T@Y?M2DB;.J">9-MF <,H/8EM"I::3W;=Q!O81/>A)J#,2):&K'P0? MHO3T*Q^Z:=^?RFX_E,7'\7 JJV8W3<./E,IZEX]=N>N'?#I?V?3CL9O.RW&; MAF[]WFUSTN6R3>/MC.;YZ7;FXO5SR/\SL=]L]NO\LU__/N;3](_!Z4\_OI== MSE.S>.W&;9Y63?HX7$^7=#G(W7ERLWAY6S7CRYLTJ7:00I#6#S((LOI!#D%> M/R@@*.H'M1#4U@^ZAZ#[^D$/$/10/^@1@A[K!\D295P2),VP)M!:D&LA\%H0 M;"$06Y!L(3!;$&TA4%N0;2%P6Q!N(9!;D&XAL%L0;R'06U%O)=!;46\ET%MG M']L$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z&^IM!'H; MZFT$>AOJ;01ZVVRSA$!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O M1[V=0&]'O9U ;T>]G4!O1[V=0&^?;783Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H M[:BW$^@=J'<0Z!VH=Q#H':AW$.@=J'<0Z!VH=Q#H';.?E01Z!^H=!'H'ZAT$ M>@?J'01Z!^H=!'JWJ'=+H'>+>K<$>K>H=_N=>I?I\Y#+M>=KC<__3JJG\[WY M^OC+\NOD[+U<<$ZW%>7Y+U!+ P04 " #2@Z)8_R>G=>,! !L) $P M %M#;VYT96YT7U1Y<&5S72YX;6S-VEU/PC 4!N"_0G9K6.G7_(APH]ZJ%_Z! MNAUD85N;MB#\>[L!)AHE&DQ\;UB@[7G/>I+GBNNGK:,PVK1-%Z;9(D9WQ5@H M%]2:D%M'75J96]^:F+[Z%^9,N30OQ,1D4K#2=I&Z.(Y]C6QV?4MSLVKBZ&Z3 M?@ZU[::9IR9DHYO=QCYKFAGGFKHT,:VS=5=]2AGO$_)T^#]B?>UB3]W5%HT?CX[UITRZV:5B(VX9"?KS$%SW:^;PNJ;+EJDU'\N \ MF2HLB&+;Y+NB9\>38[IAVGWRD_.',L<"T\Y';UU($_/T^[C#2/K38Y<*D8_U M\5=\3TRE3WX_ZJ==4?7#['2]K]8OAWD$-CQ.O^./,WZO_\L^!$@?$J0/!=*' M!NFC .GC'*2/"Y ^+D'ZX!.41E!$Y2BD&UL4$L! A0#% @ TH.B6,&C@# M "G#0 & @($"%@ >&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6$US]K'"!@ L2 !@ ("! M/@, -<) 8 " @6@@ !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ MTH.B6,^A%BYP" ^D0 !@ ("!KB8 'AL+W=O&PO=V]R M:W-H965T&UL4$L! A0#% @ TH.B6";:+PY$ @ B@8 M !D ("!5SD 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6)WAD/5.!0 DPT !D M ("!T4D 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ TH.B6 /[*?AL" D!D !D ("![%H 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6 @# MF]:'! -@P !D ("!FG$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6+>M@\:F P / @ !D M ("!P7T 'AL+W=O@0 >&PO M=V]R:W-H965T' !X;"]W;W)K&UL4$L! A0#% @ TH.B6&VY5K\B P J@8 !D ("! MPY$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ TH.B6+]$H$TC P K0< !D ("!G9\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6# S3=R< M @ M 4 !D ("!8*L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6+752;]M! 51@ !D M ("!V;4 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ TH.B6&>:6M'J @ S D !D ("! <( M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MTH.B6%!@VSOG P DPP !D ("!K

&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6&HLU ^J @ M'@8 !D ("!O-8 'AL+W=O&T(& #/*@ &0 @(&= MV0 >&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6&B=&&13"0 P4H !D M ("!Q.( 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ TH.B6$<7Q6.- @ 4 < !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B M6'I6L";G! YQ8 !D ("!8@$! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6*C%32HB P C0P M !D ("!G@X! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH.B6.:=C90%!0 LQP !D M ("!6Q&PO=V]R:W-H965T M 0!X;"]W;W)K&UL4$L! A0# M% @ TH.B6)VE6BXO! #PP !D ("!RR(! 'AL+W=O M&PO=V]R:W-H965T7!E&UL 64$L%!@ !& $8 (1, )(X 0 $! end XML 70 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 71 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 73 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 162 279 1 true 54 0 false 6 false false R1.htm 100000 - Document - Document and Entity Information Sheet http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 100010 - Statement - Consolidated Balance Sheets Sheet http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 100030 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 100040 - Statement - Consolidated Statements of Operations (Unaudited) Sheet http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited Consolidated Statements of Operations (Unaudited) Statements 4 false false R5.htm 100050 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited Consolidated Statements of Comprehensive Income (Unaudited) Statements 5 false false R6.htm 100060 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) (Parenthetical) Sheet http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnauditedParenthetical Consolidated Statements of Comprehensive Income (Unaudited) (Parenthetical) Statements 6 false false R7.htm 100070 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Unaudited) Sheet http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited Consolidated Statements of Changes in Stockholders' Equity (Unaudited) Statements 7 false false R8.htm 100080 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited Consolidated Statements of Cash Flows (Unaudited) Statements 8 false false R9.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 9 false false R10.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 10 false false R11.htm 995455 - Disclosure - Organization and Description of Business Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness Organization and Description of Business Notes 11 false false R12.htm 995465 - Disclosure - Recent Accounting Guidance Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRecentAccountingGuidance Recent Accounting Guidance Notes 12 false false R13.htm 995475 - Disclosure - Revenue from Contracts with Customers Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomers Revenue from Contracts with Customers Notes 13 false false R14.htm 995485 - Disclosure - Supplementary Information Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformation Supplementary Information Notes 14 false false R15.htm 995505 - Disclosure - Goodwill and Other Intangible Assets Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssets Goodwill and Other Intangible Assets Notes 15 false false R16.htm 995515 - Disclosure - Debt Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebt Debt Notes 16 false false R17.htm 995525 - Disclosure - Fair Value Measurements Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements Fair Value Measurements Notes 17 false false R18.htm 995535 - Disclosure - Stock-Based Compensation Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensation Stock-Based Compensation Notes 18 false false R19.htm 995545 - Disclosure - Net Income (Loss) Per Share Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare Net Income (Loss) Per Share Notes 19 false false R20.htm 995555 - Disclosure - Income Taxes Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxes Income Taxes Notes 20 false false R21.htm 995565 - Disclosure - Accumulated Other Comprehensive Loss Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLoss Accumulated Other Comprehensive Loss Notes 21 false false R22.htm 995575 - Disclosure - Commitments and Contingencies Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 22 false false R23.htm 995585 - Disclosure - Segment Information Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformation Segment Information Notes 23 false false R24.htm 995595 - Disclosure - Organization and Description of Business (Policies) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies Organization and Description of Business (Policies) Policies http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRecentAccountingGuidance 24 false false R25.htm 995615 - Disclosure - Revenue from Contracts with Customers (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables Revenue from Contracts with Customers (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomers 25 false false R26.htm 995625 - Disclosure - Supplementary Information (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables Supplementary Information (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformation 26 false false R27.htm 995645 - Disclosure - Goodwill and Other Intangible Assets (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsTables Goodwill and Other Intangible Assets (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssets 27 false false R28.htm 995655 - Disclosure - Debt (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtTables Debt (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebt 28 false false R29.htm 995665 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensation 29 false false R30.htm 995675 - Disclosure - Net Income (Loss) Per Share (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables Net Income (Loss) Per Share (Tables) Tables http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare 30 false false R31.htm 995685 - Disclosure - Income Taxes (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxesTables Income Taxes (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxes 31 false false R32.htm 995695 - Disclosure - Accumulated Other Comprehensive Loss (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossTables Accumulated Other Comprehensive Loss (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLoss 32 false false R33.htm 995705 - Disclosure - Segment Information (Tables) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationTables Segment Information (Tables) Tables http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformation 33 false false R34.htm 995715 - Disclosure - Revenue from Contracts with Customers - Schedule of Disaggregation of Revenue (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail Revenue from Contracts with Customers - Schedule of Disaggregation of Revenue (Detail) Details 34 false false R35.htm 995725 - Disclosure - Revenue from Contracts with Customers - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail Revenue from Contracts with Customers - Additional Information (Detail) Details 35 false false R36.htm 995735 - Disclosure - Revenue from Contracts with Customers - Additional Information (Detail)1 Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail1 Revenue from Contracts with Customers - Additional Information (Detail)1 Details 36 false false R37.htm 995745 - Disclosure - Supplementary Information - Reconciliation of Cash, Cash Equivalents and Restricted Cash (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail Supplementary Information - Reconciliation of Cash, Cash Equivalents and Restricted Cash (Detail) Details 37 false false R38.htm 995755 - Disclosure - Supplementary Information - Summary of Property and Equipment (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail Supplementary Information - Summary of Property and Equipment (Detail) Details 38 false false R39.htm 995765 - Disclosure - Supplementary Information - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail Supplementary Information - Additional Information (Detail) Details 39 false false R40.htm 995775 - Disclosure - Supplementary Information - Summary of Other Accrued Expenses and Current Liabilities (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail Supplementary Information - Summary of Other Accrued Expenses and Current Liabilities (Detail) Details 40 false false R41.htm 995785 - Disclosure - Supplementary Information - Summary of Other Long-term Liabilities (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail Supplementary Information - Summary of Other Long-term Liabilities (Detail) Details 41 false false R42.htm 995795 - Disclosure - Supplementary Information - Schedule of Other Income, Net (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail Supplementary Information - Schedule of Other Income, Net (Detail) Details 42 false false R43.htm 995805 - Disclosure - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsChangesInCarryingAmountOfGoodwillAttributableToSoftwareReportableSegmentDetail Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment (Detail) Details 43 false false R44.htm 995815 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Other Intangible Assets (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail Goodwill and Other Intangible Assets - Schedule of Other Intangible Assets (Detail) Details 44 false false R45.htm 995825 - Disclosure - Goodwill and Other Intangible Assets - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetail Goodwill and Other Intangible Assets - Additional Information (Detail) Details 45 false false R46.htm 995835 - Disclosure - Debt - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail Debt - Additional Information (Detail) Details 46 false false R47.htm 995845 - Disclosure - Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail) Notes http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail) Details 47 false false R48.htm 995865 - Disclosure - Debt - Schedule of Interest Expense Related to 2027 and 2024 Notes (Detail) Notes http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail Debt - Schedule of Interest Expense Related to 2027 and 2024 Notes (Detail) Details 48 false false R49.htm 995885 - Disclosure - Fair Value Measurements - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail Fair Value Measurements - Additional Information (Detail) Details 49 false false R50.htm 995895 - Disclosure - Stock-based Compensation - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail Stock-based Compensation - Additional Information (Detail) Details 50 false false R51.htm 995905 - Disclosure - Stock-based Compensation - Summary of Restricted Stock Units Awarded (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail Stock-based Compensation - Summary of Restricted Stock Units Awarded (Detail) Details 51 false false R52.htm 995915 - Disclosure - Stock-based Compensation - Summary of Stock Option Activity under 2017 Plan (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail Stock-based Compensation - Summary of Stock Option Activity under 2017 Plan (Detail) Details 52 false false R53.htm 995925 - Disclosure - Stock-based Compensation - Summary of Stock-Based Compensation Expense (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail Stock-based Compensation - Summary of Stock-Based Compensation Expense (Detail) Details 53 false false R54.htm 995935 - Disclosure - Net Income (Loss) Per Share - Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail Net Income (Loss) Per Share - Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts (Detail) Details http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables 54 false false R55.htm 995945 - Disclosure - Net Income (Loss) Per Share - Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail Net Income (Loss) Per Share - Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share (Detail) Details http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables 55 false false R56.htm 995955 - Disclosure - Income Taxes - Schedule of Income Tax Expense and Effective Tax Rate (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxExpenseAndEffectiveTaxRateDetail Income Taxes - Schedule of Income Tax Expense and Effective Tax Rate (Detail) Details 56 false false R57.htm 995965 - Disclosure - Income Taxes - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail Income Taxes - Additional Information (Detail) Details 57 false false R58.htm 995975 - Disclosure - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Detail) Details 58 false false R59.htm 995995 - Disclosure - Segment Information - Additional Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetail Segment Information - Additional Information (Detail) Details 59 false false R60.htm 996005 - Disclosure - Segment Information - Schedule of Segment Reporting Information (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail Segment Information - Schedule of Segment Reporting Information (Detail) Details 60 false false R61.htm 996015 - Disclosure - Segment Information - Reconciliation of U.S. GAAP Loss Before Income Taxes to Adjusted EBITDA (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail Segment Information - Reconciliation of U.S. GAAP Loss Before Income Taxes to Adjusted EBITDA (Detail) Details 61 false false R62.htm 996025 - Disclosure - Segment Information - Reconciliation of U.S. GAAP Income (Loss) Before Income Taxes to Adjusted EBITDA (Parenthetical) (Detail) Sheet http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail Segment Information - Reconciliation of U.S. GAAP Income (Loss) Before Income Taxes to Adjusted EBITDA (Parenthetical) (Detail) Details 62 false false All Reports Book All Reports altr-20240331.htm altr-20240331.xsd http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 false false JSON 75 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "altr-20240331.htm": { "nsprefix": "altr", "nsuri": "http://www.altair.com/20240331", "dts": { "inline": { "local": [ "altr-20240331.htm" ] }, "schema": { "local": [ "altr-20240331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] } }, "keyStandard": 252, "keyCustom": 27, "axisStandard": 17, "axisCustom": 0, "memberStandard": 28, "memberCustom": 26, "hidden": { "total": 6, "http://xbrl.sec.gov/dei/2023": 4, "http://fasb.org/us-gaap/2023": 2 }, "contextCount": 162, "entityCount": 1, "segmentCount": 54, "elementCount": 603, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 604, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation", "longName": "100000 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "longName": "100010 - Statement - Consolidated Balance Sheets", "shortName": "Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:AccountsReceivableNetCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R3": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "longName": "100030 - Statement - Consolidated Balance Sheets (Parenthetical)", "shortName": "Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "U_UnitedStatesOfAmericaDollarsShare", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "U_UnitedStatesOfAmericaDollarsShare", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited", "longName": "100040 - Statement - Consolidated Statements of Operations (Unaudited)", "shortName": "Consolidated Statements of Operations (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R5": { "role": "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited", "longName": "100050 - Statement - Consolidated Statements of Comprehensive Income (Unaudited)", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NetIncomeLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R6": { "role": "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnauditedParenthetical", "longName": "100060 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) (Parenthetical)", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited", "longName": "100070 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Unaudited)", "shortName": "Consolidated Statements of Changes in Stockholders' Equity (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "C_76488972-6f21-4476-b4e2-82db95e0ebf3", "name": "us-gaap:StockholdersEquity", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_3d2c7d09-aa4e-4a51-8452-f265ee176a18", "name": "us-gaap:StockholdersEquity", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R8": { "role": "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited", "longName": "100080 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ProfitLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ProfitLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NetIncomeLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": null }, "R10": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness", "longName": "995455 - Disclosure - Organization and Description of Business", "shortName": "Organization and Description of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRecentAccountingGuidance", "longName": "995465 - Disclosure - Recent Accounting Guidance", "shortName": "Recent Accounting Guidance", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomers", "longName": "995475 - Disclosure - Revenue from Contracts with Customers", "shortName": "Revenue from Contracts with Customers", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformation", "longName": "995485 - Disclosure - Supplementary Information", "shortName": "Supplementary Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:SupplementaryInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:SupplementaryInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssets", "longName": "995505 - Disclosure - Goodwill and Other Intangible Assets", "shortName": "Goodwill and Other Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebt", "longName": "995515 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements", "longName": "995525 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensation", "longName": "995535 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare", "longName": "995545 - Disclosure - Net Income (Loss) Per Share", "shortName": "Net Income (Loss) Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxes", "longName": "995555 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLoss", "longName": "995565 - Disclosure - Accumulated Other Comprehensive Loss", "shortName": "Accumulated Other Comprehensive Loss", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies", "longName": "995575 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformation", "longName": "995585 - Disclosure - Segment Information", "shortName": "Segment Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies", "longName": "995595 - Disclosure - Organization and Description of Business (Policies)", "shortName": "Organization and Description of Business (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:NatureOfOperations", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:NatureOfOperations", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables", "longName": "995615 - Disclosure - Revenue from Contracts with Customers (Tables)", "shortName": "Revenue from Contracts with Customers (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables", "longName": "995625 - Disclosure - Supplementary Information (Tables)", "shortName": "Supplementary Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsTables", "longName": "995645 - Disclosure - Goodwill and Other Intangible Assets (Tables)", "shortName": "Goodwill and Other Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtTables", "longName": "995655 - Disclosure - Debt (Tables)", "shortName": "Debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ConvertibleDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ConvertibleDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables", "longName": "995665 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables", "longName": "995675 - Disclosure - Net Income (Loss) Per Share (Tables)", "shortName": "Net Income (Loss) Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxesTables", "longName": "995685 - Disclosure - Income Taxes (Tables)", "shortName": "Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:ScheduleOfIncomeTaxExpenseBenefitAndEffectiveTaxRateTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:ScheduleOfIncomeTaxExpenseBenefitAndEffectiveTaxRateTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossTables", "longName": "995695 - Disclosure - Accumulated Other Comprehensive Loss (Tables)", "shortName": "Accumulated Other Comprehensive Loss (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationTables", "longName": "995705 - Disclosure - Segment Information (Tables)", "shortName": "Segment Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail", "longName": "995715 - Disclosure - Revenue from Contracts with Customers - Schedule of Disaggregation of Revenue (Detail)", "shortName": "Revenue from Contracts with Customers - Schedule of Disaggregation of Revenue (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_b772ea9e-61ad-4dfd-aa8e-5ae1ea730194", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R35": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail", "longName": "995725 - Disclosure - Revenue from Contracts with Customers - Additional Information (Detail)", "shortName": "Revenue from Contracts with Customers - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:PercentageOfNetRevenuesThroughIndirectChannels", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:PercentageOfNetRevenuesThroughIndirectChannels", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail1", "longName": "995735 - Disclosure - Revenue from Contracts with Customers - Additional Information (Detail)1", "shortName": "Revenue from Contracts with Customers - Additional Information (Detail)1", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "C_a3ee3de7-3912-4a8a-b876-64b0a7e18432", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_a3ee3de7-3912-4a8a-b876-64b0a7e18432", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail", "longName": "995745 - Disclosure - Supplementary Information - Reconciliation of Cash, Cash Equivalents and Restricted Cash (Detail)", "shortName": "Supplementary Information - Reconciliation of Cash, Cash Equivalents and Restricted Cash (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:RestrictedCashAndCashEquivalentsNoncurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "ix:continuation", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R38": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail", "longName": "995755 - Disclosure - Supplementary Information - Summary of Property and Equipment (Detail)", "shortName": "Supplementary Information - Summary of Property and Equipment (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail", "longName": "995765 - Disclosure - Supplementary Information - Additional Information (Detail)", "shortName": "Supplementary Information - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:Depreciation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:Depreciation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail", "longName": "995775 - Disclosure - Supplementary Information - Summary of Other Accrued Expenses and Current Liabilities (Detail)", "shortName": "Supplementary Information - Summary of Other Accrued Expenses and Current Liabilities (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:AccruedIncomeTaxesCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:AccruedIncomeTaxesCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail", "longName": "995785 - Disclosure - Supplementary Information - Summary of Other Long-term Liabilities (Detail)", "shortName": "Supplementary Information - Summary of Other Long-term Liabilities (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:PensionAndOtherPostretirementAndPostemploymentBenefitPlansLiabilitiesNoncurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:PensionAndOtherPostretirementAndPostemploymentBenefitPlansLiabilitiesNoncurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail", "longName": "995795 - Disclosure - Supplementary Information - Schedule of Other Income, Net (Detail)", "shortName": "Supplementary Information - Schedule of Other Income, Net (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:InterestIncomeAndOther", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:InterestIncomeAndOther", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock", "div", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsChangesInCarryingAmountOfGoodwillAttributableToSoftwareReportableSegmentDetail", "longName": "995805 - Disclosure - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment (Detail)", "shortName": "Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "C_2821f09d-9ab5-46c9-8f85-c0a8f29eb420", "name": "us-gaap:Goodwill", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R44": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail", "longName": "995815 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Other Intangible Assets (Detail)", "shortName": "Goodwill and Other Intangible Assets - Schedule of Other Intangible Assets (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "altr:ScheduleOfOtherIntangibleAssetsTableTextBlock", "div", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "altr:ScheduleOfOtherIntangibleAssetsTableTextBlock", "div", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetail", "longName": "995825 - Disclosure - Goodwill and Other Intangible Assets - Additional Information (Detail)", "shortName": "Goodwill and Other Intangible Assets - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": null }, "R46": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "longName": "995835 - Disclosure - Debt - Additional Information (Detail)", "shortName": "Debt - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "C_3a5cf4c9-63eb-4355-83bd-23859d2a5077", "name": "us-gaap:DebtInstrumentFaceAmount", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_3a5cf4c9-63eb-4355-83bd-23859d2a5077", "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R47": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "longName": "995845 - Disclosure - Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail)", "shortName": "Debt - Schedule of Net Carrying Value of the 2027 and 2024 Notes (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "C_ac655c28-a59e-4765-a3fe-5a297ee687b1", "name": "us-gaap:ConvertibleLongTermNotesPayable", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_ab4712b2-f37a-47dd-b499-ea8a32022817", "name": "us-gaap:DeferredFinanceCostsNet", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ConvertibleDebtTableTextBlock", "div", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R48": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "longName": "995865 - Disclosure - Debt - Schedule of Interest Expense Related to 2027 and 2024 Notes (Detail)", "shortName": "Debt - Schedule of Interest Expense Related to 2027 and 2024 Notes (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "C_1b1abff8-118a-40a9-a59f-19cece94f9a6", "name": "us-gaap:InterestExpenseDebtExcludingAmortization", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock", "div", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1b1abff8-118a-40a9-a59f-19cece94f9a6", "name": "us-gaap:InterestExpenseDebtExcludingAmortization", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock", "div", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail", "longName": "995885 - Disclosure - Fair Value Measurements - Additional Information (Detail)", "shortName": "Fair Value Measurements - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "C_ab4712b2-f37a-47dd-b499-ea8a32022817", "name": "us-gaap:ConvertibleDebtFairValueDisclosures", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_ab4712b2-f37a-47dd-b499-ea8a32022817", "name": "us-gaap:ConvertibleDebtFairValueDisclosures", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "longName": "995895 - Disclosure - Stock-based Compensation - Additional Information (Detail)", "shortName": "Stock-based Compensation - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "C_d1f92411-8b67-46d9-8a17-8844f210997d", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_d1f92411-8b67-46d9-8a17-8844f210997d", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "longName": "995905 - Disclosure - Stock-based Compensation - Summary of Restricted Stock Units Awarded (Detail)", "shortName": "Stock-based Compensation - Summary of Restricted Stock Units Awarded (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "C_4043808f-c61d-41c4-9d2c-7b6386a004de", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_4043808f-c61d-41c4-9d2c-7b6386a004de", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail", "longName": "995915 - Disclosure - Stock-based Compensation - Summary of Stock Option Activity under 2017 Plan (Detail)", "shortName": "Stock-based Compensation - Summary of Stock Option Activity under 2017 Plan (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "C_57b45a12-2f00-4242-b0cc-dfc5950197e3", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_5df2987c-4462-4572-b42c-12fec93a321d", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R53": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail", "longName": "995925 - Disclosure - Stock-based Compensation - Summary of Stock-Based Compensation Expense (Detail)", "shortName": "Stock-based Compensation - Summary of Stock-Based Compensation Expense (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:ShareBasedCompensation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_b5745c91-bece-4496-afe4-d4c94d3b1993", "name": "us-gaap:ShareBasedCompensation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R54": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail", "longName": "995935 - Disclosure - Net Income (Loss) Per Share - Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts (Detail)", "shortName": "Net Income (Loss) Per Share - Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NetIncomeLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:InterestOnConvertibleDebtNetOfTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R55": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail", "longName": "995945 - Disclosure - Net Income (Loss) Per Share - Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share (Detail)", "shortName": "Net Income (Loss) Per Share - Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxExpenseAndEffectiveTaxRateDetail", "longName": "995955 - Disclosure - Income Taxes - Schedule of Income Tax Expense and Effective Tax Rate (Detail)", "shortName": "Income Taxes - Schedule of Income Tax Expense and Effective Tax Rate (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "td", "tr", "table", "altr:ScheduleOfIncomeTaxExpenseBenefitAndEffectiveTaxRateTableTextBlock", "div", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R57": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail", "longName": "995965 - Disclosure - Income Taxes - Additional Information (Detail)", "shortName": "Income Taxes - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:EffectiveIncomeTaxRateReconciliationReconcilingItemsDiscreteBenefitsAmount", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:EffectiveIncomeTaxRateReconciliationReconcilingItemsDiscreteBenefitsAmount", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail", "longName": "995975 - Disclosure - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Detail)", "shortName": "Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "C_2821f09d-9ab5-46c9-8f85-c0a8f29eb420", "name": "us-gaap:StockholdersEquity", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_cca26554-d19e-4bb7-9f0b-2d7006f3f8f7", "name": "us-gaap:StockholdersEquity", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R59": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetail", "longName": "995995 - Disclosure - Segment Information - Additional Information (Detail)", "shortName": "Segment Information - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "U_Segment", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "U_Segment", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail", "longName": "996005 - Disclosure - Segment Information - Schedule of Segment Reporting Information (Detail)", "shortName": "Segment Information - Schedule of Segment Reporting Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_f658e57d-6275-46af-a052-0a3f310f970a", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R61": { "role": "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail", "longName": "996015 - Disclosure - Segment Information - Reconciliation of U.S. GAAP Loss Before Income Taxes to Adjusted EBITDA (Detail)", "shortName": "Segment Information - Reconciliation of U.S. GAAP Loss Before Income Taxes to Adjusted EBITDA (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:AdjustedEarningsBeforeInterestTaxesDepreciationAndAmortization", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "altr:SpecialAdjustmentsInterestIncomeAndOther", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock", "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } }, "R62": { "role": "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail", "longName": "996025 - Disclosure - Segment Information - Reconciliation of U.S. GAAP Income (Loss) Before Income Taxes to Adjusted EBITDA (Parenthetical) (Detail)", "shortName": "Segment Information - Reconciliation of U.S. GAAP Income (Loss) Before Income Taxes to Adjusted EBITDA (Parenthetical) (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "parenthetical", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "C_279f5b60-379b-440a-b751-84a868d3218a", "name": "altr:LossOnMarkToMarketAdjustmentOfContingentConsideration", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "altr:SupplementaryInformationTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9347a6ac-a38a-46e9-856a-24fa36f444b0", "name": "us-gaap:InterestAndOtherIncome", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "link:footnote", "div", "div", "us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock", "div", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "altr-20240331.htm", "unique": true } } }, "tag": { "us-gaap_AccountingChangesAndErrorCorrectionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingChangesAndErrorCorrectionsAbstract", "lang": { "en-us": { "role": { "label": "Accounting Changes and Error Corrections [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountingStandardsUpdate202006Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingStandardsUpdate202006Member", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update 2020-06 [Member]", "terseLabel": "ASU 2020-06 [Member]", "documentation": "Accounting Standards Update 2020-06 Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity's Own Equity." } } }, "auth_ref": [ "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r525", "r526", "r527", "r528" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "totalLabel": "Accounts Payable, Current, Total", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r22", "r765" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net", "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r313", "r314" ] }, "altr_AccountsReceivableNetCurrentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "AccountsReceivableNetCurrentMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Accounts receivable net current.", "label": "Accounts Receivable Net Current [Member]", "terseLabel": "Accounts Receivable [Member]" } } }, "auth_ref": [] }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrual for Taxes Other than Income Taxes, Current", "terseLabel": "Non-income tax liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r26", "r87", "r740" ] }, "altr_AccruedDefinedContributionPlanLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "AccruedDefinedContributionPlanLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "Accrued defined contribution plan liabilities current.", "label": "Accrued Defined Contribution Plan Liabilities Current", "terseLabel": "Defined contribution plan liabilities" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Current", "terseLabel": "Income taxes payable", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r116", "r166" ] }, "altr_AccruedObligationsForAcquisitionOfBusinesses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "AccruedObligationsForAcquisitionOfBusinesses", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Obligations related to acquisition of businesses and technology", "documentation": "Accrued obligations for acquisition of businesses.", "label": "Accrued Obligations For Acquisition Of Businesses" } } }, "auth_ref": [] }, "us-gaap_AccruedProfessionalFeesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedProfessionalFeesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrued Professional Fees, Current", "terseLabel": "Accrued professional fees", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r26" ] }, "us-gaap_AccruedRoyaltiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedRoyaltiesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrued Royalties, Current", "terseLabel": "Accrued royalties", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r26", "r740" ] }, "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]", "terseLabel": "Retirement Related Benefit Plans [Member]", "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent." } } }, "auth_ref": [ "r6", "r13", "r36", "r865", "r866", "r867" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "terseLabel": "Less: accumulated depreciation and amortization", "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total", "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance", "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r73", "r205", "r607" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r220", "r221", "r551", "r553", "r554", "r555", "r556", "r558" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss", "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r35", "r36", "r127", "r213", "r604", "r641", "r645" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract", "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "terseLabel": "Accumulated Other Comprehensive Income Loss [Table]", "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r220", "r221", "r551", "r553", "r554", "r555", "r556", "r558" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Loss [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r3", "r13", "r36", "r510", "r513", "r577", "r636", "r637", "r865", "r866", "r867", "r875", "r876", "r877" ] }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedTranslationAdjustmentMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "terseLabel": "Foreign Currency Translation [Member]", "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent." } } }, "auth_ref": [ "r5", "r13", "r36", "r221", "r222", "r553", "r554", "r555", "r556", "r558", "r865" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Weighted-average useful life of acquired finite-lived intangible assets", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r145" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r816" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r121" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-In Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r462", "r463", "r464", "r655", "r875", "r876", "r877", "r934", "r953" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r822" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r822" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r822" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r822" ] }, "altr_AdjustedEarningsBeforeInterestTaxesDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "AdjustedEarningsBeforeInterestTaxesDepreciationAndAmortization", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Adjusted earnings before interest taxes depreciation and amortization.", "label": "Adjusted Earnings Before Interest Taxes Depreciation And Amortization", "terseLabel": "Adjusted EBITDA" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update [Axis]", "terseLabel": "Accounting Standards Update", "documentation": "Information by amendment to accounting standards." } } }, "auth_ref": [ "r193", "r194", "r195", "r196", "r197", "r245", "r246", "r247", "r249", "r258", "r315", "r316", "r319", "r320", "r321", "r322", "r325", "r326", "r327", "r328", "r329", "r330", "r350", "r462", "r463", "r464", "r476", "r477", "r478", "r479", "r492", "r493", "r494", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r525", "r526", "r527", "r528", "r529", "r534", "r535", "r538", "r539", "r540", "r541", "r560", "r561", "r565", "r566", "r567", "r568", "r573", "r574", "r575", "r576", "r577", "r585", "r586", "r587", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation", "totalLabel": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition, Total", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r85", "r86", "r427" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income (loss) to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r787", "r798", "r808", "r833" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r790", "r801", "r811", "r836" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r822" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r829" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r794", "r802", "r812", "r829", "r837", "r841", "r849" ] }, "us-gaap_AllOtherSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllOtherSegmentsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "label": "Other Segments [Member]", "terseLabel": "All Other [Member]", "documentation": "Operating segments classified as other. Excludes intersegment elimination and reconciling items." } } }, "auth_ref": [ "r281", "r297", "r298", "r299", "r300", "r301" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r847" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r457", "r466" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCosts", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail": { "parentTag": "us-gaap_InterestExpenseDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of debt issuance costs", "label": "Amortization of Debt Issuance Costs", "documentation": "Amount of amortization expense attributable to debt issuance costs." } } }, "auth_ref": [ "r131", "r395", "r563", "r871" ] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of debt issuance costs", "label": "Amortization of Debt Issuance Costs and Discounts", "verboseLabel": "Amortization of debt issuance costs and discount", "totalLabel": "Amortization of Debt Issuance Costs and Discounts, Total", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r395", "r563", "r749", "r750", "r871" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Amortization of intangible assets", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r11", "r66", "r71" ] }, "altr_AmountWithheldOnBehalfOfEmployeesForFuturePurchase": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "AmountWithheldOnBehalfOfEmployeesForFuturePurchase", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Amount withheld on behalf of employees for future purchase.", "label": "Amount Withheld On Behalf Of Employees For Future Purchase", "terseLabel": "Amount withheld on behalf of employees for a future purchase" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r273" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r52" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r52" ] }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ArrangementsAndNonarrangementTransactionsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative", "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r496" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "TOTAL ASSETS", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r164", "r209", "r236", "r284", "r299", "r305", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r498", "r502", "r536", "r598", "r689", "r765", "r778", "r901", "r902", "r939" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r201", "r214", "r236", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r498", "r502", "r536", "r765", "r901", "r902", "r939" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "CURRENT ASSETS:" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r844" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r845" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r840" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r840" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r840" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r840" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r840" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r840" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r843" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r842" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r841" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r841" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r95", "r96" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Building and Building Improvements [Member]", "terseLabel": "Building and Improvements [Member]", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitionsTables", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r490", "r759", "r760" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitionsTables", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r88", "r89", "r490", "r759", "r760" ] }, "us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Equity Interest Issued or Issuable, Value Assigned", "terseLabel": "Business acquisition, shares issued value", "documentation": "Value of equity interests (such as common shares, preferred shares, or partnership interest) issued or issuable to acquire the entity." } } }, "auth_ref": [ "r160" ] }, "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares", "terseLabel": "Business acquisition, Equity interest issued, Number of shares", "documentation": "Number of shares of equity interests issued or issuable to acquire entity." } } }, "auth_ref": [ "r160" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability", "verboseLabel": "Contingent consideration", "totalLabel": "Business Combination, Contingent Consideration, Liability, Total", "terseLabel": "Business acquisition, Contingent consideration liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r1", "r94", "r495" ] }, "altr_BusinessCombinationContingentConsiderationMarkToMarketAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "BusinessCombinationContingentConsiderationMarkToMarketAdjustments", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Business combination contingent consideration mark to market adjustments.", "label": "Business Combination Contingent Consideration Mark to Market Adjustments", "terseLabel": "Business combination contingent consideration mark to market adjustments" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitions" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r157", "r491" ] }, "altr_BusinessCombinationEstimatedPostCombinationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "BusinessCombinationEstimatedPostCombinationExpense", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Business combination estimated post combination expense.", "label": "Business Combination Estimated Post Combination Expense", "terseLabel": "Business combination, estimated post combination expense" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Consideration for the business acquisition", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r90", "r91" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Property and equipment in accounts payable and other current liabilities", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r46", "r47", "r48" ] }, "us-gaap_CapitalizedContractCostNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostNetCurrent", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Net, Current", "terseLabel": "Capitalized contract cost net, current", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current." } } }, "auth_ref": [ "r331" ] }, "us-gaap_CapitalizedContractCostNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostNetNoncurrent", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Net, Noncurrent", "terseLabel": "Capitalized contract cost net, noncurrent", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent." } } }, "auth_ref": [ "r331" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 0.0 }, "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r44", "r203", "r739" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of year", "totalLabel": "Total cash, cash equivalents, and restricted cash", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r44", "r139", "r233" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase in cash, cash equivalents and restricted cash", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r2", "r139" ] }, "altr_CashPaidForRepurchaseAndRetirementOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "CashPaidForRepurchaseAndRetirementOfCommonStock", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments for repurchase and retirement of common stock", "terseLabel": "Payments for repurchase and retirement of common stock", "label": "Cash Paid For Repurchase And Retirement Of Common Stock", "documentation": "Cash paid for repurchase and retirement of common stock." } } }, "auth_ref": [] }, "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]", "terseLabel": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]", "documentation": "Indicates (true false) whether accounting standards update was adopted." } } }, "auth_ref": [ "r184", "r185", "r186", "r193", "r194", "r243", "r315", "r316", "r318", "r319", "r320", "r327", "r328", "r350", "r476", "r492", "r493", "r504", "r505", "r506", "r517", "r518", "r529", "r534", "r535", "r537", "r538", "r539", "r560", "r565", "r566", "r567", "r573", "r585", "r586", "r634", "r635" ] }, "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Change in Accounting Principle, Accounting Standards Update, Adoption Date", "terseLabel": "Change in Accounting Principle, Accounting Standards Update, Adoption Date", "documentation": "Date accounting standards update was adopted, in YYYY-MM-DD format." } } }, "auth_ref": [ "r184", "r185", "r186", "r193", "r194", "r315", "r316", "r318", "r319", "r320", "r327", "r328", "r329", "r350", "r476", "r492", "r493", "r494", "r504", "r505", "r506", "r507", "r517", "r518", "r519", "r522", "r529", "r534", "r535", "r537", "r538", "r539", "r560", "r565", "r566", "r567", "r573", "r585", "r586", "r634", "r635", "r861" ] }, "altr_ChangeInPresentationOfCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ChangeInPresentationOfCostsPolicyTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Change in Presentation of Revenue and Cost of Revenue", "documentation": "Change in presentation of costs.", "label": "Change In Presentation Of Costs [Policy Text Block]" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r820" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "terseLabel": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock", "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "auth_ref": [ "r192", "r210", "r211", "r212", "r236", "r263", "r267", "r270", "r272", "r278", "r279", "r317", "r364", "r366", "r367", "r368", "r371", "r372", "r401", "r402", "r403", "r404", "r405", "r536", "r648", "r649", "r650", "r651", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r677", "r698", "r718", "r729", "r730", "r731", "r732", "r733", "r855", "r872", "r878" ] }, "altr_ClientEngineeringServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ClientEngineeringServicesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Client Engineering Services [Member]", "terseLabel": "Engineering Services and Other [Member]", "documentation": "Client engineering services.", "label": "Client Engineering Services [Member]" } } }, "auth_ref": [] }, "altr_ClientEngineeringServicesSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ClientEngineeringServicesSegmentMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Client engineering services.", "label": "Client Engineering Services Segment [Member]", "terseLabel": "CES [Member]" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r821" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r821" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r32", "r110", "r600", "r676" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r149", "r356", "r357", "r735", "r895" ] }, "us-gaap_CommonClassAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassAMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Class A [Member]", "terseLabel": "Class A Common Stock [Member]", "documentation": "Classification of common stock representing ownership interest in a corporation." } } }, "auth_ref": [ "r953" ] }, "us-gaap_CommonClassBMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassBMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Class B [Member]", "terseLabel": "Class B Common Stock [Member]", "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation." } } }, "auth_ref": [ "r953" ] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Common stock reserved for issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r33" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r768", "r769", "r770", "r772", "r773", "r774", "r775", "r875", "r876", "r934", "r951", "r953" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r120" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r120", "r677" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r120" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance", "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r14", "r120", "r677", "r695", "r953", "r954" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r120", "r602", "r765" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r826" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r825" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r827" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r824" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r37", "r217", "r219", "r225", "r594", "r613" ] }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNoteTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss) Note [Text Block]", "terseLabel": "Accumulated Other Comprehensive Loss", "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income." } } }, "auth_ref": [ "r126", "r224", "r593", "r612" ] }, "altr_ComputerEquipmentAndSoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ComputerEquipmentAndSoftwareMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "documentation": "Computer equipment and software.", "label": "Computer Equipment And Software [Member]", "terseLabel": "Computer Equipment and Software [Member]" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r53", "r55", "r102", "r103", "r312", "r734" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r53", "r55", "r102", "r103", "r312", "r646", "r734" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r53", "r55", "r102", "r103", "r312", "r734", "r860" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r53", "r55", "r102", "r103", "r312", "r734" ] }, "altr_ConceptEngineeringMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConceptEngineeringMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Concept Engineering member.", "label": "Concept Engineering [Member]", "terseLabel": "Concept Engineering [Member]" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current", "terseLabel": "Contract assets", "totalLabel": "Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r407", "r409", "r420" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r407", "r408", "r420" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Deferred revenue, non-current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent." } } }, "auth_ref": [ "r407", "r408", "r420" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Deferred revenue, revenue recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r421" ] }, "us-gaap_ContractWithCustomerRefundLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerRefundLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Refund Liability, Current", "terseLabel": "Billings in excess of cost", "documentation": "Amount of liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer, classified as current." } } }, "auth_ref": [ "r906" ] }, "us-gaap_ConversionOfStockSharesConverted1": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConversionOfStockSharesConverted1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Conversion of Stock, Shares Converted", "terseLabel": "Conversion from Class B to Class A common stock", "documentation": "The number of shares converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [ "r46", "r47", "r48" ] }, "us-gaap_ConvertibleDebtFairValueDisclosures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleDebtFairValueDisclosures", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Convertible Debt, Fair Value Disclosures", "terseLabel": "Fair value of convertible notes", "documentation": "Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock." } } }, "auth_ref": [] }, "us-gaap_ConvertibleDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleDebtTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Net Carrying Value of the 2027 and 2024 Notes", "label": "Convertible Debt [Table Text Block]", "documentation": "Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount." } } }, "auth_ref": [] }, "us-gaap_ConvertibleLongTermNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleLongTermNotesPayable", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 }, "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Convertible Notes Payable, Noncurrent", "terseLabel": "Convertible senior notes, net", "totalLabel": "Net carrying amount", "verboseLabel": "2027 Convertible senior notes, net", "documentation": "Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder." } } }, "auth_ref": [ "r30" ] }, "altr_ConvertibleNotesHoldersConversionRightsUnderCircumstancesOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConvertibleNotesHoldersConversionRightsUnderCircumstancesOneMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Convertible notes, holders conversion rights under circumstances 1.", "label": "Convertible Notes Holders Conversion Rights Under Circumstances One [Member]", "terseLabel": "Convertible Notes, Holders Conversion Rights, Circumstances 1 [Member]" } } }, "auth_ref": [] }, "altr_ConvertibleNotesHoldersConversionRightsUnderCircumstancesTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConvertibleNotesHoldersConversionRightsUnderCircumstancesTwoMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Convertible notes holders conversion rights under circumstances two [Member]", "label": "Convertible Notes Holders Conversion Rights Under Circumstances Two [Member]", "terseLabel": "Convertible notes holders conversion rights under circumstances two [Member]" } } }, "auth_ref": [] }, "us-gaap_ConvertibleNotesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleNotesPayableCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of convertible senior notes, net", "label": "Convertible Notes Payable, Current", "totalLabel": "Net carrying amount", "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder." } } }, "auth_ref": [ "r26" ] }, "altr_ConvertibleSeniorNotesDueInTwoThousandTwentyFourAndTwoThousandTwentySevenMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConvertibleSeniorNotesDueInTwoThousandTwentyFourAndTwoThousandTwentySevenMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "documentation": "Convertible Senior Notes Due In Two Thousand Twenty Four And Two Thousand Twenty Seven.", "label": "Convertible Senior Notes Due In Two Thousand Twenty Four And Two Thousand Twenty Seven [Member]", "terseLabel": "Convertible Senior Notes Due in 2024 and 2027 [Member]" } } }, "auth_ref": [] }, "altr_ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "documentation": "Convertible senior notes due in two thousand twenty four.", "label": "Convertible Senior Notes Due In Two Thousand Twenty Four [Member]", "terseLabel": "Convertible Senior Notes Due in 2024 [Member]" } } }, "auth_ref": [] }, "altr_ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Convertible senior notes due in two thousand twenty seven.", "label": "Convertible Senior Notes Due In Two Thousand Twenty Seven [Member]", "terseLabel": "Convertible Senior Notes Due in 2027 [Member]" } } }, "auth_ref": [] }, "altr_ConvertibleSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ConvertibleSharesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "documentation": "Convertible shares.", "label": "Convertible Shares [Member]" } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Total cost of revenue", "totalLabel": "Cost of Goods and Services Sold, Total", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r133", "r583" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenue - software [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Cumulative Effect, Period of Adoption, Adjustment [Member]", "terseLabel": "Cumulative Effect, Period of Adoption, Adjustment [Member]" } } }, "auth_ref": [ "r195", "r242", "r252", "r258", "r322", "r330", "r462", "r463", "r464", "r478", "r479", "r508", "r510", "r511", "r513", "r515", "r516", "r520", "r523", "r526", "r527", "r575" ] }, "srt_CumulativeEffectPeriodOfAdoptionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CumulativeEffectPeriodOfAdoptionAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Cumulative Effect, Period of Adoption [Axis]", "terseLabel": "Cumulative Effect, Period of Adoption" } } }, "auth_ref": [ "r195", "r242", "r252", "r258", "r322", "r330", "r462", "r463", "r464", "r478", "r479", "r508", "r510", "r511", "r513", "r515", "r516", "r520", "r523", "r526", "r527", "r575" ] }, "srt_CumulativeEffectPeriodOfAdoptionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CumulativeEffectPeriodOfAdoptionDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Cumulative Effect, Period of Adoption [Domain]", "terseLabel": "Cumulative Effect, Period of Adoption" } } }, "auth_ref": [ "r195", "r242", "r252", "r258", "r322", "r330", "r462", "r463", "r464", "r478", "r479", "r508", "r510", "r511", "r513", "r515", "r516", "r520", "r523", "r526", "r527", "r575" ] }, "altr_CurrencyGainsOnAcquisitionRelatedIntercompanyLoans": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "CurrencyGainsOnAcquisitionRelatedIntercompanyLoans", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Currency gains on acquisition-related intercompany loans", "label": "Currency Gains On Acquisition Related Intercompany Loans", "documentation": "Currency gains on acquisition related intercompany loans." } } }, "auth_ref": [] }, "altr_CurrencyLossesOnAcquisitionRelatedIntercompanyLoans": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "CurrencyLossesOnAcquisitionRelatedIntercompanyLoans", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "documentation": "Currency losses on acquisition related intercompany loans.", "label": "Currency Losses On Acquisition Related Intercompany Loans", "terseLabel": "Currency losses on acquisition-related intercompany loans" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Customer Relationships [Member]", "terseLabel": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r93" ] }, "us-gaap_DebtConversionByUniqueDescriptionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtConversionByUniqueDescriptionAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Conversion Description [Axis]", "terseLabel": "Debt Conversion Description", "documentation": "Information by description of debt issuances converted in a noncash or part noncash transaction." } } }, "auth_ref": [ "r46", "r48" ] }, "us-gaap_DebtConversionConvertedInstrumentSharesIssued1": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtConversionConvertedInstrumentSharesIssued1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Conversion, Converted Instrument, Shares Issued", "terseLabel": "Debt conversion, converted instrument, shares issued", "documentation": "The number of shares issued in exchange for the original debt being converted in a noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or payments in the period." } } }, "auth_ref": [ "r46", "r48" ] }, "us-gaap_DebtConversionNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtConversionNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Conversion, Name [Domain]", "terseLabel": "Debt Conversion, Name", "documentation": "The name of the original debt issue that has been converted in a noncash (or part noncash) transaction during the accounting period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [ "r46", "r48" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Debt", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r150", "r235", "r373", "r379", "r380", "r381", "r382", "r383", "r384", "r389", "r396", "r397", "r399" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "terseLabel": "Debt Instrument", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r21", "r115", "r116", "r165", "r168", "r238", "r374", "r375", "r376", "r377", "r378", "r380", "r385", "r386", "r387", "r388", "r390", "r391", "r392", "r393", "r394", "r395", "r564", "r746", "r747", "r748", "r749", "r750", "r873" ] }, "altr_DebtInstrumentCommencementOfInterestDate": { "xbrltype": "dateItemType", "nsuri": "http://www.altair.com/20240331", "localname": "DebtInstrumentCommencementOfInterestDate", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Debt instrument commencement of interest date.", "label": "Debt Instrument Commencement Of Interest Date", "terseLabel": "Interest payment commencement date" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentConvertibleConversionPrice1": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentConvertibleConversionPrice1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Convertible, Conversion Price", "terseLabel": "Debt instrument convertible initial conversion price per share of common stock", "documentation": "The price per share of the conversion feature embedded in the debt instrument." } } }, "auth_ref": [ "r151", "r376" ] }, "altr_DebtInstrumentConvertibleConversionRatePrincipalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "DebtInstrumentConvertibleConversionRatePrincipalAmount", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Debt instrument convertible conversion rate principal amount.", "label": "Debt Instrument Convertible Conversion Rate Principal Amount", "terseLabel": "Debt instrument conversion rate principal amount of notes" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentConvertibleIfConvertedValueInExcessOfPrincipal": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentConvertibleIfConvertedValueInExcessOfPrincipal", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Convertible, If-converted Value in Excess of Principal", "terseLabel": "Debt instrument, convertible, \"if-converted value\" in excess of the principal amount", "documentation": "The amount by which the convertible debt's if-converted value exceeds its principle amount at the balance sheet date, regardless of whether the instrument is currently convertible. This element applies to public companies only." } } }, "auth_ref": [ "r75" ] }, "us-gaap_DebtInstrumentConvertibleTermsOfConversionFeature": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentConvertibleTermsOfConversionFeature", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Convertible, Terms of Conversion Feature", "terseLabel": "Debt instrument, convertible, terms of conversion feature", "documentation": "Description of conversion terms for debt instrument." } } }, "auth_ref": [ "r29", "r78", "r152", "r153" ] }, "us-gaap_DebtInstrumentDescription": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentDescription", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Description", "terseLabel": "Debt instrument, description", "documentation": "Identification of the lender and information about a contractual promise to repay a short-term or long-term obligation, which includes borrowings under lines of credit, notes payable, commercial paper, bonds payable, debentures, and other contractual obligations for payment. This may include rationale for entering into the arrangement, significant terms of the arrangement, which may include amount, repayment terms, priority, collateral required, debt covenants, borrowing capacity, call features, participation rights, conversion provisions, sinking-fund requirements, voting rights, basis for conversion if convertible and remarketing provisions. The description may be provided for individual debt instruments, rational groupings of debt instruments, or by debt in total." } } }, "auth_ref": [ "r21", "r78", "r112", "r115", "r165", "r168" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail2": { "parentTag": "us-gaap_ConvertibleLongTermNotesPayable", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "verboseLabel": "Principal", "label": "Debt Instrument, Face Amount", "terseLabel": "Debt instrument, aggregate principal amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r105", "r107", "r374", "r564", "r747", "r748" ] }, "us-gaap_DebtInstrumentFrequencyOfPeriodicPayment": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFrequencyOfPeriodicPayment", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Frequency of Periodic Payment", "terseLabel": "Debt instrument frequency of periodic payment", "documentation": "Description of the frequency of periodic payments (monthly, quarterly, annual)." } } }, "auth_ref": [ "r30", "r113" ] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Debt instrument interest rate", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r28", "r375" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Instrument [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r238", "r374", "r375", "r376", "r377", "r378", "r380", "r385", "r386", "r387", "r388", "r390", "r391", "r392", "r393", "r394", "r395", "r398", "r564", "r746", "r747", "r748", "r749", "r750", "r873" ] }, "us-gaap_DebtInstrumentMaturityDate": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentMaturityDate", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Maturity Date", "terseLabel": "Debt instrument maturity date", "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r188", "r746", "r935" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "terseLabel": "Debt Instrument, Name", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r30", "r238", "r374", "r375", "r376", "r377", "r378", "r380", "r385", "r386", "r387", "r388", "r390", "r391", "r392", "r393", "r394", "r395", "r564", "r746", "r747", "r748", "r749", "r750", "r873" ] }, "altr_DebtInstrumentPrincipalOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "DebtInstrumentPrincipalOutstanding", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Debt instrument principal outstanding.", "label": "Debt Instrument Principal Outstanding", "terseLabel": "Debt instrument principal outstanding" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentRepurchasedFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRepurchasedFaceAmount", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Repurchased Face Amount", "terseLabel": "Debt instrument repurchased face amount", "documentation": "Face (par) amount of the original debt instrument that was repurchased." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-Term Debt Instruments [Table]", "terseLabel": "Debt Instrument [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r30", "r78", "r79", "r104", "r105", "r107", "r111", "r152", "r153", "r238", "r374", "r375", "r376", "r377", "r378", "r380", "r385", "r386", "r387", "r388", "r390", "r391", "r392", "r393", "r394", "r395", "r398", "r564", "r746", "r747", "r748", "r749", "r750", "r873" ] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail2": { "parentTag": "us-gaap_ConvertibleLongTermNotesPayable", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfThe2027And2024NotesDetail" ], "lang": { "en-us": { "role": { "label": "Debt Issuance Costs, Net", "terseLabel": "Less: unamortized debt issuance costs", "totalLabel": "Debt Issuance Costs, Net, Total", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r106", "r904" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r469", "r470" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r469", "r470", "r599" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Taxes and Tax Credits", "totalLabel": "Deferred Income Taxes and Tax Credits, Total", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r141" ] }, "us-gaap_DepositLiabilitiesAccruedInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepositLiabilitiesAccruedInterest", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued interest", "label": "Deposit Liabilities, Accrued Interest", "documentation": "Amount of accrued but unpaid interest on deposit liabilities." } } }, "auth_ref": [ "r109" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation expense, including amortization of right-of-use assets under finance leases", "totalLabel": "Depreciation, Total", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r11", "r72" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 }, "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "negatedLabel": "Depreciation and amortization", "totalLabel": "Depreciation, Depletion and Amortization, Total", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r11", "r289" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Developed Technology Rights [Member]", "terseLabel": "Developed Technology [Member]", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r159" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation Of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r419", "r752", "r753", "r754", "r755", "r756", "r757", "r758" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation Of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r419", "r752", "r753", "r754", "r755", "r756", "r757", "r758" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of Disaggregation of Revenue", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r905" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Text Block]", "terseLabel": "Stock-Based Compensation", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r425", "r430", "r458", "r459", "r461", "r762" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "altr_DocumentAndEntityInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "DocumentAndEntityInformationLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "documentation": "Document and entity information.", "label": "Document And Entity Information [Line Items]", "terseLabel": "Document And Entity Information [Line Items]" } } }, "auth_ref": [] }, "altr_DocumentAndEntityInformationTable": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "DocumentAndEntityInformationTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "documentation": "Document and entity information table.", "label": "Document And Entity Information [Table]", "terseLabel": "Document And Entity Information [Table]" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r782" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "terseLabel": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r815" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "verboseLabel": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Income (loss) per share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net income (loss) per share attributable to common stockholders, basic", "label": "Earnings Per Share, Basic", "totalLabel": "Earnings Per Share, Basic, Total", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r226", "r250", "r251", "r252", "r253", "r254", "r261", "r263", "r270", "r271", "r272", "r276", "r527", "r528", "r595", "r614", "r741" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net income (loss) per share attributable to common stockholders, diluted", "label": "Earnings Per Share, Diluted", "totalLabel": "Earnings Per Share, Diluted, Total", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r226", "r250", "r251", "r252", "r253", "r254", "r263", "r270", "r271", "r272", "r276", "r527", "r528", "r595", "r614", "r741" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare" ], "lang": { "en-us": { "role": { "terseLabel": "Net Income (Loss) Per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r260", "r273", "r274", "r275" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r550" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxExpenseAndEffectiveTaxRateDetail" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate", "totalLabel": "Effective Income Tax Rate Reconciliation, Percent, Total", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r472" ] }, "altr_EffectiveIncomeTaxRateReconciliationReconcilingItemsDiscreteBenefitsAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "EffectiveIncomeTaxRateReconciliationReconcilingItemsDiscreteBenefitsAmount", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Net discrete expense (benefit)", "label": "Effective Income Tax Rate Reconciliation Reconciling Items Discrete Benefits Amount", "documentation": "Effective income tax rate reconciliation reconciling items discrete benefits amount." } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and benefits", "totalLabel": "Employee-related Liabilities, Current, Total", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r26" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAggregateDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Additional Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Compensation cost related to nonvested awards not yet recognized", "totalLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r460" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period of recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r460" ] }, "altr_EmployeeStockOptionAndEmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "EmployeeStockOptionAndEmployeeStockPurchasePlanMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "documentation": "Employee stock option and employee stock purchase plan [Member]", "label": "Employee Stock Option And Employee Stock Purchase Plan [Member]", "terseLabel": "Stock Options and ESPP [Member]" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "altr_EmployeeStockPurchasePlanLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "EmployeeStockPurchasePlanLiabilities", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "Employee stock purchase plan liabilities.", "label": "Employee Stock Purchase Plan Liabilities", "terseLabel": "Employee stock purchase plan obligations" } } }, "auth_ref": [] }, "altr_EngineeringServicesAndOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "EngineeringServicesAndOtherMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Engineering Services and Other [Member]", "documentation": "Engineering services and other." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r780" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r780" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Securities Act File Number", "terseLabel": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r780" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r854" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r780" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "terseLabel": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r780" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "terseLabel": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r780" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r780" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "terseLabel": "Equity Component", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r14", "r195", "r220", "r221", "r222", "r239", "r240", "r241", "r246", "r255", "r257", "r277", "r322", "r330", "r406", "r462", "r463", "r464", "r478", "r479", "r508", "r510", "r511", "r512", "r513", "r516", "r526", "r551", "r553", "r554", "r555", "r556", "r558", "r577", "r636", "r637", "r638", "r655", "r718" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r823" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r787", "r798", "r808", "r833" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r784", "r795", "r805", "r830" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r829" ] }, "altr_ExpenseOnRepurchaseOfConvertibleSeniorNote": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ExpenseOnRepurchaseOfConvertibleSeniorNote", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 1.0 }, "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Expense on repurchase of convertible senior note.", "label": "Expense On Repurchase Of Convertible Senior Note", "terseLabel": "Expense on repurchase of convertible senior notes" } } }, "auth_ref": [] }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_FairValueByBalanceSheetGroupingTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByBalanceSheetGroupingTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Fair Value, by Balance Sheet Grouping [Table]", "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities." } } }, "auth_ref": [ "r99", "r100", "r101" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r533" ] }, "altr_FairValueExpenseRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "FairValueExpenseRecognized", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "documentation": "Fair value expense recognized.", "label": "Fair Value Expense Recognized", "terseLabel": "Fair value expense recognized", "verboseLabel": "Expense on repurchase of convertible senior notes" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r207", "r345" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r342", "r344", "r345", "r347", "r584", "r591" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross carrying amount", "totalLabel": "Finite-Lived Intangible Assets, Gross, Total", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r146", "r591" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r67", "r70" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net carrying amount", "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance", "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r146", "r584" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail" ], "lang": { "en-us": { "role": { "negatedLabel": "Foreign exchange loss (gain)", "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "totalLabel": "Foreign Currency Transaction Gain (Loss), before Tax, Total", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r545", "r546", "r547", "r549", "r715" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r791", "r802", "r812", "r837" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r791", "r802", "r812", "r837" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r791", "r802", "r812", "r837" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r791", "r802", "r812", "r837" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r791", "r802", "r812", "r837" ] }, "altr_FurnitureEquipmentAndOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "FurnitureEquipmentAndOtherMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "documentation": "Furniture equipment and other.", "label": "Furniture Equipment And Other [Member]", "terseLabel": "Furniture Equipment and Other [Member]" } } }, "auth_ref": [] }, "altr_GainOnMarkToMarketAdjustmentOfContingentConsideration": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "GainOnMarkToMarketAdjustmentOfContingentConsideration", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "documentation": "Gain on mark to market adjustment of contingent consideration.", "label": "Gain On Mark To Market Adjustment Of Contingent Consideration", "terseLabel": "Gain on mark-to-market adjustment of contingent consideration", "negatedLabel": "Gain on mark-to-market adjustment of contingent consideration" } } }, "auth_ref": [] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "General and Administrative Expense", "terseLabel": "General and administrative", "totalLabel": "General and Administrative Expense, Total", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r134", "r700" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "General and Administrative Expense [Member]", "terseLabel": "General and administrative [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r130" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsChangesInCarryingAmountOfGoodwillAttributableToSoftwareReportableSegmentDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "terseLabel": "Goodwill", "totalLabel": "Goodwill, Total", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r206", "r332", "r592", "r745", "r765", "r883", "r890" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsChangesInCarryingAmountOfGoodwillAttributableToSoftwareReportableSegmentDetail" ], "lang": { "en-us": { "role": { "label": "Goodwill, Acquired During Period", "terseLabel": "Acquisitions", "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination." } } }, "auth_ref": [ "r335", "r745" ] }, "altr_GoodwillAffectOfForeignCurrencyTranslationGainLossAndOther": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "GoodwillAffectOfForeignCurrencyTranslationGainLossAndOther", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsChangesInCarryingAmountOfGoodwillAttributableToSoftwareReportableSegmentDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation", "documentation": "Goodwill affect of foreign currency translation gain (loss) and other.", "label": "Goodwill Affect Of Foreign Currency Translation Gain Loss And Other" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Other Intangible Assets", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r144" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsChangesInCarryingAmountOfGoodwillAttributableToSoftwareReportableSegmentDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r339" ] }, "us-gaap_GranteeStatusAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GranteeStatusAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Axis]", "terseLabel": "Grantee Status", "documentation": "Information by status of recipient to whom award is granted." } } }, "auth_ref": [ "r426", "r428", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ] }, "us-gaap_GranteeStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GranteeStatusDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Domain]", "terseLabel": "Grantee Status", "documentation": "Status of recipient to whom award is granted." } } }, "auth_ref": [ "r426", "r428", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r132", "r236", "r284", "r298", "r304", "r307", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r536", "r743", "r901" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 0.0 }, "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r128", "r170", "r284", "r298", "r304", "r307", "r596", "r609", "r743" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r348", "r351", "r701" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r351", "r701" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r237", "r468", "r473", "r474", "r475", "r483", "r485", "r488", "r489", "r653" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureIncomeTaxesScheduleOfIncomeTaxExpenseAndEffectiveTaxRateDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Income tax expense", "terseLabel": "Income tax expense", "label": "Income Tax Expense (Benefit)", "totalLabel": "Income Tax Expense (Benefit), Total", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r173", "r187", "r256", "r257", "r292", "r471", "r484", "r615" ] }, "altr_IncomeTaxReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "IncomeTaxReserves", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax reserves", "label": "Income Tax Reserves", "documentation": "Income tax reserves." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid", "terseLabel": "Income taxes paid", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r43", "r45" ] }, "us-gaap_IncomeTaxesReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesReceivable", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Income Taxes Receivable, Current", "terseLabel": "Income tax receivable", "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes." } } }, "auth_ref": [ "r108", "r863" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "totalLabel": "Increase (Decrease) in Accounts Payable, Total", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable, net", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Deferred revenue", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r582", "r870" ] }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Employee Related Liabilities", "terseLabel": "Accrued compensation and benefits", "totalLabel": "Increase (Decrease) in Employee Related Liabilities, Total", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other long-term assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r870" ] }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Operating Liabilities", "terseLabel": "Other accrued expenses and current liabilities", "totalLabel": "Increase (Decrease) in Other Operating Liabilities, Total", "documentation": "Amount of increase (decrease) in operating liabilities classified as other." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Effect of dilutive securities, stock options, RSUs and ESPP shares", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r264", "r265", "r266", "r272", "r429" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets [Axis]", "terseLabel": "Indefinite-lived Intangible Assets", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r343", "r346" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)", "terseLabel": "Net carrying amount", "totalLabel": "Indefinite-Lived Intangible Assets (Excluding Goodwill), Total", "periodStartLabel": "Indefinite-Lived Intangible Assets (Excluding Goodwill), Beginning Balance", "periodEndLabel": "Indefinite-Lived Intangible Assets (Excluding Goodwill), Ending Balance", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r147" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company." } } }, "auth_ref": [ "r68", "r147" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r794", "r802", "r812", "r829", "r837", "r841", "r849" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r847" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r783", "r853" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r783", "r853" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r783", "r853" ] }, "us-gaap_IntangibleAssetsGrossExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsGrossExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Gross (Excluding Goodwill)", "terseLabel": "Gross carrying amount", "totalLabel": "Intangible Assets, Gross (Excluding Goodwill), Total", "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill." } } }, "auth_ref": [ "r206" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Other intangible assets, net", "totalLabel": "Net carrying amount", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r65", "r69" ] }, "us-gaap_InterestAndOtherIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestAndOtherIncome", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "negatedLabel": "Interest income", "label": "Interest and Other Income", "terseLabel": "Interest income", "documentation": "The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 1.0 }, "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "terseLabel": "Interest expense", "negatedLabel": "Interest expense", "totalLabel": "Interest Expense, Total", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r106", "r172", "r223", "r288", "r562", "r702", "r776", "r952" ] }, "us-gaap_InterestExpenseDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpenseDebt", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail" ], "lang": { "en-us": { "role": { "label": "Interest Expense, Debt", "totalLabel": "Total", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt." } } }, "auth_ref": [ "r136", "r393", "r400", "r749", "r750" ] }, "us-gaap_InterestExpenseDebtExcludingAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpenseDebtExcludingAmortization", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail": { "parentTag": "us-gaap_InterestExpenseDebt", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfInterestExpenseRelatedTo2027And2024NotesDetail" ], "lang": { "en-us": { "role": { "label": "Interest Expense, Debt, Excluding Amortization", "terseLabel": "Contractual interest expense", "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs." } } }, "auth_ref": [ "r137", "r394", "r749", "r750" ] }, "us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeAndInterestExpenseDisclosureTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Interest Expense Related to 2027 and 2024 Notes", "label": "Interest Income and Interest Expense Disclosure [Table Text Block]", "documentation": "Tabular disclosure of interest income and expense, including, but not limited to, interest income and expense from investments, loans, and securities." } } }, "auth_ref": [] }, "altr_InterestIncomeAndOther": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "InterestIncomeAndOther", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail" ], "lang": { "en-us": { "role": { "negatedLabel": "Interest income", "documentation": "Interest income and other.", "label": "Interest Income And Other", "terseLabel": "Special adjustments, interest income and other" } } }, "auth_ref": [] }, "us-gaap_InterestOnConvertibleDebtNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestOnConvertibleDebtNetOfTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail": { "parentTag": "us-gaap_NetIncomeLossAttributableToParentDiluted", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail" ], "lang": { "en-us": { "role": { "label": "Interest on Convertible Debt, Net of Tax", "terseLabel": "Interest expense related to Convertible Notes, net of tax", "documentation": "Amount, after tax, of interest recognized on convertible debt instrument excluding interest on principal required to be paid in cash." } } }, "auth_ref": [ "r262", "r268", "r272" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Interest paid", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r228", "r231", "r232" ] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Land [Member]", "terseLabel": "Land [Member]", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r907" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r148" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "TOTAL LIABILITIES", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r25", "r236", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r499", "r502", "r503", "r536", "r675", "r742", "r778", "r901", "r939", "r940" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r125", "r169", "r606", "r765", "r874", "r881", "r936" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES, MEZZANINE EQUITY AND STOCKHOLDERS\u2019 EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r27", "r202", "r236", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r499", "r502", "r503", "r536", "r765", "r901", "r939", "r940" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "CURRENT LIABILITIES:" } } }, "auth_ref": [] }, "us-gaap_LicenseAndMaintenanceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LicenseAndMaintenanceMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "License and Maintenance [Member]", "terseLabel": "Total Software [Member]", "documentation": "Right to use intangible asset and process of preserving asset. Intangible asset includes, but is not limited to, patent, copyright, technology, manufacturing process, software or trademark." } } }, "auth_ref": [ "r907" ] }, "us-gaap_LicenseAndServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LicenseAndServiceMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "License and Service [Member]", "terseLabel": "Total Software and Related Services [Member]", "documentation": "Right to use intangible asset and performance of related service. Intangible asset includes, but is not limited to, patent, copyright, technology, manufacturing process, software or trademark." } } }, "auth_ref": [ "r907" ] }, "us-gaap_LicenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LicenseMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "License [Member]", "terseLabel": "License [Member]", "documentation": "Right to use intangible asset. Intangible asset includes, but is not limited to, patent, copyright, technology, manufacturing process, software or trademark." } } }, "auth_ref": [ "r907" ] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Long-Term Line of Credit", "terseLabel": "Loan outstanding", "totalLabel": "Long-Term Line of Credit, Total", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r21", "r168", "r948" ] }, "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCurrentBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Current Borrowing Capacity", "terseLabel": "Credit facility", "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility." } } }, "auth_ref": [ "r23" ] }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityExpirationDate1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Expiration Date", "terseLabel": "Maturity date", "documentation": "Date the credit facility terminates, in YYYY-MM-DD format." } } }, "auth_ref": [ "r23" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Amount available for future borrowing", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r23" ] }, "srt_LitigationCaseAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "LitigationCaseAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Litigation Case [Axis]", "terseLabel": "Litigation Case" } } }, "auth_ref": [] }, "srt_LitigationCaseTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "LitigationCaseTypeDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Litigation Case [Domain]", "terseLabel": "Litigation Case" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "terseLabel": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LossContingenciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Loss Contingencies [Line Items]", "terseLabel": "Loss Contingencies [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r358", "r359", "r360", "r363", "r897", "r898" ] }, "us-gaap_LossContingenciesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Loss Contingencies [Table]", "terseLabel": "Loss Contingencies [Table]", "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations." } } }, "auth_ref": [ "r358", "r359", "r360", "r363", "r897", "r898" ] }, "us-gaap_LossContingencyDamagesAwardedValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyDamagesAwardedValue", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Loss Contingency, Damages Awarded, Value", "terseLabel": "Loss contingency damages awarded value", "documentation": "Amount of damages awarded to the plaintiff in the legal matter." } } }, "auth_ref": [ "r896", "r897", "r898" ] }, "us-gaap_LossContingencyDamagesPaidValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyDamagesPaidValue", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Loss Contingency, Damages Paid, Value", "terseLabel": "Outstanding loss contingency damages paid", "documentation": "Amount of damages paid to the plaintiff in the legal matter." } } }, "auth_ref": [ "r896", "r897", "r898" ] }, "altr_LossGainOnMarkToMarketAdjustmentOfContingentConsideration": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "LossGainOnMarkToMarketAdjustmentOfContingentConsideration", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Loss on mark-to-market adjustment of contingent consideration", "label": "Loss(Gain) on Mark-to-Market Adjustment of Contingent Consideration", "documentation": "Loss(gain) on mark-to-market adjustment of contingent consideration." } } }, "auth_ref": [] }, "altr_LossOnMarkToMarketAdjustmentOfContingentConsideration": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "LossOnMarkToMarketAdjustmentOfContingentConsideration", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "negatedLabel": "Loss on mark-to-market adjustment of contingent consideration", "terseLabel": "Loss (gain) on mark-to-market adjustment of contingent consideration", "documentation": "Loss on mark to market adjustment of contingent consideration.", "label": "Loss On Mark To Market Adjustment Of Contingent Consideration" } } }, "auth_ref": [] }, "altr_MaintenanceAndOtherServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "MaintenanceAndOtherServicesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Maintenance and other services.", "label": "Maintenance And Other Services [Member]", "terseLabel": "Maintenance and Other Services [Member]" } } }, "auth_ref": [] }, "us-gaap_MaintenanceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MaintenanceMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "label": "Maintenance [Member]", "terseLabel": "Maintenance [Member]", "documentation": "Process of preserving asset, including, but not limited to, building, machinery and software." } } }, "auth_ref": [ "r907" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum [Member]" } } }, "auth_ref": [ "r359", "r360", "r361", "r362", "r424", "r581", "r633", "r667", "r668", "r721", "r722", "r723", "r724", "r728", "r736", "r737", "r744", "r751", "r761", "r767", "r903", "r941", "r942", "r943", "r944", "r945", "r946" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r821" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r821" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum [Member]" } } }, "auth_ref": [ "r359", "r360", "r361", "r362", "r424", "r581", "r633", "r667", "r668", "r721", "r722", "r723", "r724", "r728", "r736", "r737", "r744", "r751", "r761", "r767", "r903", "r941", "r942", "r943", "r944", "r945", "r946" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r840" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r848" ] }, "altr_NCJudgementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "NCJudgementMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "NC judgement.", "label": "N C Judgement [Member]", "terseLabel": "N C Judgement" } } }, "auth_ref": [] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r822" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness" ], "lang": { "en-us": { "role": { "label": "Nature of Operations [Text Block]", "terseLabel": "Organization and Description of Business", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r175", "r190" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r230" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "FINANCING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r230" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "INVESTING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r139", "r140", "r141" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "OPERATING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 0.0 }, "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail": { "parentTag": "us-gaap_NetIncomeLossAttributableToParentDiluted", "weight": 1.0, "order": 0.0 }, "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "totalLabel": "Net income (loss)", "verboseLabel": "Net income (loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r129", "r141", "r171", "r200", "r215", "r218", "r222", "r236", "r245", "r250", "r251", "r252", "r253", "r256", "r257", "r269", "r284", "r298", "r304", "r307", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r528", "r536", "r611", "r697", "r716", "r717", "r743", "r776", "r901" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAttributableToParentDiluted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAttributableToParentDiluted", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail" ], "lang": { "en-us": { "role": { "totalLabel": "Numerator for diluted income (loss) per share", "label": "Net Income (Loss) Attributable to Parent, Diluted", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions." } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRecentAccountingGuidance" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]", "terseLabel": "Recent Accounting Guidance", "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle." } } }, "auth_ref": [ "r182", "r183", "r189", "r198", "r243", "r244", "r247", "r248", "r258", "r259", "r323", "r324", "r480", "r481", "r482", "r514", "r524", "r530", "r531", "r532", "r542", "r543", "r544", "r569", "r570", "r578", "r588", "r589", "r590", "r640", "r641", "r642", "r643", "r645" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Guidance", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r821" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r791", "r802", "r812", "r829", "r837" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r819" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r818" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r829" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r848" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r848" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental disclosure of non-cash investing and financing activities:" } } }, "auth_ref": [] }, "us-gaap_NoncashOrPartNoncashAcquisitionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashOrPartNoncashAcquisitionsLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Noncash or Part Noncash Acquisitions [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_NoncashOrPartNoncashAcquisitionsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashOrPartNoncashAcquisitionsTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Noncash or Part Noncash Acquisitions [Table]", "documentation": "The process of acquiring assets or a business through noncash (or part noncash) transactions. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [ "r46", "r47", "r48" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 }, "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSupplementaryInformationScheduleOfOtherIncomeNetDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Other income, net", "negatedLabel": "Other income, net", "label": "Nonoperating Income (Expense)", "totalLabel": "Nonoperating Income (Expense), Total", "terseLabel": "Other (income) expense, net", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r135" ] }, "altr_NumberOfEqualVestingInstallments": { "xbrltype": "integerItemType", "nsuri": "http://www.altair.com/20240331", "localname": "NumberOfEqualVestingInstallments", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Number of equal vesting installments.", "label": "Number Of Equal Vesting Installments", "terseLabel": "Number of vesting equal annual installments" } } }, "auth_ref": [] }, "altr_NumberOfPriorBusinessAcquistionsValuationFinalized": { "xbrltype": "integerItemType", "nsuri": "http://www.altair.com/20240331", "localname": "NumberOfPriorBusinessAcquistionsValuationFinalized", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Number of prior business acquistions for which valuation is finalized", "label": "Number Of Prior Business Acquistions, Valuation Finalized", "documentation": "Number of prior business acquistions, valuation finalized." } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r880" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "totalLabel": "Total operating expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Operating income", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r284", "r298", "r304", "r307", "r743" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r572" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities, net of current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r572" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right of use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r571" ] }, "us-gaap_OptionIndexedToIssuersEquityTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OptionIndexedToIssuersEquityTypeAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Option Indexed to Issuer's Equity, Type [Axis]", "documentation": "Information by type of freestanding contracts issued by an entity that are indexed to, and potentially settled in, an entity's own stock." } } }, "auth_ref": [ "r76", "r97", "r98", "r162" ] }, "us-gaap_OptionIndexedToIssuersEquityTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OptionIndexedToIssuersEquityTypeDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Option Indexed to Issuer's Equity, Type [Domain]", "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding." } } }, "auth_ref": [] }, "altr_OptionToPurchaseAdditionalPrincipalAmountOfNotesToInitialPurchaser": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "OptionToPurchaseAdditionalPrincipalAmountOfNotesToInitialPurchaser", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Option to purchase additional principal amount of notes to initial purchaser.", "label": "Option to Purchase Additional Principal Amount of Notes to Initial Purchaser", "terseLabel": "Additional principal amount of notes to initial purchaser's" } } }, "auth_ref": [] }, "altr_OptionToPurchaseAdditionalPrincipalAmountOfNotesToUnderwriters": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "OptionToPurchaseAdditionalPrincipalAmountOfNotesToUnderwriters", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Option to purchase additional principal amount of notes to underwriters.", "label": "Option To Purchase Additional Principal Amount Of Notes To Underwriters", "terseLabel": "Additional principal amount of notes to underwriters" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other long-term assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r208" ] }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), before Reclassifications, before Tax", "terseLabel": "Other comprehensive income before reclassification", "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r36", "r221", "r551", "r554", "r558", "r612", "r865" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation (net of tax effect of $0 for all periods)", "verboseLabel": "Foreign currency translation, net of tax", "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r4" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax", "terseLabel": "Foreign currency translation, tax effect", "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax, Total", "documentation": "Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r4", "r8", "r548", "r557" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total other comprehensive (loss) income", "label": "Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r14", "r19", "r216", "r219", "r224", "r551", "r552", "r558", "r593", "r612", "r865", "r866" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive (loss) income, net of tax:", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Retirement related benefit plans (net of tax effect of $0 for all periods)", "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax", "negatedTerseLabel": "Retirement related benefit plans, net of tax", "totalLabel": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax, Total", "terseLabel": "Retirement related benefit plans (net of tax effect of $0, $0, $(79) and $7, respectively)", "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan." } } }, "auth_ref": [ "r7", "r127" ] }, "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfComprehensiveIncomeUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, Tax", "terseLabel": "Retirement related benefit plans, tax effect", "totalLabel": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, Tax, Total", "documentation": "Amount, after reclassification adjustment, of tax (expense) benefit for (increase) decrease in accumulated other comprehensive income of defined benefit plan." } } }, "auth_ref": [ "r7", "r8", "r161" ] }, "us-gaap_OtherComprehensiveIncomeLossTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossTax", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Tax", "negatedLabel": "Tax effects", "totalLabel": "Other Comprehensive Income (Loss), Tax, Total", "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss)." } } }, "auth_ref": [ "r8", "r220", "r224", "r471", "r486", "r487", "r551", "r555", "r558", "r593", "r612" ] }, "us-gaap_OtherCurrentLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentLiabilitiesTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables" ], "lang": { "en-us": { "role": { "label": "Other Current Liabilities [Table Text Block]", "terseLabel": "Summary of Other Accrued Expenses and Current Liabilities", "documentation": "Tabular disclosure of other current liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIntangibleAssetsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Other Intangible Assets [Member]", "terseLabel": "Other Intangibles [Member]", "documentation": "Intangible assets classified as other." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 }, "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Current", "terseLabel": "Other accrued expenses and current liabilities", "totalLabel": "Total", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r26", "r765" ] }, "us-gaap_OtherLiabilitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Other Liabilities Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 }, "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities", "totalLabel": "Total", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r31" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Noncash Income (Expense)", "negatedLabel": "Other, net", "totalLabel": "Other Noncash Income (Expense), Total", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r141" ] }, "us-gaap_OtherNoncurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncurrentAssetsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Other Noncurrent Assets [Member]", "terseLabel": "Other Long-Term Assets [Member]", "documentation": "Primary financial statement caption encompassing other noncurrent assets." } } }, "auth_ref": [] }, "us-gaap_OtherNoncurrentLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncurrentLiabilitiesTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables" ], "lang": { "en-us": { "role": { "label": "Other Noncurrent Liabilities [Table Text Block]", "terseLabel": "Summary of Other Long-term Liabilities", "documentation": "Tabular disclosure of other noncurrent liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherOperatingIncomeExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingIncomeExpenseNet", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Operating Income (Expense), Net", "terseLabel": "Other operating expense (income), net", "negatedLabel": "Other operating (income) expense, net", "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r821" ] }, "altr_OtherProductAndServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "OtherProductAndServiceMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Other product and service.", "label": "Other Product And Service [Member]", "terseLabel": "Other [Member]" } } }, "auth_ref": [] }, "us-gaap_OtherSundryLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherSundryLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Other Sundry Liabilities, Current", "terseLabel": "Other current liabilities", "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date." } } }, "auth_ref": [ "r26", "r74" ] }, "us-gaap_OtherSundryLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherSundryLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Other Sundry Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities", "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are expected to be paid after one year (or the normal operating cycle, if longer), from the balance sheet date." } } }, "auth_ref": [ "r117", "r167" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r789", "r800", "r810", "r835" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r817" ] }, "altr_PaymentForRepurchaseOfCommonStockShares": { "xbrltype": "sharesItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PaymentForRepurchaseOfCommonStockShares", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Repurchase and retirement of common stock, Shares", "documentation": "Payment for repurchase of common stock shares.", "label": "Payment For Repurchase Of Common Stock Shares" } } }, "auth_ref": [] }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForProceedsFromOtherInvestingActivities", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments for (Proceeds from) Other Investing Activities", "negatedLabel": "Other investing activities, net", "documentation": "Amount of cash (inflow) outflow from investing activities classified as other." } } }, "auth_ref": [ "r856", "r868" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchase and retirement of common stock", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r40" ] }, "altr_PaymentsForRepurchaseOfCommonStockShares": { "xbrltype": "sharesItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PaymentsForRepurchaseOfCommonStockShares", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Payments for repurchase of common stock shares.", "label": "Payments for Repurchase of Common Stock Shares", "terseLabel": "Payments for repurchase of common stock, Shares" } } }, "auth_ref": [] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments of debt issuance costs", "label": "Payments of Debt Issuance Costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r42" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Payments for acquisition of businesses, net of cash acquired", "totalLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r38" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Capital expenditures", "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r138" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r820" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r820" ] }, "us-gaap_PensionAndOtherPostretirementAndPostemploymentBenefitPlansLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementAndPostemploymentBenefitPlansLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherLongTermLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Liability, Pension and Other Postretirement and Postemployment Benefits, Noncurrent", "terseLabel": "Pension and other post retirement liabilities", "totalLabel": "Liability, Pension and Other Postretirement and Postemployment Benefits, Noncurrent, Total", "documentation": "Amount of liability, recognized in statement of financial position, for pension, other postretirement and postemployment benefits, classified as noncurrent." } } }, "auth_ref": [ "r80", "r81", "r117", "r155" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r819" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r829" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r822" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r818" ] }, "altr_PercentageOfNetRevenuesThroughIndirectChannels": { "xbrltype": "percentItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PercentageOfNetRevenuesThroughIndirectChannels", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Percentage of net revenues through indirect channels.", "label": "Percentage Of Net Revenues Through Indirect Channels", "terseLabel": "Percentage of net revenues through indirect channels" } } }, "auth_ref": [] }, "altr_PerpetualLicensesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PerpetualLicensesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "documentation": "Perpetual licenses.", "label": "Perpetual Licenses [Member]", "terseLabel": "Perpetual licenses [Member]" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "terseLabel": "Plan Name", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921", "r922", "r923", "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "terseLabel": "Plan Name", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921", "r922", "r923", "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933" ] }, "altr_PowersimIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PowersimIncMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Powersim Inc Member.", "label": "Powersim Inc [Member]", "terseLabel": "Powersim Inc [Member]" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r119", "r401" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r119", "r677" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r119", "r401" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance", "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r119", "r677", "r695", "r953", "r954" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock ($0.0001 par value), authorized 45,000 shares, none issued and outstanding", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r119", "r601", "r765" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r864" ] }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Prepaid Expenses and Other Current Assets [Member]", "terseLabel": "Prepaid and Other Current Assets [Member]", "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromConvertibleDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromConvertibleDebt", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from issuance of convertible senior notes, net of discounts and commissions", "label": "Proceeds from Convertible Debt", "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder." } } }, "auth_ref": [ "r39" ] }, "us-gaap_ProceedsFromDebtNetOfIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromDebtNetOfIssuanceCosts", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Proceeds from Debt, Net of Issuance Costs", "terseLabel": "Net proceeds from issuance of costs", "documentation": "The cash inflow from additional borrowings, net of cash paid to third parties in connection with debt origination." } } }, "auth_ref": [ "r227" ] }, "altr_ProceedsFromEmployeeStockPurchasePlanContributions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ProceedsFromEmployeeStockPurchasePlanContributions", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Proceeds from employee stock purchase plan contributions.", "label": "Proceeds From Employee Stock Purchase Plan Contributions", "terseLabel": "Proceeds from employee stock purchase plan contributions" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r857", "r869" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from the exercise of common stock options", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r9", "r17" ] }, "us-gaap_ProductConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductConcentrationRiskMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Product Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues during the period from a specified product are to a specified benchmark, such as total net revenues, segment revenues or product line revenues. May also reflect the percentage contribution the product made to operating results. Risk is materially adverse effects of a loss of sales of a significant product or line of products, which could occur upon loss of rights to sell, distribute or license others; loss of patent or copyright protection; or technological obsolescence." } } }, "auth_ref": [ "r54" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service" } } }, "auth_ref": [ "r309", "r583", "r627", "r628", "r629", "r630", "r631", "r632", "r738", "r752", "r766", "r862", "r899", "r900", "r905", "r950" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service" } } }, "auth_ref": [ "r309", "r583", "r627", "r628", "r629", "r630", "r631", "r632", "r738", "r752", "r766", "r862", "r899", "r900", "r905", "r950" ] }, "altr_ProfessionalSoftwareServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ProfessionalSoftwareServicesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "documentation": "Professional software services.", "label": "Professional Software Services [Member]", "terseLabel": "Professional software services [Member]" } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net income (loss)", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "totalLabel": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r200", "r215", "r218", "r229", "r236", "r245", "r256", "r257", "r284", "r298", "r304", "r307", "r317", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r497", "r500", "r501", "r528", "r536", "r596", "r610", "r654", "r697", "r716", "r717", "r743", "r763", "r764", "r777", "r867", "r901" ] }, "altr_PromissoryNotesIssuedAndDeferredPaymentObligationsForAcquisitions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PromissoryNotesIssuedAndDeferredPaymentObligationsForAcquisitions", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Promissory Notes Issued And Deferred Payment Obligations For Acquisitions", "documentation": "Promissory notes issued and deferred payment obligations for acquisitions.", "terseLabel": "Deferred payment obligations for acquisitions and investments" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Long-Lived Tangible Asset", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r12" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "totalLabel": "Property, Plant and Equipment, Gross, Total", "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance", "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance", "terseLabel": "Total property and equipment", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r148", "r204", "r608" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 }, "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r12", "r597", "r608", "r765" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Summary of Property and Equipment", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r12" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Long-Lived Tangible Asset", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r148" ] }, "us-gaap_PutOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PutOptionMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Put Option [Member]", "documentation": "A financial contract between two parties, the buyer and the seller (writer) of the option, where the buyer has the right but not the obligation to sell a commodity or financial instrument (the underlying instrument) to the seller (writer) at a certain time for a certain price (the strike price). The seller (writer) has the obligation to purchase the underlying asset at that strike price, if the buyer exercises the option." } } }, "auth_ref": [ "r725", "r726", "r727" ] }, "altr_PutRightExercisePeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.altair.com/20240331", "localname": "PutRightExercisePeriod", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Put right exercise period.", "label": "Put Right Exercise Period", "terseLabel": "Put right exercise period from date of purchase" } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r817" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r817" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement" } } }, "auth_ref": [ "r359", "r360", "r361", "r362", "r423", "r424", "r453", "r454", "r455", "r580", "r581", "r633", "r667", "r668", "r721", "r722", "r723", "r724", "r728", "r736", "r737", "r744", "r751", "r761", "r767", "r770", "r893", "r903", "r942", "r943", "r944", "r945", "r946" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement" } } }, "auth_ref": [ "r359", "r360", "r361", "r362", "r423", "r424", "r453", "r454", "r455", "r580", "r581", "r633", "r667", "r668", "r721", "r722", "r723", "r724", "r728", "r736", "r737", "r744", "r751", "r761", "r767", "r770", "r893", "r903", "r942", "r943", "r944", "r945", "r946" ] }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail" ], "lang": { "en-us": { "role": { "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, before Tax", "negatedLabel": "Amounts reclassified from accumulated other comprehensive income", "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r36", "r221", "r551", "r556", "r558", "r612", "r865" ] }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationTables" ], "lang": { "en-us": { "role": { "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]", "terseLabel": "Reconciliation of U.S. GAAP (Loss) Income Before Income Taxes to Adjusted EBITDA", "documentation": "Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment." } } }, "auth_ref": [ "r62", "r63" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r784", "r795", "r805", "r830" ] }, "us-gaap_RepaymentsOfConvertibleDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfConvertibleDebt", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchase of convertible senior notes", "label": "Repayments of Convertible Debt", "documentation": "The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder." } } }, "auth_ref": [ "r41" ] }, "us-gaap_RepaymentsOfNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfNotesPayable", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Repayments of Notes Payable", "terseLabel": "Repayments of notes payable", "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [ "r41" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense", "terseLabel": "Research and development", "totalLabel": "Research and Development Expense, Total", "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use." } } }, "auth_ref": [ "r114", "r467", "r947" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense [Member]", "terseLabel": "Research and development [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r785", "r796", "r806", "r831" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r786", "r797", "r807", "r832" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r793", "r804", "r814", "r839" ] }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationReconciliationOfCashCashEquivalentsAndRestrictedCashDetail" ], "lang": { "en-us": { "role": { "label": "Restricted Cash and Cash Equivalents, Noncurrent", "terseLabel": "Restricted cash included in other long-term assets", "totalLabel": "Restricted Cash and Cash Equivalents, Noncurrent, Total", "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r44", "r174", "r233" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units (RSUs) [Member]", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_RestructuringCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCharges", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Restructuring Charges", "terseLabel": "Restructuring charges", "negatedLabel": "Restructuring expense", "totalLabel": "Restructuring Charges, Total", "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r11", "r353", "r354", "r894" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit", "totalLabel": "Retained Earnings (Accumulated Deficit), Total", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r122", "r154", "r605", "r640", "r645", "r652", "r678", "r765" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r195", "r239", "r240", "r241", "r246", "r255", "r257", "r322", "r330", "r462", "r463", "r464", "r478", "r479", "r508", "r511", "r512", "r516", "r526", "r636", "r638", "r655", "r953" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenue", "verboseLabel": "Revenue", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r285", "r286", "r297", "r302", "r303", "r309", "r311", "r312", "r418", "r419", "r583" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomers" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue from Contracts with Customers", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r191", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r422" ] }, "altr_RevenueFromContractsWithCustomersLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "RevenueFromContractsWithCustomersLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail1", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Revenue from contracts with customers.", "label": "Revenue From Contracts With Customers [Line Items]", "terseLabel": "Revenue From Contracts With Customers [Line Items]" } } }, "auth_ref": [] }, "altr_RevenueFromContractsWithCustomersTable": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "RevenueFromContractsWithCustomersTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail1", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Revenue from contracts with customers.", "label": "Revenue From Contracts With Customers [Table]" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Contracted revenue not yet recognized", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r180" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail1" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Revenue, remaining contractual obligation, expected to recognize, period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r181" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail1" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r181" ] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognize percentage", "label": "Revenue, Remaining Performance Obligation, Percentage", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r858" ] }, "altr_RightOfUseAssetsUnderFinanceLeasesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "RightOfUseAssetsUnderFinanceLeasesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "documentation": "Right-of-use assets under finance leases.", "label": "Right Of Use Assets Under Finance Leases [Member]", "terseLabel": "Right-of-Use Assets Under Finance Leases [Member]" } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r848" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r848" ] }, "us-gaap_SalesAndExciseTaxPayableCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesAndExciseTaxPayableCurrentAndNoncurrent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfOtherAccruedExpensesAndCurrentLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Sales and Excise Tax Payable", "terseLabel": "Accrued VAT", "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax." } } }, "auth_ref": [ "r109" ] }, "us-gaap_SalesCommissionsAndFees": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesCommissionsAndFees", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Sales Commissions and Fees", "terseLabel": "Sales commissions", "documentation": "Primarily represents commissions incurred in the period based upon the sale by commissioned employees or third parties of the entity's goods or services, and fees for sales assistance or product enhancements performed by third parties (such as a distributor or value added reseller)." } } }, "auth_ref": [ "r134" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r312", "r859" ] }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Components of Accumulated Other Comprehensive Loss", "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r36", "r937", "r938" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesExcludedFromComputationOfDilutedNetIncomeLossPerShareDetail" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities." } } }, "auth_ref": [ "r52" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Anti-dilutive Shares Excluded from Computation of Diluted Net Income (Loss) Per Share", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities." } } }, "auth_ref": [ "r52" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Computation of Numerators and Denominators Used in Basic and Diluted Net Income (Loss) Per Share Amounts", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r879" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table]", "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements." } } }, "auth_ref": [ "r84" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Summary of Stock-Based Compensation", "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement." } } }, "auth_ref": [ "r84" ] }, "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureOrganizationAndDescriptionOfBusinessPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Error Corrections and Prior Period Adjustments [Table Text Block]", "terseLabel": "Schedule of Changes Made to the Consolidated Statement of Income", "documentation": "Tabular disclosure of prior period adjustments to previously issued financial statements including (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustments (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made." } } }, "auth_ref": [ "r49", "r50", "r51" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in Carrying Amount of Goodwill Attributable to Software Reportable Segment", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r745", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892" ] }, "altr_ScheduleOfIncomeTaxExpenseBenefitAndEffectiveTaxRateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ScheduleOfIncomeTaxExpenseBenefitAndEffectiveTaxRateTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "documentation": "Schedule Of Income Tax Expense Benefit And Effective Tax Rate [Table Text Block]", "label": "Schedule Of Income Tax Expense Benefit And Effective Tax Rate Table [Text Block]", "terseLabel": "Schedule of Income Tax Expense and Effective Tax Rate" } } }, "auth_ref": [] }, "altr_ScheduleOfOtherIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.altair.com/20240331", "localname": "ScheduleOfOtherIntangibleAssetsTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "documentation": "Schedule of Other Intangible Assets [Table Text Block]", "label": "Schedule Of Other Intangible Assets Table [Text Block]", "terseLabel": "Schedule of Other Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Other Income, Net", "label": "Schedule of Other Nonoperating Income (Expense) [Table Text Block]", "documentation": "Tabular disclosure of the components of non-operating income or non-operating expense that may include amounts earned from dividends, interest on securities, gains (losses) on securities sold, equity earnings of unconsolidated affiliates, net gain (loss) on sales of business, interest expense and other miscellaneous income or expense items." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationSummaryOfPropertyAndEquipmentDetail" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "terseLabel": "Schedule Of Property Plant And Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of Amounts of Identified Assets Acquired and Liabilities Assumed at the Acquisition Date", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r158" ] }, "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationTables" ], "lang": { "en-us": { "role": { "label": "Restrictions on Cash and Cash Equivalents [Table Text Block]", "terseLabel": "Reconciliation of Cash, Cash Equivalents and Restricted Cash", "documentation": "Tabular disclosure of cash and cash equivalents restricted as to withdrawal or usage." } } }, "auth_ref": [ "r18", "r163", "r949" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule Of Segment Reporting Information By Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r59", "r60", "r61", "r64" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of Segment Reporting Information", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r59", "r60", "r61", "r64" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r426", "r428", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Summary of Restricted Stock Units Awarded", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r83" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Summary of Stock Option Activity", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r15", "r16", "r83" ] }, "us-gaap_ScheduleOfShortTermDebtTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShortTermDebtTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Schedule of Short-Term Debt [Table]", "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation." } } }, "auth_ref": [ "r24" ] }, "altr_SecuredCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SecuredCreditAgreementMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Description should be secured credit agreement. And custom label should be credit agreement.", "label": "Secured Credit Agreement [Member]", "terseLabel": "Secured Credit Agreement [Member]" } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r779" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "terseLabel": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r781" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "terseLabel": "Segments", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r281", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r307", "r312", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r352", "r355", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r745", "r862", "r950" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r280", "r281", "r282", "r283", "r284", "r296", "r301", "r305", "r306", "r307", "r308", "r309", "r310", "r312" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing", "totalLabel": "Selling and Marketing Expense, Total", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail" ], "lang": { "en-us": { "role": { "label": "Selling and Marketing Expense [Member]", "terseLabel": "Sales and Marketing Expense [Member]", "verboseLabel": "Sales and marketing [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r130" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 1.0 }, "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockBasedCompensationExpenseDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation expense", "verboseLabel": "Total stock-based compensation expense", "negatedLabel": "Stock-based compensation expense", "totalLabel": "Share-Based Payment Arrangement, Noncash Expense, Total", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period", "terseLabel": "Stock-based compensation recognized service period", "verboseLabel": "Weighted average remaining service period", "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r762" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Number of RSUs, Forfeited", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r447" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Number of RSUs, Granted", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r445" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Number of RSUs, Outstanding Ending Balance", "periodStartLabel": "Number of RSUs, Outstanding Beginning Balance", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r442", "r443" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted average grant date fair value of RSUs", "periodStartLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value, Beginning Balance", "periodEndLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value, Ending Balance", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r442", "r443" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Number of RSUs, Vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r446" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r426", "r428", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "terseLabel": "Number of options, Exercisable", "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan." } } }, "auth_ref": [ "r436" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price per share, Exercisable", "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan." } } }, "auth_ref": [ "r436" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value of options exercised", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r449" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Number of options, Forfeited", "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan." } } }, "auth_ref": [ "r440" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Number of options, Granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r438" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Aggregate intrinsic value, Outstanding", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r82" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Number of options, Outstanding, Ending Balance", "periodStartLabel": "Number of options, Outstanding, Beginning Balance", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r434", "r435" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted average exercise price per share, Outstanding, Ending Balance", "periodStartLabel": "Weighted average exercise price per share, Outstanding, Beginning Balance", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r434", "r435" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price per share, Exercised", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r439" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price per share, Forfeited", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r440" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price per share, Granted", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r438" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate intrinsic value, Exercisable", "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable." } } }, "auth_ref": [ "r82" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted average remaining contractual term (years), Exercisable", "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r82" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted average remaining contractual term (years), Outstanding", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r156" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Percentage of purchase price for each share of common stock purchased of lower of fair market value per share on first day of applicable offering period", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "altr_SharesFairValueReclassificationsOfTemporaryToPermanentEquity": { "xbrltype": "sharesItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SharesFairValueReclassificationsOfTemporaryToPermanentEquity", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Shares fair value reclassifications of temporary to permanent equity.", "label": "Shares Fair Value Reclassifications Of Temporary To Permanent Equity", "terseLabel": "Remaining mezzanine equity" } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Significant Accounting Policies", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r142", "r234" ] }, "altr_SoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SoftwareMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Software Member", "label": "Software [Member]" } } }, "auth_ref": [] }, "altr_SoftwareRelatedServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SoftwareRelatedServiceMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Software related service.", "label": "Software Related Service [Member]", "terseLabel": "Software Related Services [Member]" } } }, "auth_ref": [] }, "altr_SoftwareRelatedServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SoftwareRelatedServicesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "documentation": "Software related services.", "label": "Software Related Services [Member]", "terseLabel": "Software related services [Member]" } } }, "auth_ref": [] }, "altr_SoftwareSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SoftwareSegmentMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Software.", "label": "Software Segment [Member]", "terseLabel": "Software [Member]" } } }, "auth_ref": [] }, "altr_SpecialAdjustmentsInterestIncomeAndOther": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SpecialAdjustmentsInterestIncomeAndOther", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureSegmentInformationReconciliationOfUsGaapLossBeforeIncomeTaxesToAdjustedEbitdaDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Special adjustments, interest income and other", "label": "Special Adjustments Interest Income And Other", "documentation": "Special adjustments interest income and other." } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationScheduleOfSegmentReportingInformationDetail" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "terseLabel": "CES [Member]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r199", "r281", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r307", "r312", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r349", "r352", "r355", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r745", "r862", "r950" ] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r192", "r210", "r211", "r212", "r236", "r263", "r267", "r270", "r272", "r278", "r279", "r317", "r364", "r366", "r367", "r368", "r371", "r372", "r401", "r402", "r403", "r404", "r405", "r536", "r648", "r649", "r650", "r651", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r677", "r698", "r718", "r729", "r730", "r731", "r732", "r733", "r855", "r872", "r878" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "terseLabel": "Equity Components", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r14", "r34", "r195", "r220", "r221", "r222", "r239", "r240", "r241", "r246", "r255", "r257", "r277", "r322", "r330", "r406", "r462", "r463", "r464", "r478", "r479", "r508", "r510", "r511", "r512", "r513", "r516", "r526", "r551", "r553", "r554", "r555", "r556", "r558", "r577", "r636", "r637", "r638", "r655", "r718" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitionsTables", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r239", "r240", "r241", "r277", "r583", "r647", "r666", "r669", "r670", "r671", "r672", "r673", "r674", "r677", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r690", "r691", "r692", "r693", "r694", "r696", "r699", "r700", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r718", "r771" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitionsTables", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheetsParenthetical", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "terseLabel": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r239", "r240", "r241", "r277", "r583", "r647", "r666", "r669", "r670", "r671", "r672", "r673", "r674", "r677", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r690", "r691", "r692", "r693", "r694", "r696", "r699", "r700", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r718", "r771" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r788", "r799", "r809", "r834" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesAcquisitions", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock for acquisitions (in shares)", "label": "Stock Issued During Period, Shares, Acquisitions", "documentation": "Number of shares of stock issued during the period pursuant to acquisitions." } } }, "auth_ref": [ "r119", "r120", "r154" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Issuance of common stock for employee stock purchase program (in shares)", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r14", "r119", "r120", "r154" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Vesting of restricted stock (in shares)", "totalLabel": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures, Total", "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited." } } }, "auth_ref": [ "r14", "r119", "r120", "r154" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "terseLabel": "Exercise of stock options (in shares)", "negatedLabel": "Number of options, Exercised", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r14", "r119", "r120", "r154", "r439" ] }, "us-gaap_StockIssuedDuringPeriodValueAcquisitions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueAcquisitions", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock for acquisitions", "label": "Stock Issued During Period, Value, Acquisitions", "documentation": "Value of stock issued pursuant to acquisitions during the period." } } }, "auth_ref": [ "r14", "r34", "r154" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock for employee stock purchase program", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r14", "r119", "r120", "r154" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "terseLabel": "Vesting of restricted stock", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r14", "r119", "r120", "r154" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of stock options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r14", "r34", "r154" ] }, "altr_StockPurchaseAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "StockPurchaseAgreementMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Stock purchase agreement.", "label": "Stock Purchase Agreement [Member]", "terseLabel": "Stock Purchase Agreement [Member]", "verboseLabel": "Stock Purchase Agreement [Member]" } } }, "auth_ref": [] }, "altr_StockPurchaseProgramSharesAcquired": { "xbrltype": "sharesItemType", "nsuri": "http://www.altair.com/20240331", "localname": "StockPurchaseProgramSharesAcquired", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Stock purchase program shares acquired.", "label": "Stock Purchase Program Shares Acquired", "terseLabel": "Number of shares repurchased" } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Shares authorized to be repurchased amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "altr_StockRepurchaseProgramAveragePricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://www.altair.com/20240331", "localname": "StockRepurchaseProgramAveragePricePerShare", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Stock repurchase program average price per share.", "label": "Stock Repurchase Program Average Price Per Share", "terseLabel": "Stock repurchase program, Average price per share" } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Remaining Number of Shares Authorized to be Repurchased", "terseLabel": "Stock repurchase program, Repurchase Shares", "documentation": "The remaining number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan." } } }, "auth_ref": [] }, "altr_StockRepurchaseProgramRepurchaseAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.altair.com/20240331", "localname": "StockRepurchaseProgramRepurchaseAmount", "crdr": "credit", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Stock repurchase program repurchase amount", "label": "Stock Repurchase Program, Repurchase Amount", "terseLabel": "Stock repurchase program, Repurchase amount" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAccumulatedOtherComprehensiveLossComponentsOfAccumulatedOtherComprehensiveLossDetail", "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfChangesInStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "TOTAL STOCKHOLDERS\u2019 EQUITY", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r120", "r123", "r124", "r143", "r679", "r695", "r719", "r720", "r765", "r778", "r874", "r881", "r936", "r953" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "STOCKHOLDERS\u2019 EQUITY:" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event [Member]", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r559", "r579" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r559", "r579" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r559", "r579" ] }, "altr_SummaryOfOtherIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SummaryOfOtherIntangibleAssetsLineItems", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "documentation": "Summary of other intangible assets.", "label": "Summary Of Other Intangible Assets [Line Items]", "terseLabel": "Summary Of Other Intangible Assets [Line Items]" } } }, "auth_ref": [] }, "altr_SummaryOfOtherIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SummaryOfOtherIntangibleAssetsTable", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "documentation": "Summary Of Other Intangible Assets [Table]", "label": "Summary Of Other Intangible Assets [Table]", "terseLabel": "Summary Of Other Intangible Assets [Table]" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowElementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowElementsAbstract", "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Elements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow:" } } }, "auth_ref": [] }, "altr_SupplementaryInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SupplementaryInformationAbstract", "lang": { "en-us": { "role": { "documentation": "Supplementary information.", "label": "Supplementary Information [Abstract]", "terseLabel": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "altr_SupplementaryInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.altair.com/20240331", "localname": "SupplementaryInformationTextBlock", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformation" ], "lang": { "en-us": { "role": { "documentation": "Supplementary information.", "label": "Supplementary Information [Text Block]", "terseLabel": "Supplementary Information" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r828" ] }, "us-gaap_TemporaryEquityCarryingAmountAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquityCarryingAmountAttributableToParent", "crdr": "credit", "calculation": { "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Carrying Amount, Attributable to Parent", "terseLabel": "MEZZANINE EQUITY", "documentation": "Carrying amount, attributable to parent, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r364", "r366", "r367", "r368", "r371", "r372", "r465", "r603" ] }, "us-gaap_TemporaryEquityRedemptionPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquityRedemptionPricePerShare", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Redemption Price Per Share", "terseLabel": "Put right, exercise price", "documentation": "Amount to be paid per share that is classified as temporary equity by entity upon redemption. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r20", "r77" ] }, "us-gaap_TemporaryEquitySharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesIssued", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Issued", "terseLabel": "Shares issued", "documentation": "The number of securities classified as temporary equity that have been sold (or granted) to the entity's shareholders. Securities issued include securities outstanding and securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r118" ] }, "altr_TermLicensesAndOtherSoftwareProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TermLicensesAndOtherSoftwareProductsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfDisaggregationOfRevenueDetail" ], "lang": { "en-us": { "role": { "terseLabel": "TermLicensesAndOtherSoftwareProducts [Member]", "label": "Term Licenses and Other Software Products [Member]", "documentation": "Term licenses and other software products." } } }, "auth_ref": [] }, "altr_TheTimingOfPayrollDeductionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TheTimingOfPayrollDeductionsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "The timing of payroll deductions.", "label": "The Timing Of Payroll Deductions [Member]", "terseLabel": "The Timing of Payroll Deductions [Member]" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r820" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r827" ] }, "altr_TotalSoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TotalSoftwareMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Total Software [Member]", "documentation": "Total software." } } }, "auth_ref": [] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureGoodwillAndOtherIntangibleAssetsScheduleOfOtherIntangibleAssetsDetail" ], "lang": { "en-us": { "role": { "label": "Trade Names [Member]", "terseLabel": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r92" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r847" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r849" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "terseLabel": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r850" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r851" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r849" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r849" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r852" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r850" ] }, "altr_TwentyNineteenCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TwentyNineteenCreditAgreementMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Twenty nineteen credit agreement.", "label": "Twenty Nineteen Credit Agreement [Member]", "terseLabel": "Twenty Nineteen Credit Agreement" } } }, "auth_ref": [] }, "altr_TwoThousandAndSeventeenEquityIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TwoThousandAndSeventeenEquityIncentivePlanMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfRestrictedStockUnitsAwardedDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfStockOptionActivityUnder2017PlanDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Two thousand and seventeen equity incentive plan.", "label": "Two Thousand And Seventeen Equity Incentive Plan [Member]", "terseLabel": "2017 Plan [Member]" } } }, "auth_ref": [] }, "altr_TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Two thousand and twenty one employee stock purchase plan.", "label": "Two Thousand And Twenty One Employee Stock Purchase Plan [Member]", "terseLabel": "2021 Employee Stock Purchase Plan [Member]" } } }, "auth_ref": [] }, "altr_TwoThousandTwentyOneAcquisitionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TwoThousandTwentyOneAcquisitionsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Two thousand twenty one acquisitions.", "label": "Two Thousand Twenty One Acquisitions [Member]", "terseLabel": "2021 Acquisitions [Member]" } } }, "auth_ref": [] }, "altr_TwoThousandTwentyThreeAcquisitionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "TwoThousandTwentyThreeAcquisitionsMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSupplementaryInformationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Two Thousand Twenty Three Acquisitions [Member]", "label": "Two Thousand Twenty Three Acquisitions [Member]", "terseLabel": "2023 Acquisitions [Member]" } } }, "auth_ref": [] }, "us-gaap_TypeOfAdoptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfAdoptionMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureDebtScheduleOfNetCarryingValueOfLiabilityComponentOf2027And2024NotesParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtAdditionalInformationDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureDebtScheduleOfInterestExpenseRecognizedRelatedToConvertibleNotesParentheticalDetail" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update [Domain]", "terseLabel": "Accounting Standards Update", "documentation": "Amendment to accounting standards." } } }, "auth_ref": [ "r193", "r194", "r195", "r196", "r197", "r245", "r246", "r247", "r249", "r258", "r315", "r316", "r319", "r320", "r321", "r322", "r325", "r326", "r327", "r328", "r329", "r330", "r350", "r462", "r463", "r464", "r476", "r477", "r478", "r479", "r492", "r493", "r494", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r525", "r526", "r527", "r528", "r529", "r534", "r535", "r538", "r539", "r540", "r541", "r560", "r561", "r565", "r566", "r567", "r568", "r573", "r574", "r575", "r576", "r577", "r585", "r586", "r587", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645" ] }, "us-gaap_TypeOfArrangementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfArrangementAxis", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative", "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r496" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r846" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r56", "r57", "r58", "r176", "r177", "r178", "r179" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average number of shares used in computing net income (loss) per share, diluted", "totalLabel": "Denominator for dilutive income (loss) per share", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r262", "r272" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average shares outstanding:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail", "http://www.altair.com/20240331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average number of shares used in computing net income (loss) per share, basic", "verboseLabel": "Denominator for basic income (loss) per share--weighted average shares", "label": "Weighted Average Number of Shares Outstanding, Basic", "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r261", "r272" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareComputationOfNumeratorsAndDenominatorsUsedInBasicAndDilutedNetIncomeLossPerShareAmountsDetail" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Denominator:" } } }, "auth_ref": [] }, "altr_WorldProgrammingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.altair.com/20240331", "localname": "WorldProgrammingMember", "presentation": [ "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureAcquisitionsTables", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureSegmentInformationReconciliationOfUSGAAPIncomeLossBeforeIncomeTaxesToAdjustedEBITDAParentheticalDetail", "http://www.altair.com/20240331/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "World Programming.", "label": "World Programming [Member]", "terseLabel": "World Programming [Member]" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a),(b),(c)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(i),(j),(k)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(i-k)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(27)", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-10" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "20", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "55", "Paragraph": "63", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481620/480-10-55-63" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "720", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483384/720-30-45-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "40", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-4" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "40", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//220/tableOfContent" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r136": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r137": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r139": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r140": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r141": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r142": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r143": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r144": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r145": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r146": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r149": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r150": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r151": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5" }, "r152": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r153": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r154": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r155": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3" }, "r156": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r157": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r158": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r159": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r160": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r161": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r162": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-3" }, "r163": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r164": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r165": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r166": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r167": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r168": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r169": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r170": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r171": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r172": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "SubTopic": "210", "Topic": "954", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "326", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-3" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "326", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-3" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-4" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(2))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//250/tableOfContent" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-6" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-2" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147477123/405-50-65-1" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.E.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-11" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "808", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-5" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-5" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-5" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-21" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "832", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "832", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r719": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1" }, "r730": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r738": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r739": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r740": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8" }, "r741": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r742": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r743": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r744": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r745": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r746": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r747": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r748": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r749": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r750": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r751": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r752": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r753": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r754": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r755": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r756": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r757": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r758": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r759": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r760": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r761": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r762": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r763": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r764": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r765": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r766": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r767": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r768": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r769": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r770": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r771": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r772": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r773": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r774": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r775": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r776": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r777": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r778": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r816": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r818": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r819": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r828": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r829": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r830": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r831": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r832": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r833": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r834": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r835": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r836": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r837": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r838": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r839": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r840": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r841": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r842": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r843": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r855": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "55", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r884": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r886": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r887": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r888": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r889": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r890": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482047/420-10-45-3" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-27" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 76 0000950170-24-052198-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000950170-24-052198-xbrl.zip M4$L#!!0 ( -*#HEBQ8G0BE)\! %D9'0 1 86QTE5G^-P5 _Z/_^- M;.*_5;'O!Z'N?_KY;]L'KW=W__9_?OE?/_UOA*HW;W?WJKWX9[7MQ_7G^*8> M^=Y@-!G&ZH>#WWZL=ON]NA^K__IU_UWU9N G)[$_KE!U/!Z?;KU\^>>??VZ& M5/='@]YD#.\:;?K!RF?5V[IO^[ZVO>I@]M(-&*7? MK+9[O6H_?VM4[<=1''Z.87/ZS.,Q3 =,27_T\XM+(_^3;0Z&GUX28\S++_F> M%].;MKZX82_4%_?F/YL[*<;RY?3BE5O'-]XJIK>.+]]:7QG Y;O92YC&,9 6 M9_?#Q/]QQ^WYLK.CB]N_7+O_"GWYZNS6^LMMSR5Y&)GCF>&SV_N#_AXP?EC[ MF[\6QL.7X[/3^!)N1/WIG1>C&M4WC0DH("__Z[=W!_XXGECT+>DA?C/[H^@W M/PT^OX0+\%W*9C=.1NB3M:<7-R<[#3@EZBX63.^8?2'ZG8POXYL'>]=;\^@I(G+VD-%P?'WJX<,K;[*]\?#* MJ^ #6P\;4Y%U&[.O9$R^N?4R>\Q+N/KBE_]5_70<;8"?U4_C>MR+OQ",?O_I MY?3W_.E)'-O&0J'XKTG]^><7KP?],=@M= @\>%'YZ5\_OQC'+^.7C=Z_S$]] M>?[8G]P@G%6C\5DO_OSBQ X_U?VMRD[&@_]=GYP.AB"HXU>G-F1CNE7ITR^O M7C1O#?7GV9="/3KMV;.L.!&N_E1_VV18L2F M*!,B6BO$B<'(J620DQB[0 DV5K^H^O8DOR766S.3_!;,MNU]@"<-PEOX;'1. MYI?Q?DPP 4>&<66E]<@R;1&7T2 MI$64)\MDXIP[_.*7W\E/+Z\,Z^91!A*Y M3I0@9JA'G#.)-.$1.292HECS*./E46[#$$,SS)[]]+B1)=L;Q0<-#I,D4^0, M!2TIX@D$U@GGP.\0I[!6,L9P>7 [?9"QQ@\1@U13\ MS^B#1LJ,BR9HCJAV!G&K&+)4PH1&*IS 1$IC+X_T]60XO.#U/Z,=[O1#=JR/ M&RQ"A((!N66D;X?6-YY[.E1AA%6!:03$8<1%XL@Z \Y<1F>-XN 8+^3RW/1N MO1ZDTWHIA*<:66$BXDH*&'N*2%AJ5(Q2*P/3QX V8C%&]U:][H,C#200=OGGH,!LN6 'VTI,$0R<,Z2043+H! MJ@@+8(&>,'2J*4G8!&2L$S#9'B8[:8$\MJ B)CI.\0.&_O*J81C&%('7/HY^ M^2E[[JU1XRCA$57CR;>R._GYQ0@L4B][S>:SXV%^0S:W:&97-[^,PNSQEY_9 M_#D:3(;-7TUDLG5.5S-MP!(B, T&1-))8$FR#IG$'5(:\^@"P4KZ%[.OQD:' M9G_5(?^=ZCBLFF''&[W;Z]W_N*HQWWYY]KA1_)0Y,?TSP,N^G/9J7X]_BR<. M7A%JN-H$NA?L^]7VO%+GIRM;>\'$V#M?O2Q_FQ= M+^[%\;ER31_ZT\L;W_7+;) 70WIY$_VGC1F^F(TFMAG_,@U^6:-R5Z_,_IY] M[^45?MS,'HXYTU@GY"4)X"@\1R: ,59.,BTMQCS$KK)G^T\[#-D73WDR^QB" M]C%8H'$,!^.!_^,CJ,QH_^#C/1QY\%L_@$SL@99?$H3#/P>'QX/)R/8#J/E! M_ QTQ-C?@:AA? :8(I/Z.>8OSE4LV,P2/UTLM!<8IQA1= (<"8X).1LT4CRI MH,%0:V>[*A9OHAOO NW#)J*YPB;X^VP/HM+,'<"4H1YO?QK&>+)$"@NNWG,K M,&(\I*F?<((&1).T@0C@$E-=XPQ$\EO[%CS?E!GYS]_LE_ID M<0I(+@>#-[RZ&5/[P@ ,'XYS='\N#@3^OWC.Q;4+MH5+MUZ6G-F5QTB.H)'Q M1.")7DF(,<"M:(D-BE9K[$@2(IBN2LZ'X0!('9]E31V#/F=.GN9G_'IV/?+X M=5+W,IR'^V:_[IZ<#@>?&R$8+8OSMY*#^Y<:"9T(X$EXMC880P2@ :!0 @BN M?0KP*DS\^/WP( X_U_ZR43X8I#'8ZK@?>S8'AM,;YL"1*^K&'JYNK#UU MBTP*;2U#R@L(Z0W\8X"?R";E@M"$4=99Q/5 BPG(:W(R:5CY?GP >G,2Y*AMM3]F\HHE0H1&G$&1S120R$E[ (Q-2!N4=[RP >UL#MHKO M8,[#;A]FX%,-&'A[-(KCT:]GO]G_'@RGX=85WC4,^_;V93&-D2I+-%-@$%-$ M7&N&+#,!)9JLU2*)2%W7N#7_Z/M1Q7P^&>X-Q'+V9 M@/F]A("F\.?M8#)LL- WGS>9DI5D>31YB8 $8+D"T\Z]1)H;CBAG)!C,+?-X MI5F^NJPE FM@HD/<.0X.VQ((KY1')*H8A>?,BA4*K][$5/=C^#7VX9=Q1D&C M[?#?8+KGGC-KT6LGZCPF1J D& !0!0X;(F&&N*1"D$"3C)TUP%V.B#L =KB4 MF!.-$7->(<[ VAH.,70 OD8NO0RB<^G0UGWK2MI9J8)D$0-GM8=0FW.)' X! MJ<12)(D)9SK+V0NE_74R O,Y&AU,'S&ZS.1>G;4:@N5^A&GI?YHE)<[O74VF M4NMDHA(EDXLJI%8Y%!9@CH-B.%*LG.X\4^^VQ/MQ;+/+W+'#/G!U-2%-TL%1 MJ@ '8V$0)P!NC -(8S2VCC$A6$I=Y>,V/"'4N>;S,YA7/QG6XSJ.=K[XWB3$ M\'8X.,FLG8P;5/H^S?CX(0X/CNTP_GIV\P-NL=_Y*RN:9Q0""^TY2LQAQ W6 M.:J"0#@Y(J)A (!H5V6@,[H\GX 7BP -'HDA0*,0G5$VMF (J-*!A=EAS'* M@U91PPPP;'LP:J/ZFXK# M_QS 8\! ?AK:DQ-P2"NI44(Y+BSX0IH _7'**0 _[U%('J ")D9%UE7VK45Q M8 I8\EPD:ECDV>0Y '$)_O$R<1^TE*ZST<4:5P+-21B\%)JKA+""*(9G;&^2 M$"AR9I0@)DG>.11P>['(C!&_0=@_CGF'X+S3IHO![XHFJP1CX"+S;@/L'7+1 M)90H\8%)"&IB9_,PWU62]2[:43P>],(R%F(]; /.?+FT'/(L\^8Q"58H8 LS ME>MIG(FY+D,%L$'),][9*'QI2@Q;#-&ELDHZ JPBFB#.I880G3-DE X<1Z,- M$UWE5Y=7Y.:T&X11(T4 &.6Y0EPQB2QU#$G-;6#),$ZM!L+;X60 B6F#(0Y7N<\HT+2QB@$N/BFQM6DGO.>R&,%D@$ M>#W'(N_ELBR7H@<5])C]!8=#&V*.ZI8FW:.X\X3%@ 3/'48< M5L@D1Y#T)@GN,?7=70M>@HJWQ81L1! !\75NR6.;ECP2Z<0U(MA%#AXR,M/9 MS-2"=M5W;K&D-0R&J7)8.HZTRKDO%CB$A!9 NH\Z)@PHG2Z;&SV,PY-W\%%_ M%'./H\:KSK#8^==6$XMI0J4,#-C(14ZS8(J,L2:G64Q2G& BEM5:7V1C>KTI M/\^OKF1P9)7WQC*#I)'@=5F4R!#C4 #XYL E@QON[ ;5U.8TMC(!9F1N0P.)#.ID,?RM\0&NQI>Q]L#2'R:WM:CVUO)Y6&9 S M8'Y5PM+F*N78/7O;T2WTS]1*H0-"PY20@*($BL+GFD#GD!;)(Y_[AN*\$T5W MKN_",S8)6RIHU0%Q\CJ&&$1N:MA$[,XCE[V4IM1B$7/(T/V8H%.Q^X(PF+;1 M"IZ0I"Z7_7B*M$T)"1>E$2PFR3I7*MQ17_(F?HZ]P6D,A]$?]P>]P:>SZ2$( M71*<*ZG6IPB.2<$X'^'-DH _T2QO&X\8*>[!H;"H!2-=$YQ2PMP%DY.LT"E% M@XS-6^N\T4@K19'UQE'NI94T=%5RUJ+.19J(I5(* >8'E"B$09IQ@Z*T'-"A MHCQV,L?ZK4\ (UY\PG/Z!"X-Q4([Y$3V"2Q(9*44B-$HL">$8MG9E9KOJXD' M95^6-5'PQ9&%J! S\$QNM45.*XDDZ+)5D6C.%J3-^>2$<#M']K,IG<3]>&+K MO'?\0QPV)^" 27WO>O6G9JOLSI?3F*L:#^N\FR]ODQW7HS0]=N)@)O53YOTT MGP=OAD%^SKD-YHW6S?=-%S)W:0([Y#Z,%CF_J%$">X"XB1)I82RBD2>1L\4B M=G99Y]82NZ9+10Q+VO)>$\V$#QS1YE07&W/*5PN4L"+8,.\5Z1S**TOHGH:ZP3!"G&0JY+P"7@B,=E47*4(C2D_)A.82F M VF_10C-8N"=2$13$3"R/",)(6)N5Z519,93*@AQIOM-0#O0J*7-;NJ!.^IR M%I;E?84RY+[JRB'B@2/ ]#F6VU,9B4+"5%-K!(F=[4;^(*;F<[KMT!\#5\]SEDV4O<(L59PZ MPQ1!/JD&!CGD''8HD:@83S("4[O&TOMV<\;A:1Q/;&]63KR2C N!6$( \$0G M\O($M\A2X*,EAEL=0G*RLWOIEV(+9YL!"B/6A-8*^\!E9Q=8YJFE;0O7<^7VVSQB5@H'3,.(A-Q5GO-\Q&P$4ZYEDL$* M:\K)A4]VMZUQBVDE:=)@D7GF5LZE0:P419CJH9R(Q.3B,13*#<1FM39SW @](1!['7F_;H^\T._XAC^'V5W:Y$78Z[%[-.0BDS+F]/%[8Y_1G;7."J M$(:@#<= )76=+8/KV@+[G!QO$ $[ +91Y+9^GDAD$X.G8\XCMSH&U;EZF/M; M+I]G_5;30D8MO890R5 M#QO=]1$:J0M$RYZ(S7N[(D$"ZI@ZG"N\;) 31O& M/4B@ONTM][0CA0V7 )01D1SP$5: E')'?AU3LBJG+%/G8N^+%;BAS0XUR]7D M6>B]!.N^B]FKY*1(-/>=M,P(Q&.*R#$=$=4\D81="*1SO1*^ MIZ'8UYZOJ]L_S%I"J'8.1:US3LP;Y#A@Y\2-4)XR!_%ZUWAX7\NHP?AKO]Z5 MC/>P$BX0X7.=>D*<6E"\9")2 *&"$!( 5F>M:9<[4V\ M5)DDG,2(*0/ EV.+G!($:6ZUU(%1HN?.Q^68*<5XM%H(E"@-@.A(WG?6 MG&9OF<*6>]G=(UO7>)-3!R2':Y9^'&U;)?5>*\VX"HCH MA'/'0H< 1Y114%F\\)ZVSU=3F/IR. 4N2>EP!,C&8 **U3R 06$*,"8T:3 MP:*SA:@EYWJ;X\84L!8B0:30&4^599TO!.P-RYK/$RO,B M"F4>20WA%(^ 8 PQ!(%GI1!A.<939Z/QLK[200/N?9(TQ^>*)(C&,!9@RJ5! MS!D*TF43(9W=??IL&<%[1_3HG??+Z2!TC(0H29&4'KR^SF=K:P)2:2..D>DD M^;+E_A=X9-]B%!_<1<@)'.1R^,95I,CJ0)&A0D>1-WV)SG8N_OZ:YF<^7F ^ MR6?KI1 ^9YN;?D-*0EP&\!D)2XV*46KEYEY;_'YMS067]V4LU*FIQD&1<*; R.P>7MWGRZGD5,U!S[)'SW MVBJ4GCJ+CC4L$9@+AZC/1U/E#OO6*(V\3")ZZZ*,W:\5Z>#>FP[8 Q-4/MY9 M(R-)S@F[!*QE"@)*P[5S23+2.9.^!!7=+3I=1S&S.'FPTSH7:AF&K/?3+AU4 MFTA,Z&R*N.L;GN;#,>P])4E&%/(AW#SDA"P5 A'OI2+,:XP[N^C6[3U,BW%_ MGN&H&(1+R69^>HA]==Z):GQ4Q#!#9>CLKI=M>$*H>Y.\ M)T>@53&$<[7WQO M$F)X.QR<9+,Y&3=RH-"XWEHT1 MXF;%+++!B&*(3-@@L MYK\%8F'K$Y1%*?/919@S$-7D(W(N6@02"E,"(;O&G8O6[T'IO]D:*.SG[N(7 MY\BN!SHYS+$VMI +O8!&2L [61WB"= M(%#VV.I$372@4UV+M=H[@B9Y1O(A@X):@(9"YO09X'T1VL_=>!L.QCP$DQ>6=&LP@EQA!3@OG#8^:I<[68G8Q<&_33Q$F&3$, MO%/N7AZSG\K'>N(@,4^2$VL[9ZJ70>OFXUB]MU0*P5$@N<["Y1QZP@[1O%XE M$TLZ=99;G>WP.1]6<2F(,&!%KT"Q41))HZ86P/(3.(N+22>;NZ%8D M19,!,"QT;L>*00DY0\IJHAQ67';WO+NR>ZQE_RF8#\)1B[ @>54SHW$5#$K! M$F.$9+Q[5"V8HTY1TME?G M_->YK^Q)>7_:Q&K]L%X[53!$!(+("*#)R%S9$I"AG* D#'8!?("6RY>YF"KJ M'F#:O&MT[N?@=H"-/@ 6UHFAW+(5V,C E6L&;%0J)4XH&(+.N?*ELLIMQEU1 M,JPHYHA2EYM\Y0,M85*1P<1K[ 6$X9VSRIU=SE],\,5$, );@W*_C=Q ,2!G M/0=F1NNQIBZD[B_GKU__ECGE(5,TS.3,EO1@?(D$5998(^*B#28"OL:=-;Y= MZBC69@:+:Q%-PHAY"'$_NZ5V?EN;Z[:24- MK%;$R: T"L&!695.(BUM+N?03%BC?;#=WTBYUHFJ%NL?L4^)1D"P/@309F[U M-+J-DDB2L% >=VZ+V^/*1B">71:O9Y5UVAB/$H/8E0M'D,76H6@"Q5'K? ;? M4C.EL;IO)\-^/9X,X\4M\]M,.J?=1BKWG3)Y]<;F,Y[SP4$=OQU7A#J:S:C-:7Q DMP8%*VV+)>RZ.Y6JRY)$4.+QI1' M%TDR 0EN M'3K58S&!6;0!!ZX\"[B+%*D:7((_"LG6M $#K:K3%VB#D@MAK!2)4F$DBA2 M[A"/0B"7 (:*B 5+!F/=W9Y5]V^J_C",IP LSO.,%SGEU\NXQYHXQHR2'C&3 MSP3A B.K74+4L, C$8'2SC4+N9]3C>W<]GXP :>V'WVL/UO0N[TX/F?2LK#' MIA =@>&0%L$AC)/27)+$NM=ZJBO'>2_JQ"4CE,(!&45QO'$]F:K:"O).&R4L<1K9'0^-CM&#(R3!B6=%SZU MXLF7I94%(9ON9-4U$]%Y@TBB&,"F@E!4>HP\D]9%T&X=.NT'%N,EI MAD5$2I"0.V [9$';43"."(>ML;2S>QB6(#9M4=F4,DE*D1!/,7=RX1O@1+%2VF6XPV7AO@>1 MY]W7DJ7IR;V@S"9ISH(.G=7G4T[ZWH?SJ=I9!^'E]DTOXKM^7 J"&)M/BW7Q+(:?0^;9\ 8=Z^&?1Z=CAJ MH.W%JT+]&;A]^1%[$"X-[7@P_'8T]6C *5%;'P_>W#6<:]_/'[Z)_<%)W;_I ML><<;8Y:N^NY5Q[Q\NKH[YZ-Z;-OF=W[7WS#$W-8:7N]VX7@T@W?R[J#-]<> M^<"9_^6G^LO6\-+Y9E6O[O^Q/^A=5?[\A4@RB.KMD5)>LEQY MZ96(^: BC4PR$@D)6-(G> H7+U["A#23,(*XW%/4_5-!Z=;>'HMV9.Z=[9U"+9Q5.W%/ZO]P8GMSVX\?Q)^ MY09#&-S%DS?%Z;@*@PF$EZ^R^4&V5W_J;_5B&N>AC4YM?S:H/X]!RQ%\XN/6 MZ3"B/X?V]-*P^&R0MPT$1O%G'<;'6ZD>H\;:]?,[_OTOP*=7/[W,KX*Y.+TZ M$[>3?>_[OB'\$G5YWV$[CSICHXW#[<.9A-0P?&57T_2[Y/$KO*D(.=UQ_W=P]W=PZJ[;TWUX331Q+^GQ9<3O_3>-#?J-YLOMZL*!;8VJ1_??5\YAZ,_6C0J\/LOF%#R'6 M6V\&ODE^9FS7/SIY7CX[6O.X_?&,_P) MPT5N&.T?6\V_*']P\]1?8E]#Q U#FTE:,W\P'2HCA&;QP-O>^7=!R"XDF+4OU^\0.09%Z9_OQ=# < U(<#$_L M^.<7]9=SZ43CX:0-8W8[_#&*RU?W&RF0Q/ \ D/G+3!MSM_O'[?W#W?VW_VS MVM_Y\'[_L/KP877XOH)0_A#B]8JPZOU^1<0/X%"4L2UB5XP$8-R;5F;#PTY.]-% MKZNV)L GZ 3>C;DQP7B^XSPG<_/&C(\!KWGI[ M6-O>_2:K [.U ACQL7F%]_L=3G)< 0/MQ?XETE_)2#\O\F"G-;@["QZ7Z!&Q_IVA/2^A_6-CY,/][;V#W2: M+[%]1[S64V/[\84:SH+[O#;;6FC1D!^B'PR;5>FM"2"'8:_NQU:"CF_^ZU(\ M-!YT:31=&LMM7%O>R/&Q4Y&WZM6C7#=5O:TA3 -/Y.)P:TZ(SDIJA7 >X5Q% MP6WR2+,4$ ZD4_MRJ>)/-6Y[S2%6)F8*2W=F&>,"6*:2C8'X/9<.*JL@K0. M0&7;9N3KJ^@C=310$Q.A$7EG&.@HSXN"E"&IO/%416_DDQ<%ISJZ'S_5H^S\ MQWE#2JMZ>B_QM_%P^]WA]NY^M;/W]]V]G9W]W;V_5[M[KS>?36L?/?"E+_IX M+.$_['RQ?MP(5S5(U?!"J"H[JD:GT>CRI_W.21?RSV=BWM[:-% M_HG0MJRN'V]Q]+R%T?Y@V)E!O*7Y_/L-[BGU6RN9,$Q=()2UXY]SJXCAZ3EL;BKY7^?NG\.SUX-P=:D*C:+/ M>[S&\70X^)R?T\H:U6T*\2;V;-Y$\\@LVC=\GC+B%M:J7 S="F]O*I]^0B+Q MQH32\DFS!V%667R)([DKF0A(YV.=!2="*\T6]7]=^383T*M6^R MBQ >UI=M6G/;\)/MU__3_/UCJY9CW>S&$@G)[N;^YL%F==XD95A=-0S5WF#S M1E&X0S?%IA(MJ^=)'4(OWC+9?([2]9T+6M]LU;DJ5,"V?.7G%_3%BI)90M(C MG)S$-C@4D@J%";P=)[X=PC".1N<_WM7]2.9H)\!UXVK' MCL;5K_6GZM=H@1TP8S;,.1UTVWBN%EK=LGZNM0J1142!)XA[H9&53"'&<3 . M"Z=HN[QX#;^^'QX._IQGQ'\X')QU>-(#%ICA)&$"@T:<&8R,,A0)(TT*0G$? M2*N3WD0Y[X5Q2[*IWOOW$:I]^%XT.]4<8TD'$:,__T53HEZ-JG'LQ=,L2E6_D:6-G)SM3?("=V7!K("H7G(9BZ=A%=?I5Z=_ MSR/CMA9T^FM7[O/BDSB,H3J=#$>37(4R'E1P1Y-7)O0']V,.BG/5\[8?;SUT M89_\]3N6]8V9X[X9L4GO6JHGXU%5'1^N/*Y]:P"]E>TN4I&MK&VTQW)Y79N3H[>^<5=8W\Q"_^.'TN(1YI1#J?[FV,XEHS1;QX'^(_G8S%K= MSVOP6XQO&N! >ZR]_'!TT]///UN0"% 7HJ ^(:9HWN[J!3(Q][E1U&"M&)51 MMZ7Y.^+#B'PW=L^>+/]>_7WWL#9'L3&/8B.J]_L\(\X M?D2*_CO3AD_8<-%&"?"C0<9N/^3JE%BYL\H?1["G,-(_P!7'ILPI XI+E>\_ MD!^K8SNJ4MT#*&)[/;B8-SAGA/*O29WQ"< 2%\]O@&=>0!26BZ*F.V?/@\N6\<[8*DWS0;7,K4.QC$U(16C6=2T;5#_ \D+5J-(&@870\R.7W MLWV>XV,[_G;L?]JKH\Q#G'[YG(8?-RK;#]4/=$JC XF%Z^Z_LQC!_HV80S2#S@K[!5;!GH\TYY>(,4YYI@I%F-)^9E$K+ MO&C;QDK:^3&TTPWLV="/[?C1_4N>)J/_C*,Y9. 6N.WTYE??V=7@@2V]%C 1 M>X-.S05?Y%P\:V9JB?Q&MJ=@2D_J\1B,;^.9AX-^CKEZ9U6$^.NLVLTQC?7- M.NX;.[;3;0EQ)"8RN'.1R_ M\=,*%!W=>&%T AX%WC*<1:U@\4Y@"LXV,OJ QT'(GJ?M4_5I./AS?#R[O E@ M)#9C.S_^,)\RDKU%7E2D^-5M(VPNDU>SV^Z]X?;QS6[,".3\YEO&.KNS[D\= M'Z$.T1FFN@RD-I=*WLL.VL7MH*7JL3MH\2._^, WWI?M=];_ =HQZ0=TSN_4 M_/>T2LI9&J\1RTU,KJ<(SRL&KV4)R?SSOY?7HV\.!2561F-EX>%<((Z=19:# MD? ^^6"(H\JWV QG^!H$\M-@>'9#YJ^YJ3&$_ORFQR0!;U.^=S<;Y2LT=X\NO+U_,FY<8%C03+2Y)V\-I6'[5NNS1I/3-C[[GO7^-8\ MVBC'N E,%3%N5XR7>NX6XB.*D^R6$#S!PASS< MK*R+9!1'WBTA>(+)WKEY16(-K,=3W;C%RF%B,>(Q'P1/"4?.&(HX#T9Z%L%' MRW;<^(Q'?V]8]'K*H4Z[\^^LM&Q[H>@[EX;N/K?JL1O4%KKZ]?BUWG3'FFK> M=GGC4G"=;BH/:HJ"8JCZ@Z:F9S*:KL<"I=,3^6XXS&,P;-[5.\LO_[.&5\-K MJSX,>Y#!QN=ZU*0S^K;O@6=YI2"W&]6O[_[V/.6.:=#B-G@^HE1B=!Q[O9F&53^ WC0%"],^ MY'>7 _RX6?T3AO6=Y6>/<782VXB-%$AQS\#9L8A,4!SA&)5,"AR?I"UAUCP= M-_FX9OW1#08]!Z!V,':#+ZURN!5E[4S%6L<*M>3S;O#N1K54UM9INX*LN\WN MM5$UF(P;3Y5=UFS#Y+EFUZ/1) XO>AXTVW!C4[+DIYOC1GESW$8^J^#\&SUX MS6@,#B_7;OJF4"4?!%NJA.9/Z/M^M7TZK'L541M5/GQU(W-D&*L_\S]/+ A^ M0LQ^;KW?-B(!,C,UW]&2)*G3>>L88!7!+'+4&40#X5QZGK"_UN\E!@[W1((P MV'$PWT$A;91#Q#/C18@N.GK#'I-&5)MMG >-Q+__*O OJDF_GC[^X]%4'UZ ML_/U">"6GU_L[KV]"FI >5 8- >RY5M>_"+DAN%Z@VHY,[4S.A=I:V>:_6T, M?*')LSVNE]7XBB'(%8)=$QF2(K<$'#>.BB!.0D2.6?#C3!*&$P[47*L^#Y@% M295!Q)F\4S4WD7(F=[F$AP$BMMH^M\A0N8$UWQ"*+Z'(_'JKR&S>9F>?KYU, M;K!9A<$$O,[3(?FCI_)&;!'JSQO)GW!>?WG2]$3#\XIVOVZN:K"' L3,N73$,N_[R8H2\/3&G=?W!R*SGQ M.^;Y.Y';3R]A;ILY/AY^%;E/<;H4@VR"(6W9WI_V;'1>\'F9&5>SAM>F6<(' M3YG-YT3 [0GLURE=M@Y?CYZ#6TY.J[;WWE0''W\]V'VSN[V_NW/P"-#0M/U= MA3EZ^W[_MXI@]/MRMZ1;*88TIT/__G%[_W G2^^;G3?5;]O[K_]1,3(% 857 MW>#5+O#FOY:;&0N%Q:8E.MO:/'-/G[J6]\[HS;N.G].;^,ZV=IM*WK419O.N M;3+P97W'944NM\2[Z>ORSHYZF^9!#?7TW IOOJ=+M^[F@OGW=NDN-!8:"XV% MQD+C7&A\6"E16S3/_P"$#_93O&DF[G#7LA/N6JZ46!4:"XV%QD)CH;'0^/P[ M5BZ1U.0T[G?-=YZ,VI74TH/BG^W]PVIW\U;INC@D5CSJD-AY3(6MCH=Y@?HO MIW8X/JJ/+LI3C^K^=&VZ'MS1(R.+QH.FK'E[B/[\1.HM$+$X[-7]>'O*>G=O M>^_U[O:[:GJ]5UPMNR7,\&(>Z5.1VY+46_+R E^PV>/F\O+W MED#=R1&YA"U'8SN>GE;Q_=#R$4CR8LOEP<5[FZ:VA+RJ/O;M),!KPB.@Y5*J MRB-=R(T+2?,D>Y8\:HMN5F!E1YW*BM!8^%AH+#06&M?"YK34N:C NDY(2B%R MB8A<2M1A?RRL7#21%W@?WWI]=6OT]=7 M!\WK.[N^VPU!*2"\@/ E#!8+C078%#X6&E>;QH0'J"Q>B M0N.2TUB >J&QT-@Y&@M0+T"]ZYB@$%F ^A4B?0'J"R?R7J">#T(9QN/8']6? MXU']B(W3K<+UUY>'4^WV87BQ /?5!NZB />%"U&A<%L_(>X'XT/95T!(C]J#FMZGC1P'TZGGR(:G.TV/&@ M!T\;G9^P5>W\:U*/SQZ!Y)=2@=85RQ(/G5H'$=^+@.-!8D M7Y!\ ;EK3^12 I%8D/S"B;Q_"=Z.CH]2;_#GHFOE7\- JK=Y(&7)?;6!NBY M?>%"5&A<H%J'<=$Q0B"U"_0F0J0'WA1%X ]?Y@'$=' MX\'1%<1^O1?\<\#UO3R6:CRHKN#VF_K#%\R^VIC=%,R^<"$J-"XYC06S%QH+ MC9VCL6#V@MF[#@]:(K(Y]XN6<[_RE3O._5H0]&O._:)'\#7[Z7QY-M0C/QF- M *X=P:>]LU$].DK/ ?U^NQC$>17UJ'IS,9;*]D.U?3Z>O'C[%1("4@SU>';/ M?AQ->J47VGIA18H+6%RX%!4:"XV%QD)CH;& Q0(6.R(\RT5D Q99 8L=!HOL MZ%\3VQ_78T!6GV/^HS?[/2/'WF T>0ZP^/NE032X[_>O VE@8Q[($$C==H/) MN/K-#O^(XVJ_'OU1L.!J8T%6L.#BI:C06&@L-!8:"XT%"Q8LV!'A62XB&RS( M"Q;L,!;DN6)T/(0Q'IT.!SZ&C+B>:5-G\]H&^7VX>'6!=BL.[4B!=@N7HD)C MH;'06&@L-!9HUVEH=U[[?A/)\PQZ_GLR&M?I[!$"U;SPS^DTN4$OW#KQ'[;W M#ZO=W=NQT05L$+?!AL5/S@64.+7#\5%='PV&1W4_#88G#0KX?AAQ;?J^'U>\ M/_S'SGZUN_?V_?YOVX>[[_<>W\%U!<5NJ6''_"W;LX&-+F_JF9LP%:(+T87H M0G0A>AF)+ABG+%^MX?(5*]^,GVIFM7,=3]3\^R>/4NOW2Z:C5] M:5FV6@+\^)1E*]I5)+E&Z=5"8Z&QT%AH+#062%<@74>$9[F(G$*Z[8+INHSI M[-&P'OUQE*P?#X;/@N?RIK+J[?1]!@7 FK"HV%QD)CH7&I:"Q0KD"Y M=8)RI2MEEY$+ZT5\!@ 8,%#); K-!8:"PT%AJ7B\8" M!@L87"Z5QI)=AGO\""B*1R.; MXOCLXER!9VHN^1M+=. M\$X4>-=A>">>W.OS$:T]Q\=Q6.U^?6G!&Z=\)PL>*[#>$X>Q2_'M:O'S[(^MW/^K@+@5AS L0+@%BY%A<9"8Z&QT%AH M+ "N(P#N(A:F]\3"-Y'_W(>;C>""'3^N=*T9QM,.-#O8_?O>]N''_9V#QT?+ M"YS&[]31:Q,V/Z4M,U%FHLQ$F8D5A=[\+C\//ZWKQ>;7#C.X&8R!L=SY^@=P MOM#9#IU?=>'>(/2;MS^&LFOQ:B8OU)\O".S%+RC4P^B;6 IF>W+2?Q7JT6G/ MGFWEJZ].;<@']%P0LRGJZ?O.HUN\*>&#<_;-7MU\%<5^>.4&7S(-\ 2P,D,( MU>!!7QYH"@B]C^QYS_/VL+:][T$#,+?-'!]?@(!3^RE.XWMD$PQIR_;^M&>C M5R]>?LN,V4PW\G5]FO,'3YG-5L'BLTWD<^AB58<\^_D$YJ-4]VW?PV ?5IOU M8._:@C)/3[RN_OTOFA+RJGJ[N[>]]WIW-FL=&.#VNQN/C7ZP496/5_>IC#:, MG+; O\3(T=C"1S#$.^#GKM=(0=8J#M50<7D]6A<74@$+G'X'TK MNM]I[Q83=2S,3!QN[^Y7.WM_W]W;V=G?W?L[F(W7F]7VWIOJX..O![MO=K?W M=R]E:YYO?AH# B,=#7IU $4(1\[V0$GCT>@XQJX8D-?O]P[>O]M]LWVX\Z;Z MM4-ZNOT./-).=?"/G9W#@PZ-J_OVXUJH^P@#T@#2V?O.1YC]XI:=C >OSN/% M/((_KL%]]FOC_7H]K5O7I\MC7[_@TKRM/72;5)M?KK>4!\PPUDD\N[+M]UC6YJ M<^>S%_[>.Q8.U'.MY=]Y'+=Z;ACQ_8LO]Y-VPSCF2.IW@,]'$GO_^L\YX1

3\=5X]VJF17NPM2TF:_\S0[]<<7(1D4QO3&'=[^XW#%K4_7#K!/S5O2G MZ$_;^O,F^GCBXG"F0C=6H!45>OCZO^Z$&]>++1UYL/C]L-NOQL>#R\\_ 0FS3P]2G+;+G;WE^^-BWDP!/"(_D>Q/I"A%[AT,T M-SI$#R%!\JTZ1)B=6Z;0+(DWW#XXN)1*:\- S)/R11N(.PM-VB)\GE6DWV4A MUH#:(L(KR-15HO:[O=P<8%]GO=RMZU&U M9.HJ4=LNAKONR!HRZG[(%:/- OR-X[['W5U>Z6X>\75V7V"$OQ4 M?P&>]M\.;5.)WM1AO3T26*9$*$%11(\XE099BB-2DEKM1! B\!=5\Y0OX_V\ MU_#UD?52"$\ULL)$Q)44R+(4D;#4J!BE5HZ\J/KV!(8_&:%/UIYN917<[H?\ M8^>K_FV/7]OA\*SN?_J_MC>)+ZI)OYZ^Y>/1QX,WX/6 *[%I1Q*BKT]L;_3S M"P1_3>N&?WY1?QEO]2_"*$V)!8_O;Q*\2]++/WMJ74Q8\6, MK: 92PP[C@52@F,P28$B[:E%3@?)*(O!6?.M&:.:DH1-0,8Z@;CT!NFD!?+8 MZD1-=)SB19HQ+M4&%V:]S5B[V9\2']^\!.(]3.%X5 VCCR#4KAF('>(L"*25I\AY[)3B5F+GVHB*9XJW?Z%W>W'\>C(< MPN!:\B*$J@VM\'I[D6*TUIN1:V&THA4!>XA\1:1@M#"$LAI"7!0\DX%8%560 M;<3 SV&T#-[@DJRWT2JIX>=H^]OW@Y-8C>V72\%O<2$KK%;%A=P1]WH24L 2 M86D-XL$PB&851RY9ZJR,FCO61MP[U;I#^R5>\B)M^0Z]H8U>;]=1C-5Z,W(M MC)6FDEFO I*&0;RKO$7.:(EL"D20X,"0V3;BW;D:*[DAQ9J#\Y+B?88X]\,P MGMHZ5/'+:>R/8!"Y'&+0'%;GI]"MLJ-1+"41CU:U^[>Q+H,R/I+5W[6'=W5= M$I$^RL@"THR#2Q+$(NNH1\Q;Q8@UX&-$&_'SN3;O3)5YNQ^:8R>W&P5N-Q-# MY0:F5@IC#\$]F/BV,X'JA^&@U,@X:Q) M1.:>Y)7HI.UYU92F>X'9/(%-@-&&2D\868D_KD#:6(&,$]XH(*T5L)WT\ MU;T//=L?;_?#SDS]]F);CH'I#ON%8K/6FY%K8;,"39):QY!AEB*.@T0N M,8ZL]<$908-)NIU\[OQMEMG0N,2RJ%^TH5HT>5H-4 M3>"/DH-=>:4I_N&.[(:W(2@K412)@7_ '!DN" I,"AS #Q"&VXAI+W3P75;! M_4SI^_1Q%)NL1UL. F\05?I*%*.UQHQ<"Z-%<%*18XLT5QAQ,#G(1*61#QK; M( ,8K6M=<1X3U#Z3T5*EBT3)T'ZW:OQ], A_UKU>\0(KK!G%"]RQH9KRX#VG MB%H!82BA!EE.$K+>>T4CT9*WDHZ=*5I;?8,$WS#S+$A;8;DN!FI%&+D6!DI0 MY9V/":5H->)>1>1(@B#&P@E-I@HU0/%=JTQ(]?#=N7Z (\3(D8[Q)-T M2(M$\A(1)LPJ350KU0//:+LTVQ"EI4/)MWZWAKR)*0Z',33-R$K5P,HK2?$+ M=U25":70!6VM:.8#B&0R6$24U6U*S MCTO-]@;]3PA4_*0$L*55SJ-975KE-#[%>G >(29P#1&"8*TE MB&GE;+9+G7'V!GW?Z@9ACC>XF6,C]U5ICE.,8C&*Q2@^P"@ZPL"X2(9HL@%Q M8Q,R0E,DIS4/GGC:2O^P.1M%J>;8HGQ5C&+I#/P<''VZ_J[8/#G8.#XIG M:D7CZ";-*A<&DURCLCC?]/R'C3YD'M;"34FLN:!$().D1)R#WW$V*O!:7JB( MHS.BE=A]ZJ':ZD:_P939,.39XO5O!&2IG%.QB\4N%KOXW>U_M?4^68:4P!AQ MS,%":@CDC5.>@UBN]GS&T7N4B0/S\A#^/F% M?C%[65?L[@-TIWG;G]/)<8->N%69WNUN_[K[;O=P=^>@VMY[4QT'\VO!5(W,EINO(;A!H5X$!Q9+",*6*3 C9,TM9/!/->\ M#U/%:[<_N=P0E*YW-5NQ6IUD9+%:\]DXH"+G)$C$F6&(4T*0IMJA(&7D+,1( M?2L;RN9JM?2&,:4&MRS]/T/0.YS$#")/\BEYMM&C?!Z#B_T(MY;RW556L>)& M;G5S>IB8[[+^"LM[,5PKPLBU,%S,>1\,A+&>4@>Q+$]@CD)$'FP6%2Y2 MZUJ)?Y_+<'&Q@?6:&ZZ2 'Z.-='S(W-/!\-&G0:I&GQSK$/OJY 7_[+"^E;\ MRQU[TK 75 6+M.,2<2H8,MXK)#E$Q-0'9MII-G:U,_K,O9RUG6=A;,T[]12C MM=Z,7 NCQ4D&[2ZA9"R@>>LL>(8X61$R%!5$R^81Y9KG!LI4N2P4B@I:V*TSD?22O[W.8T7(QM,R/4V M7B4/O)C""+C8$)V;4XQBOQX,J_Y@',LY;*6[9>EN^;3R"N.$M)PAEGT-EQ3\ MCX@,$4_!<"D5J+_6W?*18?9,@_>RYLYG&PO9D&2.I[BM2IO+8AV+=2S6\2'- MP[P12CB+/-@[Q&VB2#-"4$A,*>4,]^E:\=DCX_AGL8Y\GB=MK(IU?,X\-VTC MR*=+&.0?#L:V5^HZ2LZHY(QFD3C%@G.CD):*(^ZT0I9RC%*@.A I6 RM)+SG MMD9*C=Q0);U=3-4Z,W(M3)6)T5C"#(K"YT.4K4'6>(N"TUQ'$:ECK9P]-[_= MR91O$++FY6?ES.3')*=+)KHXA.(0OLV3!$R-2 Y12< A!$F0UM@AGYR/1F!E M66PYB_QNT/]T&(ZRLL[L5NK0@CU\)NI4BIU3@@$;/= M2DD@@QE%201L$W,AL6M[*9Z8WYVKW1(;AJ[YX>_E+.7';+V[O?%$$]@V-1A7 MRS**SUAA)2H^XXY8UTGLO<3@)*R"N)4P9!R'T)?P&"-.A.!V]M_=O+>[];-! M*=T0>,VWMA3#M=Z,7 O#):1+/EF'-$L8<1^P@Q!WTT;EP%O>PPNI2W,,=BWK,.BFH0][DN%93B&LMBRAQP4AR M6!'32@?B._>LM.\D^ ;3:^XDBOE:;T:NA?D2*A ;@D'*D("XYPJ92 @RG&FF MK3'87%N":GW+7>OFB]$-QN>XHV$9I+YD=!_=3*TWZ']"H/ GI<*V[ @I.T+: M:&&*8U",L%);#!7=![=UUKW+%QM$/)LY\LO[VZ08AF+ M92R6\2&U%#9ZGE,'EB:&>' *.0I1.-6>[VK[OO=@]W=PZ*CRH^JOBHQ_JHP TW1B#MHD/@E2ARSD?D M/ TA$.DT;25ZO^2>VCI7FL@-HTN\7N+U8@N++6S#%CIO#9#(.L,1EM%9HSC&4M_[$,.X"U8(A#U) M\!#"0#E$!L &GD]8H!RWB Q>#TY.ZO$)_'%^1@I_G.KF(DU49SU,A-%A->2J:M$;;>+ MN>8*21_@ZK[AY2VS^V$XV\ P&@_\']4/_S:;Z6=,'S$=./'1(LDS9,;.(FN( M1<(SZ7S4FC#91BK]@MB#3.L'.WP_/!C;<0S_U_8F\4,<'AS;X3<[Z.'7?#_< M-7J?MD_B$)C_9M#KV>'H_.ZOV:;=O;>WD6B=)8FQ@$A,S=%E0*(W$CD1#=&2 M81]4&QFR9R$1;P+C;UK5OB6)-A?)G=J%4SNL/F?2?MRH[&1\/!C"]T*U "&F M)# #@IJ/%LI['J1"+@:/ F').BTHN-H#_G1#E*1T;BY!=RPCQ M05B4> 3999@BDRC((;$".)1B$G,PP%.N[HY&DULX>M7L7&9D3IAF9F;//8K] MV^C"R0H5)$6.YC5:R3'2U'*05N,$C48&X>8EK?.D2[! 3< ,,>(EXD829+4/ M,%!E;51"BG2-KK;X]7XR'HUM/]3]3_,A3F'#E%0$"4,-XD1C9!6/*,B$;:2! M,W[M&(FVF-8B<4!8?(A=Z8#EJ1M1;3+_@Z\34%;$5W@C3-G^=;LWY-+X$,$; M&N; NJ9\*CH/!*5DH^68NG3]F.&G6] MYE7,U'HSI] MJ6IJ6HM@<^G*H+_([&6TU%)G(5Q06:=B@"# Q81T%$IRXASE_EL]3"JZ*"T$ M%CA1Q+F0 %&M1\X:C+D-QGMZ?;=XIO3Y4Y!N)@XP[(K]#F.32(AHL1X'JO'2#.M MD M<<,BTA"/(A.UXH11!AS\ECZ1B*8B *\^.1M4VJ-?7P'W1 M:[<:$PT1H$-88Y/;F7+D)%80$4K&O*8^D&M[^9X8PC]Z2?/;A8>'KMRJJ)S) MRV#1F4PC1+A&1XT8Y1 '<@[D7-]3_[0P?HXT"L(VE+FIF]7B%FYO7D99A#P+ M+Z(4E"&K72ZHD0%9 O"$2^^PQSP9?0'R MJP(QF!&%M*<$I)8PY))F2)(DL!?$WU 0UHJM>A[Y51C&Z3& \9C;HQ+E0#V) M01A+(PVFV(;K_07;(&\^\BLV*.]2"4UE1_F0D=_LT!]7C&Q4%%.^T=CE-]'' M$Q>'LX_91@5?.(TPPL^Q=U;6DE8XVU[6DNY<2U*>ZX!( EO+/4W("&U1I%$2 MJ;CWL6V/^H2%I.LF:+W7D8J)6F]&KH6)PHD8(@Q'D@LP-[E T#D<\X(4DXX[ MY6C;05,Q41U=ZBZ9MH=GVG[M5*;-&!*) ]TEB@D(&FC.M!F, +[;:+V!<$.T MO-CZ[)DVSB4'*B,2&N(HSKU"UBD#@1$%"\:E$;[M!='\B:?W&@W8[B4D)!! MJB PEM<;=[5BJIY'?@7Q&J24(45$SB,Z!D,U,I_F89FF,8%$SX6\>\0(KK"O%"]S1$@1[I@W%8, %I M&#*YVDI[;$D2T7AY+5'[F$W07U7O VC>;O_U5.\N.8>6_(+!?(/HF^I4BL07 MT[4FC%P+TQ5@TKCV#($U KS,"5@MKCER+#B2DF'"M]) YME,EY9@NEA909[K M"O)J!K;>3TXFO;P1$P0NU;X>%[>PPDJRU&ZAM36*'Q;1_I$S0:7E* G,$(^& M(R.]0@9'++7&(:AKY4F/B9?WX]C6_1AV[+!?]S^-+FGXFZF"/]SIC( 5\-L] MWH<0MF&$7"7O2+OQ7$'IGWO!$(.6Z7Z3Q1- 4Y6$< MF=01Z=G83XZZ6M@! 0X RM+^^E/=("6*X)T-L-&=GEV2PJ6[J[*>)R^5E3DI MG)'>%:8X2(O#?.P^-ZWHF!YRMYF>L[))V8Y

9L/"&-Y.O4^]H?I^,RY_.] M_YR-%E\:VN36B@TM,WU36IC#@Y2(E+B>/""E*6>. 2665@5J&#AG!4CC*)$Y M.V963Z\^PMA?'R52.N3\NH+72(D=KN/::O/]W?[.S_OO]H_W]XX&.P=OT)Q? MM^YB+UD%RS@]\^/TC-KK?M[U7]:FQJZ?AUXH,I5%D*HH,AYCU5J643"R*"5K M+49 BZ,OTE@UQ^P?8?IOCC$5'PJ[QLRB[C#F MA3-0?KOR]/6?FVYO=L>V6'WO6V]WWU'?-:YTWET<1-PLB-R_.6%T[*E^Y?.%_SN:+4?YR\<#U5R%-8@'7YVHNRA5>?<79YWOR+GV"[+X1_/JD=Y.L M^'?8+--=3_O'K_[YJ?LC+7UO<+D\Y2LW_M-]F;]^\>-5^5Q,?HW2ZV?^*1/\ MK,#?F95E^A SZ6(BUSFPIRV;/Y>"\44/-K&.=MX=[^Q_&.P=_+)_L+?W8?_@ ME\'^P>[+9?#AMY^/]M_L[WS8WSMZ."D^>7YJ8^,R\_S^C6]^GYZFF:L(9=Z. M>=P]/#@Z?+?_9N=XKXK:E%^_/J506,-/MW=P?#0X?#LX?+_W8>=XOSSK,\BS M%3/QPV\3=Q;+S>+?6B2?P0;%<:Y&'TJM5_7D ZFU&E5M,%X7KW5GB^F%B5P] M0:5HRC-7'X=B)$S/SKL;OU[>BA+RDOSUX@NAZFEY.D^OYNG4%4Y(%X.O/:/E MM5]<#5]_&LU'M6OQY=7%]Z]+@:]OI_1+3OE?SU7G-1^@+^5M[][V'GMIQ*V7 M?N[;WA+[-P]/W;EVD=W91/G6H(O9KJ#+G<>>+IYCC4.]GI";'.S7YH[JCN:. M#]I+?;:I>8Q6N'&?Y^.LN%F_EG]_G _V)K$J%%X5K?WUHLSGXU;0??8:VS"5 M#:VR7M-2D\OQA]%DL/@X/9N[29P/!^ES2&7E%.-Z4!>A'13#VSVRQ7*'EMO# M.M;VC]2JRL3(6V@*(&H>B!J.J'F:MJ_=X@=F(#U.W=]\UOFY^]7<-*$?TJWEU[MA^QSJI0_#Q57<2;%V:K@/UVY/.1XGF\BOE;?DU[95 M&[X;E:4ROU,;/CD+;&O(Y:$Y+,]N_&PBQZL=S-+\88T4JFY35:4,HJNFG@Z\ MC!*T8))93E,(*^?7>)21>!8@29I !*K 9+0M4FY]O9]&2W M7*QZB/\:+3[NGLW+P--L[W,8GU79!COS>2K_%Q]T.ON..GIZJ(G>='&HM2[_ M9\YG129#)FL=DY'(I?8D PNR:O_)&=A4.,TKF:V006MI5[+U^P#:Z\)D M-G@P,GH@)&LC%,T\KK1X>DXF8T.QSOH26\%D#<=\T"J^7@"_NE'UIYN$M.SX M6A?%FZ?9IV(NK[\47F=5S&-/2+<,A1T_(MU\!21:C&-:M?-RWA0[6S!PT7E0 MP1--)8^&QY63$3PIY9P%(JH&A#DD\#XYR$%I+526AMCV:"=!AIJQ-AZ:[@9T MD">1)[O/DS*K9+DD$*T4A2=C!,=M!B>I22330H KG;&3XD0S(H"QJK"U*%\T M5'.PA 9#@B1:R/;P)-=#QEM9P[-ET-EH^+L).W\;S?SCZ:(ZKS7-BS_=#&/@ MW7:=,6#TG4FNA G*4Z">41"65N9U-."$-IYX7HSLU9K1CE)FO(=D3*5J@@4O M/($LK-2!<<]8FT+?T@P%ZWO " FL[Z+L*($ERIPQ7!8>LH6,2 S%3'8);/)2 MRN0"S^XJ@6425""> 9&I?$=G#CYX#IR7UT5T+,C4(@(3=JC$QAN[M&S5;S3B MW5=#>&]2;I32K"IO;^JFXJ)C3C,DB07B@0/'OP,0K0-$BFF)=.% M;"%PY7Q*+)G8HGU!JH;&XQXS^YW! KU%>HKU%>7:R+K&+2B M$D)1-""H#F"%+?03B33*,D2@A'.*!,YHZ9- 1"EA@0S638?P.]+F8+=Z7PQF.;[VNJ= MU#9XT!N'BZNXJV+MU' Q?H7E"K;!(=L*DQ$SG;[+=#*64J<#1"N*"Q4Y!>=% M@N15E%KYXEZM])5Y3)6"RN(\S+],I['N*W.>!G(T'<>F#DD-A24]3V="ENJ[ M*#O*4D%EEBUEA9:R T$( T<+]V3'J>=$2TH;J4"P 98R;(UQG:U8VEAF ,L, M;+'ZP%V'7NXZ$)V%32X#C=F"X$06HS<*8"FPHDPL"6ZU]_HCR@RL7051,:1* MX=X"6M-(ATB'CZXF8*@VBIFJ*$"5A4XM^.0C2*6$(8)835;B!H^I)K ).A0, MZ;!E0>B^GI7"H@$] M4S1@_1K%#)5*0Y,KE2 M1NLQI0'63U-VR&3?=\RP 6 -A:[8&AEUZ&7I()T46A@.7H09B8P-H@BK4< MN*#:V9A7-D,?4P!@_1J(#1E?8_N(SH1>D Z1#I$.;Z!#G;+,I(HELY!!Y.K( M9+5/%W@A0FFR]V(E;O"8<_[KIT,^%$8B';8K$MW?!))E+#H\[*@0JB=43ZB> M+M?"E9%%PRS$RMX6AGBP*@EPWC/BS:7D9M5*G-ZUP0_:[>KC",!*- BHS 2&3*1HE%17A MA8R*!EJ8L@D#NP;8^QI?C:4>LB&AV$0"B:G?HNPH,1$9/0NTF#6.IRJAK3); M73%ZH])6,9M56FDB\1A3=PW$Q/F0V;X34\-AYK[4ECH\33.WJ'(]TN?3JI[& M_!56YKEMG.V@/ZS,@_6EE)>0M] MHDY;D>@37?:):+3),L&!B+H)M79@3"*@=-(FB,2\6 G_/Z[(^1)L.Y/XYAO4 M]I8&:4->DF1#SOO>00^9JN^B["A3$4845U5:H302!&<9/'$)O C*R9P]CPU5 M&=\ 4_$ADVML%+05RQO/KV_ R#TJJW-YMJ?<\]^I"@.AUN@TK%!K?'&$&NZKLH M.\I5VF5-;!+%8C4*A&,,7$X&E&'$1V),S(U8N1OC*HM!7 SBKM_4W3F9EO'] MKZNA-,V#T63A)G^,_#@-W'R>%M@\H-L@0RWR75]VJF*HZI)R[8OU*JKB?<(+ MB#IG0:3@1M$F+-[+J#O,^U\QMU-#KB$EHH?E>7NN0Y"I^B[*CC)5HIGQQ!-0 MICD(9HJ]:Q0'S:G7D3DJ:2,'3C;$5(;V??\) [N;.*]2]\6:?CVU\L-H$J8G MZ6\7QU>&@TG")%VL\X%U/JZ?LQ\NIFN]B14VNZ*.,D3"(@@CBYZRWH#QS/(D M:$Y9-V&%UVSP]0C;?DT%YW&<@]34^4ICUKAEV=+"(=^OB)N$_S:@(%E=J M63R\[Z50IRLGVU%;H;9";?4 ;25$2IX&5U2-(2"R]V!Y,>A5C$Z82(5.J[T+ M'F/&7T#U7$4U%96BC Z)66- MXLDS1G4.4:S4K'N4T;XV&C1#2K$8-(;P6V&>?RLYM8S=HS[J]+88[OI^%QF/ MQE'O)#CMBTE-= 3KE0#%,G=&$LM8(R4UKL1^WDWG36D31H9VG:6TN[RHD9\Z M(\J.\I./5&E'3%7RIZK/' A8[008PHQ,Q =*5_+GGF3K-LY/9NAU'UG?:2FOHNRH]3$M*/:AP V) 4B&@W.D 3*:\4-)\&+ M1JJ[K8V:6-^I:>V!U6X:I,MLYV68%#.;<>\.]^Z>.[/9&>9L#@JL3 2$SKIH M%)9 2FU$%"10HYJPD@^FD^FUZ7M--40<6JE[MR.(:VF<^]B ML'"?,4.ZXUXX1I6^[QF0BKHHQKABQ8 70AJP*7&(.I%BXTON26XFX'VQP_EV M-CW9+=<;3!#3OL>HD*>Z[LH.\ISW'@70^1@ ZW2E[D"YV0 2J-,0I)$ M:".%]=K/-: *FTC[!2%G5" M2+&=3:92"D%9(]U6ONJ7\UC.SVF2FNNVKH9:K;'7>DM#.FA.(Q4B%387>A Q M6L^+24Y2,JG0#AGO7VFD%F9C8U#[Q3\.TN(B ME/W#N/B@N(G;$/#82U8A+T[/JI+BSZB6[K>M])>UZ:?K)Z*C&BHF:6IM8Z4R M14.E!";18KMG3TU6Q//,&LES28O&3P!1-91B8\DM5Y;%=JDF)$0D1"3$YTAQ M(9&32)0%)GG5[B8J<-9'R,%F'6AVP:_L/CXJQ>5Q!'N_PG]T:.7&@B$M(MJ- M9KC<&G^_=B6N>@A=B;\O3?O!:2IS]]'-TJN[UEHG]5>9Q^J=GUX4$^S6<;:# MB]>@NG&XN(J[*M9.#1=C7\\1^_JF( =NL9B-_-G"54;38EI0=W(RG?S=SWX\ ME]KRYWPQ#?_^.!T7>VL^''@W'P7T%[]?U;^3/%HX19I?IAW M3M*L".'-=#QVLWG]E:_>&[GLO;$[?#;RDI&>YT AB[54E,AB+8U6)959<"F! M-B2"D,2#4<(""8GG:#C7>N78ZV.B5>MDQ?N%M,A+LL8][=9B:A.Q*C3>-V*\ MQ]'XK$ $%5_G0(J*[^Y208I1Q3P%JTP&$1,#KS(';@CU625E32.=YZXJJC=+ MT*$!CP8\\ACR6.L,>"(-=]Y'4#(68USK#"X) I%8:KT1I-#F.@SX9GD13?AG M+JC0E^WF_ZJG*,6!*T-Q?Z2E/3X?3,\6\X6;Q++$<>NY/[M8/=NTPU7<4[%V M:K@8O7H.15FL,9]F@VF^4)EG\_+N:%+%KD[/JD);*^&KRMU M/+5>1\Q"*@W$!@DB20:.N@1.19N(XHXTU, ]S+4'-C_\9NBN M[L$LD?W(TQF&#:59X^F,+J]X)*_.B+*CY)4EYY98"LD+!8)J"SX3"C0HJJ)( MA-!&2O4_%WF1(;6TY^2%.9U=,*QQF[@/6$7M]-WN<(PL9<:+01TI"$N+DC%% M10DB:(HTFNQ7ZDHW:%J?;X:L**D&]9,=&H*5/)&^^BW*CM*7$)8D00THJUU% M6JXJS\" )L(YIXGFP-=H7&^ OM"\_F9>E]]5WE_]YSJ?^G_.YHM1_G(O;KIT M>U9N?_F..[.1&]^?O.XYJJMW6;]!?N59;KOY\J/5E5^-%N6FX<;A'Z4T<*&R MU-WD2X',8#)=E$O5*9V3NJB5JVS]/)JX22CS6)ZWO'!2OCQ_^,XZ:G M'ER15QQ]^BJQ56]^_K4Q8H=+A7P&BUO M=>XK+E\X7WT7=ZV_"FD27_OIY^KQJYWVKW4 /M\3P2N+\P'+YIO"V/R$B^_X MH$QW/>T?OWK9IX6-EPXTN%R>\I4;_^F^S%^_^/&J?"XFOV:&ZV?^*1.\?BOH MEME\(--\F\AU#NQIR^;/I6#\=!R;6$<[[XYW]C\,]@Y^V3_8V_NP?_#+8/]@ M]^5@Y^#-X.BWGX_VW^SO?-C?.WHX'S]Y?FI3YC+I_?Z-ZGZO"'*6/J;)?/0I M_3Z:M&,V=P\/C@[?[;_9.=XKTW=%84[^ISBZ^6M*"$OR5\OOA"JE,S3>7HU3Z=N5D!Z,?C: MVUE>^\750/"GT7SD1^/1XLNKB^]?$^%=WD[IEYSROYZKKVL^0%_*V]Z][3WV MTHA;+_WU!MY6>3 M^F/TPTTS=_QQ5KRL7\N_/\X'>Y-8_*EZ1^17-PL?!YP.'[=>[E.&N U3N?ZL MN4W3TN:1VN1R_&$T&2P^3L_F;A+OKD;7\>QQ4UDRGG*1K .9DP"A* .7B %GE$Q2!JY2 M(XUQM['V_U;L("-%M5242%%M+8\02:9!2G""4!":9#"!*>!6:L6RS-&*OE?C M;RU>L/!!-+RW@XJ++*I[EJA8LE$.X;F=C^T]0].SR. MJ[BG8NW4<#=: J&^XE./:M47V;:S6F^GLS*IDT$XF\W2)'P9+&9N,A^[VL#\ MX9N^'*2<4ZC_]9>-F+4T6^%D$,"H4U7+[6+65B:J\SS%8)SDLI&$\=IJV+UL M-'RSEV=QQO,^X;6T9)+BILQ6#E-N/SIQN/J%.%H>H]-38P] MM&BX>/BF72$'STRVG@0(1DD0D6EP20DP*GM1_L<$L\]!6,N'W)G$:^GK("T. M\T,X[)ZQ"SDD#&,7R*'MEBERZ!-WEH2*G&=;'6 LG.S1ICGO5JK30\:[59^VY25$^NN8?DB+T:P^6S.8I7%]Q-"G22H?&IR.RTI_ M5N@',O;(R1"M-(G;/;R.!]]4*-_/I3[Z?SQ>SK MG/V\G*KWU4PU!_\;BKXEJ3GC!H@VQ5./VH#ATD(2CN1HB&5J93*:9L9GF(QG M='#1OUVC;79W;N)6J*E'"OM!F9E=LN^2YBX88H"QF$%83<$F'D K1[3,G$B[ M$F]\-DI?OU/+Q?K,O/MDM'898TBH2*C=)]3H?:#4%D+EQ; 31DJP6EA@3N6D MM XLT]:8A>LG5+K&$&%G"!63_Q\%P./IPHT'T[ORGU"%H0I#%?:,^V:!VA ) MXT"X+#Z&TAR<+8J.%"5'4JB"1RLQY*9]C'7I-S&T5O9.Q>%.&3(O,N\:,@Q4 M4#210I*,,1!:6O")!; B!JL,U3*E=3L/S>^=R376!VTI0>+^6DM]AN\6/3H( MC:*/O605_.+TK*IM]HR*:O.']NXS$1W569EX)WS0P*BU(+)EX+,J)GZV27EM M&5O-$'F,=7^-NFI855$ZE'*->1ZW+I+MTE9(CTB/2(_WZPTH3=:%V[AGQ:ZG M)A:JR[G:974\!*9X($V8].NG1SED%MD1^P%<#/>>H[*/+^Q^P[BP)<#3QG&U M24!OER:.JHE1/;;D][7CPX85#='!3;,NL6$%-JQH8!UM9\.*W\-'-_DCS7\? M3?CNS=Z'H____S., MZM>#O?_[V_[Q?V,'BTUVL'A 4=)UJ>Q-M;)X4N,*SHM#^>CN$K>\)U]J:M=P MW=O>$R^UWO0]GV.PIKR:7_U*/[KF"S%2S.WFS5K/4.=$-;$SBT MK1H:+LY.#ZVW7-JU@>-@NSI87-(XV(X-%I-@.S98 M7-(='^P&.@VOSE8;HDB=;H#>(F+8]H'BX+9U<+A$<7 M'QPN41Q'2Q0' MU_+!X1+%P;5\<+A$<7 M'URKE^AC#@#<>,PEA+.3L[H10S\EW>G!M7H9HQ0Q M(HU+9LW I^(.Y#^V$N/VJ+C=Z,.SVXWBS@NKE([V2\ 7^Z M'?XSG@MH#S,P('@;/M1PV: MA,6I&T4837 5]&ZPO5WR3]Z";\.$X++'9?^P9?]=1U-<"[T;;&\7_K(N;_E$ MFLW/2\OV?D6T*"[WW D1CVP(=^_E]\-H,EA\G)[-W23.[VQABO[G@_FJ?[&, MHX]NEN:XE%#/(VX>Y/F=%)6V0-P@;A WJ&\0-X@;U#=M6DJ(&\1-':ITIZ-' M9TLAR.T1Y+:;7 M.=I9A>,&5_W?1Y^+]"9O9ZYN55[W'W[[.^,RN_(_4$1Q$%I+,$YE,#DPHK)W MQ,L7@_HJGQ[OAAHN0Q3 I$T@7*)@DY&0B:;$\A TY2\&$W=2'OAL M#G\X=_IJ&>T]/%O,%VY2=>1^,3B;C)97_.WW>?UN485EVLN7RK=C"J,3-Y[_ M]&+_X.V+09[.3MSBIQ>CSXM7D[,3B-,%G'_DQ3^D'#)!_O[C]P/\!RYK9*@6 M#/=[R-XTSK\@5=U%5<]]XY23QKA*HNI7;MU<;H M=USUV]&;ZXD*^%T\A12%%-5K47:4F1CCBA=* <%U8282"C,EYR!03X,AQ8@B MZ2HSY4B4B"R Y4F ,-2#D[G\""J+$(U2/FS2B&)J:*A AD*&:J,HT8AJB*J< M)<)K&R$I56A') W6>PO",IU45MI'T@A5KCM(5&U4I1(5 \FJA\N)F.]MEFAK,BD!,\\ Q$%!U^,,\A6)!X-3<[X M%>*3DD@3!&3N*^(C!GR4 6CV5";+B=&L2>*;E^DM?]W!@)23H23=,M7N!YL[ MS^(A%;9HN$B%+:7"'+CPWCA@W*KB<@H)SL<(T6:?--4T,765"I5V6GGJ0%!# MBVNK#+A<.-1J$P5)UE@N-T^%C TYLJKS,4,HYG8"-9Y"4(%6YQ=(R$09S*SR0M&-N:]:DJ'G--. M,=8F4NMN+6:QFEI7/_%H$LN#+*_XF%R[\VFHAKR\R.6KGL]@JU/Q#M)B,)J$ MZF&1)7MEV M9@:BB%[OFV M!3)3WT6Y]N6!3)@I'*074H@*LLA/ KZ1!H4;0F$>*!-88P$:*ZSOY\?E87 M)9KF@H:3DVEUT6GX=[5"!R[\YVPT'U6K[\Z"8D2?;)7?7N8XHZ M,Q+!!QI!L$# 5,Y^3()(+H3.B=[3N_^7&Y^E&YW[)QR@0\<>":O?HMQZPD)# M W';GN$B;A&WB%L497=Q>T/RB&52,V.!2Y5 F!S!&JNKBO\Z\40E5[&)Y!%T M$-J>4X+%-9K.*4DGI^/IEY3.7_J[G_UX+K'+/T_/9N&CFZ?!Z6SZQ\R=H/KI M-#!1_5Q6/ZFJ-"QH!BZ8!,&Y B_;)WCE.ZP^]/X?C^[%K M-!=%8>,'Y+!^BW+K.0Q=7\1M>X:+N$7<(FY1E(A;%#;BMD.BW'K<7N_K!U&U MCXT>'+<<1&84#!<1N-9&%#<^1D;7G8MRHZO?4-Q9#"GK^W%&)+"^BW+K"0P- M#\1M>X:+N$7<(FY1E-W%[0W-^F*(FLL(P6<)@C('SC(-VF89DY>"^[7GIJ## MT,9<%:Q_\@B0[7U.LS":U[DJRXR4Z2G6.^D^O%"I7%8JWI$4A4F@/<\@1"9@ MC9/ #!=!!24=#VO/.*G?/%RB[P*6L<%D$RE(SW4*\E??1;GU_(7.+.*V/<-% MW")N$;*8$V:O?HMQZ]D*K W';GN$B;A&WB%L497=Q>[VW(%V* MAD0/1ME4O 6JP 1I@0;C? XILY#6G6J"WD+K\DRP)LHC$/:O-%^4E5VEF(6\0MBA)QB\)&W'9(E(C;'@D;<=L942)N>R1LQ&UG1(FX[9&P$;>=$27B M=AN%C44M-I)LL#N=E"'.JUW7:1[LCMU\/OAYL)B>_[GS75<6Y-=.0ZZO_'I# M^H$P/%DJ@$=!080DP$I.@&AKN9*1>V:;2#_XAL##7.<8+!,/EB\O4J0-IA=H MCG4MD*[Z+FH.(V[Z+(6A8VX[9 H$;<]$C;BMC.B1-SV2-B(V\Z( M$G&[C<+&(A$;R=NH0Z[@W3S%*D7C-$WFK@J'(I5V&EU(I2ALQ.US#Q=QB[A% MW*(H$;XB%O$+>(61=E=W-[0X$]H&U3R(&QB(%Q2X"0SX 1QV0FO^.I! MH<>T[$#G8GL0@D4W-I*\\78Z*Y,Z&82SV2Q-PI?!8N8F\W&]Z(>#25I4M3@6 M[C/JHTZCK:_Z".U(Q&U[AHNX1=PB;E&4B%L4-N*V0Z)$W/9(V(C;SH@2<=LC M82-N.R-*Q&V/A(VX[8PHMQZWFRFL&$0FSJH$3G,-0N8,/MD,EDBJ))CFE7;H+/T,4WFHT]I?Q*F M)^G==#X_WSC:/=\W.JZVC98/N3.)Q]\VD;[MN=:]JH_=Y_OODMZO$J,<$M:M MW5*LQ8@C!+9:&G./!IDLJ'!J?CLO8Q_:0)Z/FR!-/LZZ.^E*>+ MP7PZ'L7!A="ZK SO'OW6J\NF0P6W3-F2Y@CO]))!?D!^0'Y ?D!^0'Y ?D!^ M0'Y ?D!^0'Y ?D!^0'Y ?D!^0'Y ?D!^0'Y ?D!^6-OV/'$B:Q_!9TI !"W MZ)@@&$HSLJ'>BZ\_]7XZ7\R^[EG^O-RJ?%_M5*Y_?YZ+]6W. M(Z$BH2*A=IU0I?=2!&E >%?(460")F@-W >G,U$IY;SN?"JL95+&7K()5G)[Y<>JAYKI^ M_!W57=X2*;AT4'1. L&#!2L- V*C\-0D*C*[JKNXC%829R':((L#X0HAN2"* MYDLN$,-\S/RJ[JIKO\T/SQ;SA9O$T>2/[[3.O'[W>L6S?_#VK@Q;-;24;4KI M7%D>VZ5VD ^WF _OEW?]%R3&)HA12VQ_\AD?.0\[K->6@#KI_JLA:)*!O YZH!B? " MK*(:@N+*.%)!G5ZE.I=EUBQ;$+D*?-A P&;!03M#M2=:J.0V:0,R-21F8X$' MY$/D0[0!.T^,*C#F;(H0G2[VG.*N4&0R8(1-IAAT*EO="#$^W@:\(Q2+A(B$ MB(2(A-A4ZD"F1 3)"Z\5%?N?>OM[COJYQC#Y@*$N/UI=^575='44 M;AS\44H#%\+TI#S+E]'DC\%DNBB76DPKY-99U77EP#R:N$D8N7%YWO)"W>/U MY3-/V4;70QQ]^CJ\56]^_K4Q6IO^U*. M^FAYO_/T[N4+51+^*'^YN'7]54B36(CCQ_V#WX9[!_LOASL'+P9'/WV\]'^F_V=#_M[1QLDKU;-S^[AP='AN_TW M.\=[94*.RZ]?]PZ.CP:';P>[_]PY^&7OJ,Q7>>-P]__\\_#=F[T/1_4)<_UZ ML/=_?]L__N^^SML/OTW<62PWBW_KD][K].!J6_:K4;Q\T+K@LSM;3"_,]^I9 M*D51'KWZ.!0E/STKRGKT.<77RUM10EZ2OUY\H2S0L3N=IU?S=.IFQ5JZF(/: M+UM>^\75BJ;\=Y<27X7\]5WS4?H(]\3[[4U*[A MNK>])UYJO>E[/L'\M1:YRQ9WM*R[H M]QJ*-VO5X&N(7/9CL&5U5._\](*]N'W@ZQWHAJ+1.+2M&AHNSDX/K;= M^U"KL]6&*-(S+Z%M'UQ+PIPH11P<+E$!PB>+@ M6CXX7*(XN)8/KM5+]#&G'6X\&A/"VG(RK:X\#?]^W&IX?'>Q[5DQ_8!#&_5@H^9R.T1Y+:;7.=JZJ6B# MJ_[OH\]%>I.W,U>W-Q^,XD\OWOX>&<]1T@Q1:0)"" 6.FP2!2J^/[3B_V# MMR\&>3H[<8N?7HP^+UY-SDX@3A=P_I$7_Y!LR+3^^X_?#_ ?N*R1H5HPW.\A M>],X_X)4=1=569Z2%T&!SUX5VO$$3)0BW*CI(/=<00'26DK&4A$J/!6\^J'U1SS2.-XBKY"..S MX8F"\[P0%N<6+(FJL)8U-,9H@XR;M).8'FJ!#(4,U4I1HIW4$%5)5PP>XQSD MX(I+5ZPF\%1X",7Z\8K*;&AHA*J>8"=Q9"%DH3:*$EFH(1;*,KOBJ$DPRL?" M*(2#8Z283IHPG4,2EJFK+*2US4K)#"(G#<+(!"YY!TS9: +)/I#4( O=;BUI M1H><8%@)B:J5HD2B>C!1_7 Q&6LE/BLM?=S @+0PH.Q98OQ]L M[CQ1AU38HN$B%;:4"FEPBGFKH-A\!D1E_EE.(A2SRF6FDJ)N97,Q<26+\\I! M%Y<3A"T_BO-)P&7MHS24,QXV3X6<# EAR(3(A!V0*3+AW7N-T2IB) /O*N:B M(8 1*0(M;JM1QE&A^8KWJH0Q5C-0F5$00BOP(C$P+'HK$TD^-VK$W9X3H>Q0 M<]4IQMI$@MRM)2E6$^3J)QY-8GF0Y14?DS%W/@W5D)<7N7S5\QEL=4+=05H, M[I/LC+JB1'[R]HPRE#8B-LV#!=QB[A%W*(H$;!F#,E>]87CZNF0%'B)5:R6REN[H54>))"RNFBS: M9ND5 :ZM+V8.<>!U?5S<&64B9]2@R?)L)LO:*QUA(D=UG?WY_*PNC33-!1XG M)]/JHM/P[VJE#ESXS]EH/JJ6(69Z;!/N4#T]39V$I'.F5(,E.1=OUCBPL?P( MAG$NBT>LV!F\3!+"U&LW12WKN:$ZE>'H/#/AGLD*]T^- ML[1320N8RH^,V%]&[*6UB;CMNR@1MST2-N*V,Z)$W/9(V(C;SHARZW&[HMQ>[^N3["*7DD)4H?CM+A>_/20+AL3BL@MF M HM-Y+G(6\0M MBK*[N+W>8;#&I&+Q%[L_YP1"\0PN>0_:>TV3\%G:T$2&"CH,6 >F![DJ>Y_3 M+(SF=:[*,B-E>HJ=9;H/+U0JWZ4]JF!B5AY",A$$I0'*U0(D470#C<2GO/Z, MD_K-PR7Z+F 9&TPV84KV7*<@?_5=E%O/7^C,(F[;,US$+>(6<8NB1-RBL!&W M'1+EUN/VIFP3:ZB3'F1* D1B%IRP JSA/(0D59!FW=DF=[OYCP\<4S+D##O) M(GOU6Y1;SUYH=2!NVS-FL=W2&KBWBMCW#1=PB;A&W*$K$+0H;<=LA M42)N>R1LQ&UG1(FX[9&P$;>=$27BMD?"1MQV1I2(VVT4-A:UV$BRP>YT4H8X MKW9=IWFP.W;S^>#GP6)Z_N?.=UU9D%\[#;F^\NOUZ0?9&6&X%9"E4" 2->!B M8I!2DHS&3(3*3:0??$/@8:YS#):)!\N7%RG2)NM:"(+I!4A7O1;EUM-5+\U! MQ&W?1;GUN-U,6U)E.<^."Z#!9V YB6"STL*MG-NU.5H?$@6B*(%B M]5062R*@14C>\60DIVLV6^9EQG]Z 3VS7Y[0H!0)L:4R14)$0P8-&10EXA:% MC;CMD"@1MST2-N*V,Z)$W/9(V(C;SH@2<;N-PL8B$1O)VZA#KN#=/,4J1>,T M3>:N"H=$>76 MX_;Z7#[&C/:<:3"R[N(L!7BC&:2H1 B$9!<:Z<&Q$__G;+XX*8\R/Y[NQ#BJ MGL&-W[M1W)_LNM/1PHWK]+XZWK1[*=ST(?WG;#0O SU*LT^CD):E$S^D,/UC M4E^EKLS;4!%>QH94T4XE "+9(=GUCNS02$'XB%O$+>(61=E=W%[O7(3, M$J4V@PU$@.",@2/:@261Z"CY" 4DY)&EE525_TJZF'C+.>;VHBP_5=E!UEN. \-ZKP6@J6@G V@RLO .,BNVQY M)%6U^:=G<"##M1P66'-C(VD;'])B-$O5&A[,4EG6*0Y\FJ3RH<'IN*QT3-UH M G&^+,$T^_JH+^7I8C"?CD=Q<"&TK<#D(X5]]^BW7IDU[6;?,F7+[#3".[UD MD!^0'Y ?D!^0'Y ?D!^0'Y ?D!^0'Y ?D!^0'Y ?D!^0'Y ?D!^0'Y ?D!^0 M']:U&6\]U0RJV$M6P2I.S_PX]5!S73_^CNHNZYV31CLP6F@0-C!P42HPQ:X7/*M( M[4IF+I54*NHY..9"<2!8^7@6!BCQ2603$[?BJNZJZZ;-#\\6\X6;Q-'DC^^T MSKQ^]WK%LW_P]@Z%(_F02KXII7-E>6R7VD$^W&(^_![\-\W%7Y 8&XF2).J4 M) 2DEPP$5;D8Z"F!LMHEX[A38J7HY*.(L6J/^'$Z+O,\W_O/V6CQI:'C!A() M$0FQVX2(!N+Z>5"JH)5E :*Q"H0C&2Q/! )ACNO$#''\*@\:3;V*VD",7H!0 MOO!@=?I+,,.ELR9$YS=I(#(]E 3Y$/FPXWR(!N(&B9$KP85F'#CUMA"C*R3G MF8,@-+'246:3;(08UV4@HL>,A(B$B(38%"&R%*@DAD%(NMX&\^"-"9"4EX:R MQ(A=Z0''&+=>4P?2Y:HP *D"D5H#29R3%)EB?G,>LZX"B48@+2(M(BTB+3Z8 M%G^XF+"UTFQ6EN>*5R/SA3(MM>"LH)"\*.8G]8+J%;M3$$8$LPQT3J[8G52" M"R*"URQ92Y@.W#1)L_=,%&!\*+GJ(=_>#X!_0^)%XD7B;0OQFB2X(5& 1=Y-WN\^Y-@5&69"09$G6V"G(&,)9SD#&R*$406J^4,V4LZ/)Z MX=9 " AM.!C&$J28O'11$IGIQN( BJBAQ?VB!^6QEM^N/'[]9RL([\J];[W= M?4?]'(.[!SP?,-3E1ZLKOZJZF8["C8,_2FG@0IB>E&?Y,IK\,9A,%^52BVF% MW#KENBXKF$<3-PDC-R[/6UZHFZ>^O#)E(HUFJ$?6J#.[L9/(Z MCN:G8_?E5?7NZU,7J^W?2SG>HZ6(SM.CER]42>RC_.7B@>NO0IK$@JW/U5R4 M*[SZ"K//]\0297>ME)ME]XW!UR>]FV2EOT-FF>YZVC]^32P_=7^D9 M\I4;_^F^S%^_^/&J?"XFOU[&JS.OR@M/F>!GA?W.K"S3AQA"%Q.YSH$];=G\ MN12,+TJPB76T\^YX9__#8._@E_V#O;T/^P>_#/8/=E\.=@[>#(Y^^_EH_\W^ MSH?]O:,-4N+%_-2VQ67F^?T;W_P>W/SC[WD\_7/>CGG*], MW''Y]>LC/=1U/-W>P?'1X/#M8'?GZ)^#M^\._^LYY-F*F?CAMXD[B^5F\6_/ MK.7OXK*KBNF!7%8-J;;/OAIZR\>K*QR[L\7TPB2MGJ!B]O+ U<>A:.7I6=&N MH\\IOE[>BA+RDOSUX@M%^QK+:[^X>M#ITV@^\J-Q ML=A?77S_NA-,]>V4?LF,_NNYKKKF _2E4+>]?=M[[*6QMU[[V>][RSDQ\_!C M8M;IJYXX^SXMG\6O[]<3[8F\3BP_S=SW[\Q]>SA(];0?=XRI>MK-[O/^O_>/]O:-7CUMQFQ_WLY#0??<^ MFQKXM5N?SZ%K>C!:7,(=%&J71OM@-?? VDOU,![:A.X:\%R.TM[:AZZE:O$@ M+0:CND39X(?Q='ZW?_ODQ*IM(9F'9HP\MS6TB92I=J1#?3^[:ZBWE(0BB@*- MQ("02H$EM"H1XBP5,="L5X[36RZT4RY4/5.K[/UDP4CE@(GLN,I55BFYFASU M?C8MCU-5!FPH*8JJH11ZT^U+U[G"G_G0$U(54M7:,S>O". A^?-K)D(I&:-1 M$^!9%%(3R8-+R4#D*J5"<=HGTD31U,<0X3V/+PVM7&.IT[;BZ%HC[ED"1RMF M=O^M4S%DJ;X71.-7]G+\SM:NWJQ>KW*C!Z6SZ:51M=?HO@^EIFKE% ME=%9K=A/H\4HS3%6U1?7MU^./B[A7@JU2Z/=9*R*-12K8ENH6=^D\I$P]Q6BR;6>Q< F%#@2P[5.OL4-'A%8_4U1%!]H*Z9#8D5S24 MF/,@9"[FD D9(K?$:!8C-RN=#1X38-HH=6E)^DU=S0::T!R^\?AO=;@>O)NG MRLL\.4V3^=(T3I^KOQ.JE0Z##-7*+56 HT^I:I8I;!03%D%7F4-R=*H)'4D MB16U\AB+N*Z'_G.%O]U+\&MJ,U<.K44C&-FJQX+L!5MY&02/2A1Z8@&$<:SH M=*N!"!,T991EV<@NZUK9BK$A56LL5[8-BQS#P)NQ>ZM$@4&!3[GCO\N#0?4[ M+0;NZ[YKU7>R^OAH\D?UKZHDQ2C6.ZH8)NXT E'-W*)FHE.:6@?4DEQE-1;. MH89#M(P9XX.V9*6E_$.,8C=>S%Y5T/S%C2:'DU\+*(^GO];0_)81<9AWO^)R M]S(LFS*:Q1I+PG48 4AE'1%D+ZB,9*IRY!YT+JZ]():!%40"307_G'LKZ,::@?3297RNU_G N\M-VN:SGR7IN>[D$A; M_19D+VA+&L%8E@:\KWJS14ZK!I<*J%/!94>))JO]W!X1.]X8;2G1<]IJ-HB, MIW1NK/_[T177;3X8309N/D^+>9U0/!ZYNN@IGK?!PPJ]'2TNX0X*M4NCQ;C0 M9G3D3@AE%HMJG*601I^J:N,8)>JZ 8KNUBU[J-S+JB<@\.J4CZ>(HGU69"](#$5 MJ162>.!9!A!49+#:"E!$,&"\WB^%;(SB?4VR4X-^J;RZH=*=^H0 M4%O:>R-G(F>VT3J71$8C,@,E"0>1* '/HP9F E/4!!LI78]UWBRKW;L^H\%3 M0QC,WE22XV \K3HGI]D)VN;=AQ;JF9OU3/3269<(:*8%"$.,S6$NC8309 M0M-ZK.>ON41+)WD]BJ53-C,&LI'"MI'"MCJ\X!WQ7G@)2>E"=D33PHV1@Q)9 MYL0U5U:MQQ!_(D'>97 +T25NW&1!= R4/RV-Y-1]J39]4&%M#;I086V/PG+& M6D(4 V<"!\&\ >LUA^@S889+FL*:+/H+@+]?XKOY()%2G>IJA#%PY$GDR>?B MR1P+YU5TQU+%DU09\*(8]D[9%+R@QL=&BLYNG"?ED*M.Y;ZTIMD1VO:WV/:S MLZOU9ZM$&)\FJ7P4 ^S; S=48MNCQ*3E65OC(103'@21!DQ@!J3A+F/HEI0]I[!8IOOMV8K)I?6:&DG#49TB9[94H4N;V4*9S(1(7+612 MV?"Q4*9U7H!B(5.G..$QK\?NWQQE4C9D!CD3X_N;SZQQYY[ =^GP%XGPE^HJ MH';;&NRA=MLB[195L>&E!I8,!Z&+GG.44;"9*TTB,XRLZ6AJ#?_#BX[%ZU1N MW6J'@=X \N56\^6:&4U+QYU)OG 2DR"J.(<)L6INZ9QAB3%%5THR-IB \S1& MN^-0#Z$]/VF/\?G-V.87ISD&L_0I3*>J[!]\.C;35%GPP5#@;(FA76>/$9GK-+O0>E\:M^+54(DU%K:_9:TNXSN$H[&/](STC/3\ M('JFD0?K280<3'$MB%%@A#3^RV!ZX:,/JG7Z"?<74(5V7(6N.S>6F^B"+0J+ M5/T$@O/@O&-@212".R\8<4WX( 7-NP7,[\^Q_/.7W^8I[D^^QMQVOL*YJ6Y: M?"CD&EL+M%.OX<%A9$IDRC55'Y/22I4AZIQ!L%#< 4FJ^@F&6A.IH+Z1KMT; M9TIIAVO=:.T*4S:[@W'MBESU!MK"OD^ T_[!O_:.CO'_O M"'NMW#;,+K5NZ%>C"ES"O11JET:[R?@6;2B^M97]R-SI:.'&R_39.%JD,F*U._=KJG1PI$]61!&!"J2JQS(,540)U7%JK&"G.6Q-!KO?N2]4H?GX\ MW0G_.1O-4G'BBMNV^/)^[":+G4G<*Z^>5A]I+*],JTZUC,==<^1)Y,GGXDEF M$V%<12"1%9[T6H%W1H+*3EMJH[-IY8SQ8T)<&^=).M0,"PIM/A&WS_;]\I#< M:/(IS:]L6&-+1=R+P;V8)V7.!6A.U)FK-5FI-[U+F5C/0)//BDA@-)KFB/[FT*42=J5GI.-%@\NTF M/)BA5FOL/M$YS8G$C,2,Q/S\Q,RB$)0Y<%%%$-G+0K?1@Z>)2L6M(KZ1HW_/ M1\Q\2'GOPDNMV37I3_+OV_V#G8-=3/[%S$D<+2[A3@JU2Z/%Y-_-J,6+X/4@ MSZ8G@\7'-$B?TRR,YFDPS55OC9-I=9MI^/=@>EJ99AC&VY[DG)ZEO*W;%[/4 MQQ@I*,H-B" D6!4"$!ER"#:)P!JIDG5Y/^FH0M[A$GA[Y\",36TFV:'I5D=6 MW+5'XD+B6B$N8G,R.4TIWJ-O?< M1\#1/+Z?>9S.NZF<&\2G9[/PT15+^71<;E9]:3;R9V@D=QU\J&MNUC6.9F() MXQ!%M$5O%#7CO?9 F$DVL>@U?Y*1[,:+V7>*YJ+#4:UPWI\CLCJ^L7L9CXT= M@6""0#&'!62EHG3E)BRLY,,\Q&)^7A:C MP_) _68Q#"]OR'X^3Y.N%N1@EKY:S%6'MEE:C&:I>OMJJ!GU3H>AAWKG9KW# M@_:*RP@I6 G"%9O8)AW:S36VNAQ2B>//J<(_YMFTVHM&$;9ZWYK'.2O?@NR'?RUU=H>%+@ M31 @LLI@25 @0F2>>)69"D^VRC?"CBLFN1HRV:F^;*W)<$3;_/:Z$'DT<9. M)[7P0$!?#@2L.P+.->'&5K6+,@/A!0/O#0=+?;),&F_R2O/0IZ:)7#J-7*/Z M[06HGWH">:-F?#MS]='41ZKL*U5NM;N@K1;%70@@*S8N'!K!B5@=:E6:I2"3 MHK;IM)=&B?B>)UM[US$!"T*TWK>XMF<:NAJH/_NE/]>LX1*77'IG@$M#01!& MP061@$I>O V=I-:-5)^[X71P8U[&JDYC0\)ZUZD9/0UD2F3*]6RLBF!H"!J2 ME1)$= *L*\:]T)8R3PPI7+G&.@KK8THY%!*)\MGSY5M-OD] TU[.*=3Y.>ES M^.@F?Z3!S"W28/GW?% 5IGYPZ6QG_YS-OI4%G&5\+/,\)DO9J.P*.9_]3YJ M,-1@W=5@6QTKL[XH.V8=6***KJ-2@2/9%<-_[X\)4ZJC?J_??++USZ9/.5XJ3%@D18*0X9O&\,ON[]"",] M8<*"TIJ#R%: M.]VZMHW]&$5G/T$[<<1I-0 MACY/50EJ]$LP77?;TW77;?4GR[51%K2JVJR%%,!+G4'G8K]KF3@UC52T>9+N M>9]FHVGDHH?10:MP%1W,>V1/9 MLY$NDH'I8M]KB)[80J'!@_&9EZ7B )S6_BXJL48PQUZR"G1Q M>N;'Z1G5V/VR#/ZR-GUV_3ST0J,Q%R35*@+13A2-ECA8221$2P2/EFJQZ@^X MH*0,S("3-D%1:%7SL9Q .F9U2LIH3]NHT:340V4WY@]<655;I=.03)%,D4P? MG,FCA!=.Q-$\C*?SL]FR 57E M%>3Q]$]LU7C;,._+NMO0^:U??>YP"?=2J%T:+=;2WHR:W*_62;'V!J=NA)&Q M[4DXV;RCU@LGS%.M#8T2J GG/1I<% ZDH#(2DV1F*WLTCTE>O8!=513V(#65 M5R76&)[:!E\)N:J5@D2N6@M719.\,TD!L=& <+QP%2^LI:QEU'/"F.=-I)BN MAZMXOZD*ZU%ORKX-TY,T6+C/Y0'0QMTJ5*'>6(_>"-+'%#4D5]FK)BCPV5F0 M)G MI-(JKNB-Q]FX%?2.*^15JJ.Q;HE68G]QI*OV"1+I:CTN>2YT$XF F+,& M0:D&'ZL]3D)<=IEFX1NIN+P>NA+#Q&MK(>,>9U^V3/JU081+N)="[=)H,0:T&47Z?C8]+8/\4NO(ZK3 :=T? M>#0I:C*4^5U4D:$OKLH-JSXQK5N8A;/9K/K4>.3\:(QM!;;+2D5?;#UMR&*B MD0<)02W#0!F\-1*L-(8EIXFQK)G:/J>C8O7N?3Y-DSA:%*MW7MRS"I'QY[/% MP73QWVG19$Q)ZWZ[:,ABK10DLMAZ.IP(8DST"K3DU1$D9\";1, 1Y[+3EDC6 M2,W,#;,8'4JYQE*8V\!C%Q9U^5V9<_6?ZUR]_W,V7XSREWNQU*7;LW+[RW?< MF8W<^/XT=L]17;W+^@WP*\]RV\V7'ZVN_*K"R"C<' 9+J;;33\JS?*EB6Y/I MHEQJ,:T06A_Y=M51W_/8EQN7YRTOU WS7EY7]+S9<=STU(.'RVO]BK*!<5V[ M&./HT]?AC=-GB*-9JMGG59GLLY/)ZSB:GX[=EU?5NZ]/7:RJBUTZNS]:WN_< M]R4O57GA'%H7MZZ_"H5'7_OIYVH,Y0JOOI[R^7Q/-;6"O ?,\C=]N/G59+XC MNS+=];1__!HU.'5_I&5$ %PN3_G*C?]T7^:O7_QX53X7DU\ON.MG_BD3_*QK M^($T^FTBUSFPIRV;/Y>"\=-Q;&(=[;P[WMG_,-@[^&7_8&_OP_[!+X/]@]V7 M@YV#-X.CWWX^VG^SO_-A?^]H@^1U,3^U;593^^^+Z>^7J?WWK]3^^P6UMV,V M#PZ/]XX&QX>#W<.#H\-W^V]VCO?>#-[N'^P<[/X_]MZ\N8TDR1?\*C"]K9DN M,P0[[D/J5V8JJ:I7NUVELI+ZS9]K<9+9#2(Q2$ 2Y].O1R8 @@0H7@D"!*-G M6@T"><3A_O,C_'B,Y.EYF!_>_F/PZ3.,[;=??O^\XZV52^_@ 1+_7_XYMG/0 MPV/X\4D7X3'*U U+<)L8N[MV=5U/61?E=U_RE:7U^_P\3BN_3&DF@LCD'%+) MB&QHT=RP/L<<">*4=D)8VTLK29N-JX_IXR1.;=8[FE>#"#;4)#O!I_,(PUN; MUQ5E9&V+\[9MU3H =::S-^UF(MBH\^:ULTT<5>.X 6R7R\Q.&&,_[)@.[LX* MB^$LYUZ-\_!1NP3?F3,8E2L=>FT%NT<2C*\_\$ X_>/TU(ZK_VE)H77I!Z"& M:35I_Z[3P,T;&&QSZ=#/BL#BWSM@@3QDP^I&T3^:V6HZ^&4,0XO HV!(?1C[ MD\%?_N-_:4KQF^[W]@_R9E!/![.S.%C\]JXSOA8__CBHFMP4H9Y.ZFEK>U7C M]NI6.N?U?1]']JN=QI/!9_AZ<7>^RPY.1[4#&VT4+2B6;4<%^'4^:[<*OJ]@ MN"-8J3CV<1#'8,2WM5O7]A,>XJ=UTPS3I]/--,]G MN>;_]Q_OEFLZ'("N8^$E=G0QJWPS;-\'$ZA2U5JU5U9FM6D?EO?OP-3]SW= MLVY:_>>PL>,&-4 TZ78YLB_*S@M!U)LF-P,PHPFZ"E72- MWAI?M0NZ(IIJ/*Z_7 +'Y:K/UN@(MA1(^;R>QDOZ&0X:FV*W;0V0I*W&[8EB MFF?9M,$)9\ _SUO";1CH,_3^F(X^*WR0#=V?+)NI_0JDQU16!.'$14>9#)S M"AD3+9+!4NNM4MCVK_ 'W>7W3_?H9G_SRJ_;\WY/1= MC'B]'_Q]H)"ZNR[6+EE;IVX:FQSVE"?X_9QG_)]S0#X&=!@!/@/U\5)_L6N"!6> M R*BFHS@PB70_OWMVS]6XJ]%YLD$MK+E\.D\7]E5'CQ=P'^[C5DT?(I^/FVC M!]HKEB7U,Q2<5TV&D]4[/OVRD@;Y27::'34M DVK\[6Y5^/N& #N/1D,WK83 M;879L!-&ZPNYMDZASI[3+/U&\P"7C4;MY6M/:T?8>5>G.4PB+Z6[&.2YMY"7 MGSN*(.*W^EH'C]K%YJR>C^!UL)RQ%>OYGG_-Q]VY3;N%LTL$78']W5_PE\O) MY?B..*M_;">5GYH+P^<:D7#O^^CCN0.M@9'A@&+*ALL56ZDYYW4S@U%FVW;P M=CR>PWO^C* *S7+CVE]A,0<$H_\71C'*6L5RY+"[!^*.7AX1+>3"/13?Y^FA M[E=^&A:TLYZ#$TRBPZ(6S1?PW@S@K: 4 MM^%PH *?VW_'RY7MY%S3S,\GG4B;G=G9P';-N_/[IRWJ9=EYWD71P;C@^KC0 MO=V[^7X6XG?%@8&&?:QM1#K\6F=OW99(1NN+U+\8D?S=G&J++2 ++)] M9O,OJV6KEOUSED9Q7L91/8;/V9;H% P/I@)(GT^?_ABV8BA:?Y97"(8#J[MN M-M9@ Y]V^[XNB3S8&/5Y#E2$= M 8I)U09!=ML!+UDZ2K+H=[#TBR=T>@-8T8OD!%=/I_77/+.VC_N\N1265UXV M:MLHKFUQ]Z@ .@50Z/@*<7=;TGIK0%D#?NA4D"ZD K@IR_RF,_=KEZTML,B6 M2P%+FFWX_.ZX(+4VIB%/#A3K"A[4:@+#;"Q^:8VZ[NFP$/ B(-(\,OMM;?2@ M+M5?\UK"+^LTFF\#+06>GH>0[UD]$JZL0%NIIBWEP#!.ZSI\K4#O6EB65]=[ MF-#['AHZ7?+):UU.0/#"6479&A5,J#KA3+XUL^R-@(,!D20-RVK5*$" MCIT.TK0^AX6MFS4./[E=*^A5=B9E$G->(VP%0=PK@:SV"44G8F#*L21$'[+S MTR5?7K,_8CUU$FBB+C'2:*NITHNDQ M6&1'L^GK=RW9?!C_L>;0^9C>9<%5'&$W@U&W;)FFUQ3$Z*%ESE2R@*W1*U;7E7->0_6(YE]_!&[*.^V[= MR/ATJ73#E9?'K5TT7E81XTUJ^B"?#P[:X].5Q^O73__XT*Q\7B/K8G:9+-UA MRX.7:1RU+U_Z\AG4Z.J5MFTNWAJ$M("C4\-GOF MUBRKYG+N[6; CM:S5K-;_+FZX-JNM49%=^WU_5P:1C#"+U4];^#U*Z,);FKE M7J:7V T#AK\X4KNTD^Z@+V[]MO? B.YYI9Q9#Q -H],(IU$0#Q(0KBE1NI> MRO3!0-84R&D]KK.NWS+ VW'H8*KY,%Z_9NDZOAG9[Q"*T")[B46X%HM GV,L MPI^=HWA->SN=5]W!Q+;P@U[9A(;H' 'FB,E'Q),42+M@D*?84\L4\X+LF$UZ M._7;D[S>N:YSN7"=J\A.0R<.+B)03:CSX=2!:.6'NTM];PKP MB"F4=S[VO0 M,+,G;8^[T)YW@;[R8;RP&D'-PYV:]^O;3S\/JJ:9@QA_^^F?[2\(\Y,G",AX MY'H._O*YG@!6::Y_'*#!K]9GI]H5)V"G[S:=EK_M$=G"7>F:?Z[TE#U&HWP^ MJYIV(UH_8,B>O,DBV"3[H$.U?3CHW?9?CTKHT M!^=U:#T!BQ@HN/\LAM/6YQH79\YGU:0!U7#N_M7JD?7@/,866);N23^M6G_& ML'/E3U=+^H\//W_\,VN!=MQEO[=^W/8BF$T>=QLB!8]TL?7CM[Y[(+F33)(? M_:S.7@0@/;I&E#_7@&6#+_7B3I 8X\X*:>;C!L!MZ==?H]I\W76G!-^(G5FD MYH,"NW#'+WWMV=WJ9QWQP'5CV*R5L*T[<^;V,Y/N-*$S.=:/+*[HZMV2=*]9 MO0(&WVG1EWZC2V7Z3B^_HF"#1 <2R0[_GTJ&S:[9UFQ+#&G_<[B69#D.'^+W^TD%L%^!R@QK!$%8'I45LK.92@Z : M9PWBPWF6N7$5!MQ=U\9H+6]]?PGH^]N*3J#-)ZT ;&.I9YT_'L9<=7-8^%QL M=V+9C7VM!-SB_+Z=:3[$K( ?8 3YE*&>GYX-XO@L2Z1K LS5\]G5,^O%H7@W MH+SMJ\" ]1OSL!918^MW+\>U.EKOX@/:X>4XN"D,:*$$K0XT_%D5TZ#N'(>P M@5+-_8>1'=Q9956L1-@Z*007BA>)U' MNPH[L,LK_[,-%4QC(X.M9'+=#;$_SS^JOK1XS A,V M[QP\L)Y/_?KRV5%37ZZA;8]ZVP.9]>6\5%_6H^Q6E+S0LM;/^IX:Q'IBI7#VB/>;+W$6!RW%8$S +K4KDB8AG>M@QS7GM!&TD [[W7H_BP M"T"([<:WEFO>O$D^VI^U =*=9K58G"NNT&4X97M'M\:9JF$VRQ$M_*J7@04W MQR#>3U/L!KKXNEO3L++$3^YI_AZ+W%I436^+H1Z&R%I1VVTBRPP/2F:MK^12 M7"F.?WR](:TNKSP,*07L?%;YLP5/=!D_727]*VBV-)46 )]_GG;H"(_*%OUE M:/$6X=*%N5PKT9_A\%_S:=6$RG>!+6UH<;8?%R8:W/@(T .+\I>K( 50L<*I MC;==AB8OCW$FZXIA1\AIZ8L J2ZP[6K-N464_5@ MCFE45(Y0JA#Q%B,NI4+.$8W 2/!"&.,C&/8\CV*ZD] V%.Y:V.0RG++9>BISN)[OG9]/@"RRIZHFL$@)9:;AD/!@B>XD2O#JSCVE!'I^S.?$ M'V.^E$GAM[ 7ILK<2NG<_J90/S/)[L)(3A MY\L18"H8\?"*;S&\6>'M"2#NX@8@EI&=-/%UTZ4+K&116VBO>_:K2]_F9>'A M'+/<1C5?O%X^8^W"*Q7CVM=*=<((B(ZNQ- -%Y$3<=L5M_U.3S2_]36'.(Q5 M=>=K"[WP ^NM%9[OW_I@DZRW#? ^)?WT3BL?]57!\WE-+XL2P[J@I<%?%?6.8^ M+,,*RSQOK>'T72A]S8+.F&B F.(Z& 0)QXC MC6E F%"+K:>2,7_=C^N4HM&:B"2Q.9TG!62MCDC82*)5#!/#[WGZ\\NW13F& MMPVP;!/#9_NMKXX+A R)PG?KN?",V*!?)C\\9'L$J=_)@#ODO2T0UR/$<6*D M$X0@00/ E;<<&0E_4LLY=0(S(3>2R#%5#DO'D5;$(LX"1X[GXW$?=03())'2 M X(XS(8,W[&MS#-B@Z?4G[_K(GMA^O,?<3J);96:I1+]_,7)WA3E[[HY#I!] MGG53LMZ%1Y <-%HKD'"<@'Z<%+(Q,:0-)@(3;!SGUX6' K%BF"+()P4"AWJ' MG,,.)1(5XTE&DS-Z#T5XR*%@=^RL6&B_P-FQ;^F1PUDPG$B#3APY9&+20(&8H9T8!Y)11FEEG : M#PG/Q%!B4O"LN(/[<0=/ZQ3;-C@YD7L90[&LMEGDR(MAI2)'UN6(85);87)] MTPAR)%*"-+<<*1EI=(E%0S<*-^H8"5&2(BE]0EQGO5@3CK"-.$:F02]FAR-' MZ!"K79TJ'COM%S@[NBT];CB+-H>"28D$J+.(,PW0%".@6_ 8)^\X)_HZG(E( MA=>2(6JD15QQ4*6MC0C[((G#6$7E#P?.R%"R8N47UW _7'1CZ?LB05X,%Q4) M69SUT6/C/4>6[+M+$B1(<68HQX@DSD#J,(*%( MBL9AE? !Q1++H20E5J+ 6=G2%P!GFKC@"%,(X]Q\2N9.)CD:V&AEI9'*<;$1 M-VPE]P)+C81.),=7M)%B&#FKL0F46!7DX<"9*K$2Q4W<&Q=]I\53D2$OAH^* M#%F7(8QJ1[5W2)I<\@SD!W*!6Z2TL"!'0N!NH[ABN=($5&(J MD:,*?@@.AV0.1X;((1=%)2YP5K;T!U?4R+ MM'@LQSRT*,X!\M0#YCK\8AMZ-HG_I D%ZL2EMMO7W.^H/Q]:KO!ZC\?ZYG M=K2M$4.19@^I/W.5&^D)S>P8ZGDNT+]'>;:?4DUW68QC%6U!*!.(0DE)L C M/$"YD!-RT:3@;>34;%2LVT&_HEV*-D6'AM#=EG/Z+@4]/_%6<+3@:,'1>Z5U M$ZM,4A$YH]I2(!89[A)2W%JF#&-";_CR*=PAG,0(+@#LY=B"B2#:O!''_*784>^IUR/"471(Z(6N\1EY13:641!/S&%W/CF;3UW_$ M:<9U>QH_IM_C;(%7S>>N3?>'<:BFT<_>G=GQ.(Z:*]@TF4_C"IP074>GVVMV MGN@;D>GI:>.'MLEKV^1VS6I=]2JO%JLP:&"JS< O%J-MZ]IVE&U[^IS7;4^? MKD_Z;\MV/ETWUSUV*+YO?VA]I%TBW]5-U\6X=C-;C0=VU5_SGBOT+-'O;=M9 M_BI5=NW.5ZV'%U^SW"3XLG?P<.#MI%W:_XFYD\=-BSCX&J=Q\'\=&H8J3''T MAB-K/D&S'F.4(B91R[;][W4,9T>K$+<#)3VZ.S]@#N,#5HV5+S8/;>YN2 M Q5?(BJ4S^&'&(%(I4@&"DH_(SYB=WWOI4J2""51I!QT_"@$_#&-;7OT^&URO?W(HH7XP(*9,VL.DV*$ M$H$3D_D= \5@&Y$E;;'T9%S@N1;D1L!J$,1:K1F*/E#0N(A&V@J)9,X?]AX M*!>5O"O%_%Z/_3V)YB=\L&$:_+ 6VX PA%Q.<];$X\TA@VG@E'I/ V: M;414)&R]$YHC051"G&*#;* "\11,XC+90-2+W.%USF^#O0:C>GR*9KD!T8+- MV^[)*\/K/_Z7ID2]:?("MV>);>JPLZ.V17-S%N&6D\&G3LNNS\^KMNY.2D29:(V64#9[+X)W)'BQIDU(.ILIQOYPR"9("=$1B M)67*\*3"B1:YJD!(B M'"LPC(UP>J.T@24"TV 8L@ZPCR<+=RCP$10,>.U9=\$C4)@TPI.![0T8<>M!K94^J\)1@J;#H@@*S"RE>G&S/1F-L((0=W>TY4Q>KB@B MA$N0#Y@CYY-$41M)A";1I(V:P@]RM#W9[M.3F[-Z#P0A[NYJ>X -7K39;N7? MQQ1A+<.V0-:C56>O'(H?'-@(FPP8S1I11P!LB+:@F!"*2@^7G# MP5?;7 &P<(VW!G;6/LI%X(EQ?C"\-7]Q$>WT"B+!^L0V<"K^]+=0?5E1Y2A^ M0]U)/8SY-2S1_'S\)E3-9&0O7N=?WTQ 5,&3U[(:JF[VBT0 ?"+ABW_!=E?I M8KD0[:T()O7&U=_RBL(37J\BG[[=,;R)T(>#P67DW=/3 ,%78H9RC% 7(?6W MLU4:Q<2>QBY# MD$(WUM1U_M1?/FU5^O;-!R]=N0J>U+_Y@5?LHHK(WE?#NM M[.@^P5=ML-5?UTEYQT2T/XGRYY+!1Z/:M^K&K :N/[=5R^:3.&U!,>L?M8.Q M=BXUN (&T<1L!2W])&MH,3L#O#@#3!G7,X"(&>!&'*^A$P#.6>7/EI#3;,$; M4)CL>6=FM4_["F@'CX%;OM25S_%AX[".=[99W0OXE>:S^33FT5=U:$X&[S;' MN!S:VC,R"AZ<3'7:!A>-0(SCW"2:@_D6.4%.1L*B#B29C9,,ZZ40GFIDA8F( M*RE NJ:(A*5&Q2AU&UFQ-1KVS^76_W&Y\Q]7&]^7"L_9R,J)**2F,=EIOQT-0KKA1',D?4<*49TI1&%$-TP@:!1=HO M!6!]F-J4W>(P7IUB7'41GPP^=DI0!U271Z[;GC% M&BF%43D\*X>]:M#39>XQ(:G!+'H=W085[@R'+B-C[QKU^N'W7V\KL'-()V\_ M[)$5ZB^Q.]X;PTX^E@Y7Y+0(95]0$Q$N:2KR"7NN)R=SJH94%LG :-0D*>HW MW%*6QCU18'\(VAF8&2LS\70Z9.A("FM^!=A.?VM5_VT4*ZW@,9<'8RPW6M/8(<-H0A)S3;5FP?"- MB,5[1_Q_FD\FH_8(VTXO/HP[F@,J_ S/_!D4]'^_&D2 MTG.9I_.XZLK)MP5 M:_JZ!W"KW=S :V9O6A,$P;*?-Z^=;>*H&L<-8^5R7=D)8^R'/;L)-X:SG'PU MSL-'[1I\9\XY8G-)#VM+V#V28'S]@7N;WK76#NOT,5@CD!5M=Z;K@6<+[=PW M_-;_][QJJM96?0E^X??W\/;=H,U>55#7+>O#LXB(! 2-0B(L*$/8"5 A=@XU*+&)AUR=KY5N9^#0Y824$V]TMA(;@,35[#X'W73?!S#VOW[ M<_U;&X_T-F1$R=SW,66/ BPY?(9/3146P48]F4?X,$\X1[ DG6OF\&@B*N*D M9AX)XD#61N.0LR3EJ+XHF"=$N8V,O/MD#>^=)M1!A@9V-)&F]3D010[; Q!% M7?C>P*[6)MO#?K4Z[?'F:GGR46CMJ];W^+6:G<%S)J!S3]NSA8&]1/*30!W$<9H MF[.<^M:<#2(0QQ?@I?$B:P4$V@Q4]KR#^?>7(/K77?-5D=_[@#/9A=#$8 M5;!(F1V^Q!6C9#:KIQ7,QH[@PYK#'_ '=(E9%5O"-W@0[$63+QG%C/W=,6#F MD?SS9 Z*!5@,V8_EXL:6G SR5K4;L[E;T[CF,)NUV8O+8X$U1QA BZVF [AK M'D\&?U[=WD'5;&'WC3R'>@M_7\]KN$6:73_:Z4Z4;O)MY.!*)SP" 8(1IR[W M*R0&9)*UW 6=M-CPE#WD%/R3/XMA/HH?T^6ZY 5_.V[_YY?+U;[)?%Q@\CR& MM[.[COS_(WLC\U2/1O775M'-07<@)NHO53X^LBTIC7TUJCJ1DL7-G5$B'V;5 MTUE'0[=02G<8U']HI[_9YWOF4=UE*I".E+:7]['Q6+XNH MY%'DQ%/9_!*[[%\&;E-#C!/RQO *88V4D37S=Q8D%W6#E4VA(Z MW;-?;:MZ^ 64G2Z.Y?7R&3>4,^Q>*_4)HS_DT_R;KR$GXM9+;ON=G6#]V&?T M_HY;2D?J^U>.W$ITFX2Z;8#WJ:FO>^*;[<$G.RKD=;P3!,K(O_[O5_35X4WV M(7KW36NQ\@25_7X1^[V>Y/1BM[Q(B2(EGA0U'EK>_OG@2CY'>#@Q/+Q\>2&8 MYTLPK!#,Q4PT]128A12C"K$G>+(4<$ 7C0,1#, MS48>V$.TV"='#4)NKE)48*-X/W?0T//N$6]%T>V7^UYJK[I[+,:QRB\I"14^ M(L:RUDLQ1T8IB9A-07ACL)";Y571+S+]>"_._1S;X@Z>T2+1_X@C^0]30>\ATN>ZW7BNU=IE? OR7RZ4M&S%, M[,4RHV12Y^? 0@[.HAW-LM^[F4_;%!8_LM7YHD)']GJ'.*F;W%HQ/\;9\;\' MIW,+E\YB+(F.!Y#H^,G@9$'E:8)UFG);<&.845 M*+14@9JJ*2(R:.]DBEKV4L)U.;<_1D!O(%]^64[OYE(GQYK!N7V;NV3.)L/ M(KOL,OWMIE2Q/6#B;8MR&QD>;+Y6/]E9ZH01=GMZUF,SI^B)YK>^YA"'\42Q M^?>)Q;^K,=%7:.E66^))@_./ G#/.M2ZAQRO0UB2?7' T4SXQ3) M/TEOA[ JSR\)K@C:%S?C'K.<#H'GGE>:W"&L6)'4A8-VR$$[SAL\A!4K>82' M$DGS#SL.)3KF&:98E-RB/EN&LLB8"!I)F0\!HB8HGS@C2W 4BCCA_$8%.PP8 M0B/!R(< ]W"KD=.,H"B)) D+Y?%&=?X;#P'^/JV;ODZ6]9"IFUN-/%=Z?]+P MY )A!<*>&80I*X/C0B*C' 8(\Q19R1CBB@2NN1!)^.L0QJ6A6&B'G 1[@[ =A\8\&P@K69&/XI:?Y]4H-WIL#YNK\UQ"M:MS743& MBV&A(BG6)84V.&I/*!(Q)) 4Q"%K14*4*.N4-E&'C?H8DG,FI4HH8&L1IP*4 M71,#2E0%8E+RC.]'4A U%*34Q2C05;;T!4!75%1$T&@1Y0$45D,BL@$3P"\? M18B2T[B1?2)H9#P1CK!7N4=[C$A+;%"T6F-'DA#![ VZJ"[05=RXCV>7W!!C M#FR^%DZ9]=VF3K.O=AJ+P'@QC%0$QI5:<)Q*845 )F4/A_():2LI2 U!>*X3 MQ]Q&1A$&@:!P]$@*Q4'7U2 PG TH,JID<%':[$G9@\#@4J&F0T-8!X<"C M##%Y3<5^H$L,I2JZ;O'H]L NO\ZG0)+S:1Q>TW;;(G=%7KP8/BKRXDKRO*=. M<*,1\3@?YKG*HM3?, M[L8&NH]O2(X4NI6ABAB5D%.BNW,I<5-,KI!(VQ!$/%OQ& M^!6U.G@?"&+"2U!U/4;66_B3*16%UQ'K/9U(\2''!;J*6[>/Z-QHFWA6CTKD M0BG 6@JP]B)K+'9&FQSI1G3V[F(&4H<11&70FG'GE-U0DQFAGN$(6K4/$7$< M*'+.!U"RI1,V2BR9VE.4F5YJ3#^) #)\*$G)92G05;;T)4"7"X!= M'",1\B%WE]S\?HV9X?,HY@\@E]ZN\?2-,JNW=BU#I7;<2_>H M?#T%3 N8%C"]3:,7C&G"(LK5, !,*U;0.LN32D@FKW)4"RAIU -R M$I^D=QH;YW;JS>\1+\U0XQU7!3TRO+RQV^1E#[F?GJ#7Y%Z;D-UE9M>[6CZ+ M'G3K-O8@?IO$<1,'7VTS6,'G^ICN\<+^R[4E8Q07'$DG*.*6$&2C#@A+ZD # M(UAIVT>#PO45N1%TY!70$;> #D# C8CS]%L^@*M'R\.F@]MFP;G22CL4" V( M!\KR-H.RG9PQ&.1&X!NZ.54F"21ZYK^1*M'^[H_S>Z'7\9%TV M'K?RA%Q1![)T[U2 OYVM7'H3>QH[;QUP)XSTM1U]M1=-;O.XOD'+U6^E__:E M?\P*/ZE"<7TY[]NYNE.3_KI.RB^YT?''7*EB,*ILVUNUBE=2^GIM;\R(QP)S MAP36$7%M)'(.I PCW$ME.0Z;Z4X/T1[:&;V;3Z[%70??G+]9!;@]RZ009[8:-;G3<5NU)$?&P)*$I2K:-2WWW7JN$TIIA;PM M]K_G5LB+1[=.AN[9I3ER:8Y\/!T,OSOCW<[O*=R]+[81[&^E$W*9\$MF@-() MN71"+E)USZ#R(INVEK;'12P7#GH,!Y6VQR4=[!S/[#08PL1?9 M4U3BIIYA,F?I(=IGY1\3A%$B(9LL1]QKC;1(#BGX,W$B$F6\I\2Q[.SNF/!S MYL'%R4%?)3C%D(A2@K/ U\%O:8&O/IO]>)&$%@0QJ1SB$6-DB1*(1I4$)31B MVTNXYL[ABPXIVW$BZ[.!KY)7]2A.6=#JX/^\_5P$Q(MAFB(7KJ3P!F.4]Q81 M+WV.@2'(.9YRU*34+!)"22_U$#X!UC\M,DH.%:V]"7@F"9&$)Q8KN:B$7<&S',I&2+14BF"8'BJR MXS*]SX;HBVOW4;SST<%3V_2&9C"-7:VQ63VP_K_G55.U[%2G@9LWU3@VRTC+ M6?1G8WCGZ461+B^&T8ITN>(]H9@$QCVRQ"3$&<,YF4@C(HR%QVKLW4:>V7VT M9#N:39>NDS4>_;6>OKUDS8_IYQ5C]I7Y.L2DJ,@%Q,J6O@ 02[G1! T8,2T= MXM1(9 A52'OAHTQ&4^P?HR+O#\2H+D7$BT>X1X_PM+X :KZ6>U:$Q5&S3A$6 M5X0%M=(P3I$)42%N!4'.)H62MP#ZF LI-X3%(\(=_EPR7+^GA72H=3DL+)!5 MMO0%0):U@8%]'E!0EB).#, /918Q4'B,)YIJO=$:YQ$A#CN#+$9V7(OJV=!W M\?;VHLU.IG4"@POHR(X&*1:M]@6Q4!$1ZR*"\62\Q@$I;C3BU"G0505#)H&$ M,$('3EB/6NT?:XSW:]R!-7)P5CVWQV/; +3_G@H;CTV90Y5*E'F@V1S#XNBFM$5X. M#Q51<47)350*HCAB0B7$?=3(N%94N)C_2XCI1(XY@,HBI%(3&// M'8]B(]_V(0KO'E",:5%0K#AX'\\YOYQ/1O5%S&4_:__OP60^]6>VB8/)"!Y? M7X;@%"'R8CBJ")%U(8)](-Y:BY)W$G$M''*.PI\B!9T"5D8^JFA#&_*VY,)/ MF0G_6/!@;E>S5NNY-]E!2RI( :^RI2\!O+CQF'#B4:+1 A!I@"2N+&(VD!A, M,(],:7MJ\.)#(HKB6[R^/3#,[_485:LR936H*4 M" IQP2ER(>9>[%:FH*3">J/ SX-#&^SHUWK:5O=I>YM\/K/CW57\&3)6R4BD(F&(:&MD$8J&Y3N+3FHK2HY)+P ]34ZAP#K"6)*82L=(8:F/E3>]W%2 M-]5ZZ[Y5E.UDL&]/+RG1#07(RI:^ M!"##TGC/O43)$YVS%##2U A$>#1!.$=L,GU5(WMZ(.."%R KSM[',T][,C%8 M%)0N&G"?+'1[)\EGPV0/W/1[]=(\)N&C/4@9GA2('(T1MT$A*Y-&H#T;Z4". MB-A+L$3+O9\ UZ87.Q,V:DC,CKW&=^DA>NR\4@"R .3+ 4AG;)# V C4< 9@ M9S R&OZQC )&RN2B5WUXIY\"(/50R1UKXT<%D$_FOVY'7XT##*I[ZD-4^,62 MY.EW#UE_ZF(U#UK#_US/[*@(JWY9D)[0S(.AGKM1W*>XVD\3T[LLQI%*+BM) MBB1Z%)T R8690\YK4-,991AKZZS=J +Z8-5^9S*+LZ&F._:%?Y=(GI_8*E!9 MH+) Y7V@DEI"<0P!*0.(Q[W#2&/OX<\@%)5*.?HH%_P30:4>,K/C.IA'!I7K M&CY\SOT+?UHNX._S\SBM//P=JB\__0W^V3(E E/ZWBQ6%+=XVJH#C5.!<8ZH ME@GQW%D # F"6(Q*2T*D53[?[\:1""Y239%IO-XM^TC]):Y]V\Y7!O,=U]^DY%Q M%H&+1J/Z:S4^';0[GLM"?ZD"W![BS%:CMG!>W1XWC.KQ*0*8.U\_IVX#D*"WH,^[\PV2R;I5FR+R6GGLWH)#WD\L+QY^/ER-+(7 M]7P&K_@6PYON=03C$_S#\@;8^Y&=-/%U$R=V:F=QN0XM_G?/?K7-%/]2-557 MF^CU\ADWG8JUKY7JA!'VPYM7?_W.1>1$W';%;;_3$\UO?^O\MC M*XENWZ/'G?OK7>H<.U)5[Z.*]S6_I]#$@3#RK__[%8BQNV[N,#5HW#CVOQFI_YLP,CPX;M_"$ORI.1^C!-^L0SP/OIX[D!W*CQPYY.$ M(E6+5.T55.YU7'L4L$,QY0\GC;L<6Q["BA6Q7#AHAQS$"@>5@-ZG.N[_(XYS M6Y6!'8>%MVU2-S,TC;-J&L]+D._SSP[9SSG6D9Y1^4@P=\PAY?-Q/I,&:68< MXIP%'X6QPML^CO,7;/EV'-K#@S^ )R]9$K[-7\2V5F;^XN4E ;&!?0.?DL+Z/49?>NQ\Y)S)*22B+O(D-':HAAP$I(F%\C& M.>E##N8/%/3$4)-2*/@QVG8I)K%8W ^718*GL8G3+T6G?D',4Z3*NE0Q49-D MB$38"P4*M&,YW,L@XIG0421/[$8+T7N7CE@5T/QSP6[]:<*$J"(4"E25+3U^ MJ/*,.2&-@ 'F]+.V;P^U%+#' D@%)4V0CRX.L4.HHJ7\0_$6]U0,+8)M%4J; MBR(9BF0 R4"LE%Q1EF&=(HZQ1IJ 5HJE=RF20+ -_=3\[1AO)236/1ZQ-U<' M'<)HBJ@HV%6V]/BQ"TNBJ.<:T>0=8)>4.?TE(^"7CS>G'15I4!RVE230(RY$+&)"/$(&< MMP91H9GE3F$J-QJ&]E'P;"=H*4A!R]W4/+M+%3"]GRI@ZQFMUT;WO=%TE^97 MO:Y _Z[\+9[XJCTY&@[&\4IWZ>W%X&Y[^:OMQ>"(]BYHT#N,<3F?BT:DC58( M.X*)P\$)LF%W/Z08W"=_%L-\%#^F95FX>A*G=E:-3[L#LE^^3>*XB8\O#2>? M8V6XC0W/2]Y4S:RM!S>[4C?NY@IPI4[:E2M*G;2]5'3Y3GI];Q+IL"I4[%$[ MVUF-"EEJ5&Q4[YS&./@-_CYK!K^,0PR#O[GI7_NHNE8*6!0,*QA6ZNR42E7/ MFH>.9L*%@TJEJJ.L5'5>A3"*^WP5N-!_.;/[/@T#D9UTPS^8*C2B8H4%J@M$#I_NT#2J7FW$A$)4V(ZPCV0BV7Q5%E>6TR-9Y_H]=U TB(S2V9# MR6PX8 $:;%0I$HF(:K,> @9AZ"WR-"K-+&."^CYLFQNCL7L2EVQHQ(ZK!A]L MGD0YL"BX7'#YN'"9>.^,EAZL$@ZX+*1$VDN"?(Q&I42X4QL^IX<8-KO'9?EB MLWU[-&5N263;^BW<>A@)P#TD+VT@=YYCO=1V^5J/1VW'X,)[9\6D%^_JV:>*L>5\U?E0W\^EWLM/6YARJ M9C*R%Z_3*'[;2%G\U[R95>EBN83M1:B9V>GL3;M["/;IO'GM;!-'U3AN[//E M1K 3QM@/>\YKW!C.=YK):G.ZO;.3W6:?;73.)C&23U=Y*_&T]SP M#.ZT<%.SR(!MOI/_>G 2]38JOH]$[32PYYW9J_$)L-.M*;7ZL2FUXD0)U6=* M;>F0\7T[Z6<[LF.?I5YF^O?1QW,'\I"1X>"N"1.E>,ZS#",KL9=W:_LFB%$V M@-&O,4?<<(PLV#3(8Q]UKF=#O.ZCZ,U2'>FKQ(W00T*/+T3RP.O+ERJ5ZV&4 M?G&P/YCED_V1S118)$H)]"F!/@?B#W@%0R I$D3? L*>XAU" ]'D> MSV8FB-_\:![BU>.7?"07JFELR2A[=.?GXS=73C(G-H1J?+JFI53=BQ?R')]( M^&+K65\0A]^2/*XLC"/6_['_YG\SE;: MT,2>QD[103;!2%_;T5=[T60']?H&+5>_);WM2_^8%=XK-;^=5G9T'^&_BJU8 MD?(=IGCL!8-O.G[N^YS5I!!(\ Y10@SBQ%BDDS+(>$64P)*JP!]='N-:S>#K M$1DOM%3PVT$S/X>1762+X(:P@WS,VIS57\<#%T?UUW)D^GR/3 4^4;>6 M]-8S47)"\:UGHG=YT"V_FQ.B[W?V6L;QG,H[?]?PZZLJW5.&D]_''=+7_)[" M&[(JXDA*%UY#:OS M/^W)UF "YE<="E256L:]$=W?I[DNU3)J=TER\_&=LL0+E3U$/AW-A M;W>RA M\7Y^/A_9%L[7(+QP5>&JPE4/Y:K?XZQ.(<U_@ ME M%'_7V'MV4#ZI2_^&J]#WQ M:BPZRJG'R'&;6Y6$B(P@%D5"B&-,2V4WZH)8:K4722 =A4(<"XPLCA;1R(U. MWA)&Z?4([[?^O^?5-(9?6\OP']DPO!ZVMCSI>=L=]/RSB6D^^D>5XI5H;]1$ M_SK,IQ?13ONC^,N3[NL1STV?66)H_7G;-\0FYJ1+"@4I/>*<)EAF$Y%PT2HB MK,9JHZ(3TTK2I#5B/)?Z#T(C%Q3@FE2)""JUIALA][UO2$;))H[[VQ,YR'O< MW+(S!8^^,^E#RRXOE1-Z3,Z1F&>@,"AZV2;:,.2D9@#=#EO!"+9V RD#4/6>X,,-I)J$XD)FPT^;D:(]IRTIZ0=PLD0FQTG[3R;=)P"8P>\ MI07&>H0QAHG52G&DI,)X%YV"P TS.,K9U+OUT[ENX)V(P8 M\EVW*2JX5G"MX-IAX5H048*IC"(8<8!1V4IV@&M4QQ0<-P+K7>/:[W'66T;U M4.ZZM<^SP;!2NN-1[/)NWL KXG0PC5UMFN:LFC1%8!RE?S%Y)3 1$KG^/S\BP07!^.Q:; OL"]J[XJK5RIZXQ/RBL32:<48RH%JS?JZ7'.M-+)H\BI1%RRA(R& M?X0))FG.@@[JF?D/#R<^45$1>0P&F90W1"0'BPMB23EL C9,8+M1TIZS*(7! M%%'K02FW"L#+,(-4PM)J9T-4L?@/7R(@E48<+[T1QPU=H23F(L:(/%,&<6XP MTI0;).&CY8'X(#;"TK$2+A#AD8DZ@;RP$;ED(JC.# 8&8[^A??AO1S/;,CH.;O5WLJPNQ83K?VOP['N?E%DRF:S%9-1A!OA=9( M&.H1QY(B9SQ#W(EH>3#)JEZZ[SV1$XQB/!2LV'L%)0M*%I3L#25%TD%BGQ - M'%!22X>,503A)+P6!I/@XHY1*+A1=IEPH^OBW]^BF7 H3/>X\>VI#;*W7!:#DE')ZVY%;YT(S&E$L4B(XV!S M0P&!"!$8[B(JV8V"7UM/JG_YYD?S4(U/_U[7X6LU&O5U!(.'C)5(O *5#U*X MCQ V]B]5[]FH]$6OU1&P5=% CA5*^L^+$ISQ@#4R4H &0GU$CF.">'02_D]X MR5P_&LCRQ&?KX6;110Z$?YZLTDK)"KC,"JBOU661X5XE)II)452/)(<,X*3]'T$;OU MI$X6"IJ-5D]:)N,:T3P_W:9 9X'. IWW@4X,(FNU1#XYZHT,VB2_"PWT M]SC;E?ZIQ)")'5=6/S+<7'>MP6<+TS@02%Q[-X%W?_=U=YWZ-.]CF!\@G]8W@ L.K*3)KYNXL1.03E8 MKD/+T-VS7VWS8WZIFLI5HVIV\7KYC)O"MMK7"GQ"U0]O7OWU.]>0$T)ONX2> M8'SK17=XSBV_FQ.L'_N,ESR,6]S?^BD3?>[IP=3/T(%Y'TVQK_D]:5P#N2V2 M^%X'C]^I,][7ZEPM,WX/C:A]W]>.35P]"C%2K;5>;2T4RXL-6-J[=V8+ !XX6S"F<5SGHH M9_T>9T5<'5[6ZT%"DH4RX4_5*V]P5.N5#T46_O MT4VY-*=^5,C4^_@ECNH)Z.ZSZ,_&\*#3BQ)Z>)3]J;56D9H0$9/&(!YH0#;W MFO;12>8%,RFRZW%PTD0LE5+(N!R"+(1!FG&#HK3Y=)3Q7F?!CJ3>\AS%HQFI)C2"2)$=361R@;$#WM(" M8SW"F-=,@H8"VJ1R'G$C,#*64N03U=::X+W<*'?2,XSM-J'-X*':=1O4@FL% MUPJN'12NT9QBIL!RTSK7.!!:(,,X19AKJQT 'E,;?;UZQK7^^M,(,I2[+MKT M;#"LE*E^%+N\FS?PBC@=3..HE;/-634IE96.T[^8(@G6!HF(%!)QFD#/DXX@ M;22F5BH>^4:>;;(L.[\ *F-PB#O&D:/6(V*BYM@GX=US\R^J@_$O:H8UTL4B$]*!Q>[[1-DU8)HC3# 7L0467@B.0:18I0PG%2?G@-JH+ M'KY_D>#B8#PV#?8%%K+KOR$M%2PD25%* 8-!#IJH3@+0F"AF7(J&,[ZAN!)N M7% $@8X3 .:90LX%BRC1A#N)-35Q3WY%H8>,[+AK][%3>@&OH]O2(P4OBU5@ MB1E$*2B=7.8:+02T'1N4"%)3;5/8,7CMUIO(U%"I8HD7."M;^@+@3+DHG1(. M.9ZR+N8UP!E7 %)641\(4VS#?.X9SOIS(E(\%&S'!:J>#9V7$,5'L \,C!]F9+'8)-N-,/P8+TZ)I$B*=?VPP(9 M+0UBSM HL4V$R&?F/SR<^$07 ZPAY?E\'B22YR";8E!(>.&XQ9C#ZF\43DR> MD1R?**B%#1$R(6L51 ML>L+1A:,[ TCG?>@3GF152^+.!<1:5#*0#4&@,1>>TPV HQZQLC'NCI_$I(5 M6"RP6&"QP&)?L"ASJ JF!- M9R?F*OT&AXB2ET%(RTW"&R[3GF&Q/Y>I-CL^ MN3XJ?'RRP,QV]*539MLI,]Q2[:D(LV,YW=K_.ASGYA=-IF@R6Q-\05VQPF-D M200#SW *!IZ3R%.0RL0K'C"]KLE034G")B!CG4!<>H-TT@)Y;'6B)CI.\9Z< M8!33(>'%WBLH65"RH&1_XOYA?)LCK)0]OW%^AP&QI:1N*:E;*+I0=*'H,N5" MT<>_O4QG&,\UX(HT5."".(8X&1LY;!)QMP3!([O5%?:NM)]2_? M_&@>JO'IW^LZ?*U&H[Z.8/"0JQV7ICXJ]^++AH]&Y6^Z+4Z M K8J&LBQ0DGO&HB)3&B"#2+"YRP *I U$B-A>3"1>ZS"1@+ PS20Y8G/UL/- MHHL<"/\\6:65DA5PF1507ZO/4I(!BE^E;'Z_N$Q/: ;F4,\S@^U1K]E/WXB[ M+,9A\$K_O26TQDD8BZ)3H*Y8HI&6%%0<9FPDSE#!91^Q6T_J9*&$#B5]TCC7 M:T3S_'2; IT%.@MTWJNR$(E46TJ0B SGL%6[+[]A@=8E^"!^F\1Q$[O.9C$, M9O6F"VSPU3:#%1*M#_@>H^D_&R@81[U(B"67VTQ;X.0(_"VD1Y*V;* 3?B,; M/SV%#.#J45YI.PZ'M_$81R*E)XCJ!$!.A$ :PW82G Q.6+@0-]-GE4G"28R8 M,G /QQ8Y)0C2W&JI Z-$;[2I?**-O_E@9(\;#V,>S,XB_'<:X^ <+CAK!G$< M "%^LU-_-F!D.*"8\I9$X ,; H0TDP@S^!)'%R=7\'<;O (&_PW^]P$$]6I[ MF6?FK,0&\"!B&A!/5"&;:$0:1B>X<%2D#0_30_#@?72S]U7C1W4SG\;/\+"? M1[7_]ZM!! *8Y$.5Z3S"&-O':VB:-J'#=DRN5>LA/&V ]]"9FOW6&3JT?A8:2U&,YR M\M4X#Q^U:_"=.;_Z2:Z(9VT)NT<2C*\_<&_3N\HYF2I6--^J#X>N1#QP >Z> M7_BN'KQJI/+A+D_?JP$HI :_']O\;\XM'?P_\W',DH$. M6TGRKCZ'45P,JJ:9QP/4*K146GCE$=AU$K0*#D8?%P893Y.W1$=*-]MP6>$3 M!Z-0L@A:!EMC,_H1E^C3+]M@?<9I],/8T7J&/"6@>*P)! M=)U";B,0@+Y(:_B5CDQ"/,(QNB@1@O'Z#I:R:]HEI/AIEJJO MJTG M[;:#W;N\!U3:@0VARM_#HPX.J52*5%(=4/"<(FY91,8"4FD>)36:):#=Q]"F M'DV'4FT-@)X25&2F8/L(X> MK#VP%27%T7C+M7;D.D#_L5BI7V&A,EC_'H'B/RP6ZUW=].8(H)2?W%QI<)^" M.X%0@IF$.0QI?#H \\MG@@?Z]O7Y.1 .7-6T?@ 073"9[$9("LE 50S"CD#_PCE ^944$\VRDU&H[!6)"!"%! .]Q* TW P^1D) M!@.<^JTF_Z64?@^&_K1J\7$ONO7GJ^SIHFW#%EO-86#A_P?3#F\.3JO". "O M!8Y,R%VU@DQ(>Y!'(A)0KIAV/&ZX;*WCBE!'46+* J.'@!PW!C0Q;5DV+S0I M6M46K6H"3)N;?0T'$WN1CSEVQ(->*JN0;-P#/02)QQ1";/(-X_5 M'L^#OT[C?\_CV%]\3+"951TJ_X>]R+_LA26;>%XA.Q[/[6ATT6_CNSZ@/.LA MTVGN_#:H%X8Y$2UBOX\^GCL@%?@; "-:4*@[JNF4ZXSPL,R Z/5X-_1CG$B& M&XP<<#_B#F-DM&,@S055G@OGXH;;]C[TTVJS5XGGW6)2^7/KV&_AX3T@PU4N M#_ -:GW?^5$HV N4UP8]I"5?']NXMEFM\YT>'*6='-R(!M>D)6PNH/P:&[0K MJ88@!T:Q 9T&-GA4P1I/X](>!-K/?X8(!!,&[N**.PM^6MBO\!O6;8F MX:)J.@#2.M^9^A,X!3T'-%]I([ . _ZQ7H-E1UAPQ@9-,>\?>M?4(\>NI^7>_9N2;Z76_SIS (B?F@]M>2*BM2TOZR4)+RN(_';="1V8@06 M!Z0E#;KI+&W>!4__9S-X-[)-,WC;BK\Z#ZKV_VXUJL.S@[W BH)F3*@P@ '4 M(&TQ0YZSH!(5+*:-YK;8*&.)UR!HLP,I1A"Y01J4-(E6:<635]\5GRL N*2B MK%Q?\PQM&L:7M()O;3\)ZW-(E++-W;/NZEGX(IL!Z*75%V".3@IL!R!X6.=I ML9/)M/[6VLRCB\,C+F99$M8ZY)( 0DD$='O*!2(V>B*D=E)O1![?A[AN%3"7 M]/5'7K*K6/3/'*X<6HL.A-#;5C+:]_5H!'INBV#;88K>%I%!3N1!Q61DW&F! M:NFRWH9.3Z=YO9T"-=\\VOTM%) %K%2G>BVQ?.7^A\O:=.#6.Y6JL05N!J9L M,O5DHFM6(2]9Q5^$NJP4[D6T"QVV5X4XL]5H)39N=IV>W/.HE]#G>-;[>4T= M/K<7@R;.9J-XW8L,-JBWS=EP3>9NE;*POC9_XV"/6BB""_.-K;EZ>>]-?##, M'K!M!!!'L>7DUBN?+X IC6%KV\?.W;_@UR7MM$I[^P-,LCOV:+++_$L5VBK) M[44?VOQF4'9?QB:_G^>SBW;FD];ALC4:K#OJ7ULU.QK57_.-9_4HQ&FSY7@! M%GUA00V^@B&>S_X&YW%VDBVW:01^B\/KMTSCN:W&\':?*:!*%7RTS6!4CT]1 MWCS@4#?+-MYB-)><[^RH9=7F+,99O@?&1PX]/)'RQ-0X*%O:-J[_E#8,GO%X% M8'^[8Y3U8PCL,N#_Z4F,L"M!@XL@P1RG?;:J@#"QI[$K;H#:37%]4H-B)UPKG]846Y; MSV$1P_<=8M.'C&;W"L_B+S$\BYCG$9X5J-4BQVZ+Q /B&*N@(;&.:C1(L5.LN$X(Y)=)&B9P2GO4>"?7WQ72LDZAP7R6DG$4]#(6LU0(D#"*BD7[(9;_S[$_<#XKG^N+?O+C>WB M5V.[Y@Z4BK70KGL%6/%E@%4V>PZ.#+UUR="@D$E,9\\R00X>C1QSA :6DH\; MP35<"B(,IMK0-YX8-08X&CC WB0L9 MP23:T'\?SX(EZ.JQ05?78JZNA%P=;NP,WXB=V0U5)\Z5Y1(CPG,H(;,<6?@& M43<1L1UD %47 X/*A>F!% =3 5>V@ %7]) M 50KL37?#CZ;M?FZQR3O7C_<[8([^D;ODZJ-%[:9'_A][O%S'#]- &J[.G"- M';<]Z[;]^8T'2+%@U*Y'\O"K2)XKI;\S=9LXK0_1MVT,T<8E!9IA3CH"O1VY MB -*CFE//7$DKKDP-W>)_7EE$6W]8)EP/:2'!+H/.UB^04$9'.SJ/5=7'AP- M:>^EC28@)@)&'(P+I(4% 0\2.Q"/DTE;\<$!U?1.MG9^%/='[UK<%N$8>IBU M!Q=QG_W9;P8^ZWV3@U,RLLS&%[8.2P_\<(\#?A$RZLTMH9+9YS.M1WV4Y6C2 M=O+'92$5VW81?KG\.]C+JCX_CZ'NA0V,SL>P$'SGH;QX'(C#"@R//JQA M&7)\_7(8]'D].\]7/"06>;/ XNKV13\X)+1)ZLATS)E'8+$X;I%SQJ/ *761 M6!KH6@KX8Z3I+2;TTE)^/YN""CK.=+0E0-1DJ X1#Q\@/I=QT9.K5>G(K8LP MN!XL[6=-DVWL46U=/0):C.W]$=/7]/&M5N_D'$LKP>I-VN4FO,0CJR@%^S<) MQ;'6DJ_56'OJN&Y?3B7B_YH^P;T1:2*MTUSF>FDA[Y5 M"V)>VI6OU &R64?+,?UM]4.'5Y-9"Y>U/[Y:H8Q%>>VNNO:R7/=*ES@[FTX6 MA<7SS'(0-LBY?#D:V4N@7ACLUQA>+ZM^#O'WBQM\=E!W=<_[7+=U1^J7KQ;/>'U[6[S^M0(/I?@^AY;??0T9$DKNN^:>W\V02+7A M,PYG'/0%C^.>OHTY5/Z1;1MOY?[;B7:SUGOZ"#OO/:;%R;;F]ZP-N>5WWY[J MHQKF+D:^P\79+'MHM2#Q7:MW71=^.I$\LA?WWM:N<$[AG.UPSIHKOC#/]CHR M%\E>\.E1^$0+/CVH/GX!IHVYYA0G7/CHD8G,A8^*]"E<4Z1/D3Z%CXKT.3BR MNL>\[ YYUNU+#TN1_!WVY1TG&P]H%0Q+M8\Z.!L<2R]/@TNW[$W;_>Y]XY^K M$_:)=KDV3FH28D#<1XNX<0;9W.B'.VP(\5XFN1;9N'F+A0>$,SZNLS5E^)L) M#,=*Z]OEY )?!S#E E_;+($NJ(W2>&0CR]T@HD)&)8&<=\EHG7C2:T&UFP=F M;QV^-!DH>G>BWK&2>D&O@EX%O>Y&+V*XL58IP!^1$(_8P"?IX1]*";-:1[*& M7O"#9,0PI!/H73SZKI$C1CA(S)/D!!Y8E*\"7P6^"GSM&+X"=P3'1)"0+L=3 MA]1G-/&8E"/6>;/>2R0$8@D!R(M.@/(EN$66*H(L8*'5(20G[ZF_4I2O7:+7 MTSR+WXQ<>4F>Q;_%MGT%9&G/)S"3_XZA+RU_O=!>D1R;LM/]!R5'PW!/W/1' M'16=DM!QA@5""$.",(&XS<9^B!:IX#R5PJ>P;O$_S6&98M/$\&M7NJ O+/I[ MW);,80.E[LX:VS6/+(_%3IU+"C06:'PYT"B= _"S"GG,->*48V15C"C1W/" M,Y1)[FHJ^,"Z19\$AY'CC\ MHJQ^I3G+ZKA4"ZAZP^%=\L;7* /N'? M5ZNF]+5XBLC:+D/2(+#UF,$Y5?GCB:L#;(*9U[0(!4 MREWC48H*Q) BFNFMQ*^NU('ZVV3\*1?B?U!QQ4?*,2H'-*?:/Y\LNT$MQR?- M"F86S"R8^:@CM"B$3=0A+#-FVDB1Q5H@0J+@FG"6Q%:"9I\',S492/*L9VD% M,@MD%LA\49 I!&'>$H^PEP9QJ25R!F<@)-HYZJ.G:VKF4SS(SZ5FBH'9=J]9],HCP$V.N$\*&<(#2L(Z&:D(0<5MN):?3P%#Q(DD4F12(XZ21CD!3P=,029;@PFRC-OBB M9?%O8S\YCV_&8?'%NZ\7<=S&7^HVMSF8-?'9RX8?2!>(7#1\V?0Z]JM2-7%D MYXT5-BX=?AC"=0LKM<9))U(47:HAI?<6W[ZW;/I]O].AD1N7 -_"*/2]U2_2FGC;U+$-HM.?3QK8JS^#G^?M=6[KGG>O[GF+U?% MPDLMJI,I=5PP[!0P[,[">>=U"*/X C'LB>T,[E^O4X6I^Q?E%"=<..A;'/24 MG@8OEX,.JNCD?!OV[D=^U/J^A4_9<3BSHS6WR$F6G-CW4<3>R:-4&-GH"$%K MS$A0$1$1::Y)Z9"ADB 6A0@I,6[U6D8CR:5'4M*(D.S)Q=8@*TQ"Q/CHH^') MV+5(E9N.V^C@X[R-\)N^E(/-P]I6BN, BQU'K!S-(<%1$WS!MX)O&Q6 (P'G M*DI(20+XQI-#UHB$-%"*$%@E&=U-?$L&6V4 $YD%:.,Q2F2BYL@99@T-G!AB M]H]O9BD>#;P=54.DHM>95 LW]AG=?4>DPT&;?PJ5DA;[8K%"KJ8G&Y=(A M'G1HSQFRR5/0H;$5CC@GW5H$Q5/T[E76?I_ZW% 025UVZ+:RYG>M:9]4:F@! MS *8!3"?$!\NN:')*,2D\ "8@)568XZPQ,EPSK0U:X#Y%$7^.0!3EESZ W2* M/RF7_A9]_^C3Z3].IEMOW'08J'18\JL$[K_4P'V+HU&:822DUX@K#X+)YYY0 MG"4FO'4"LQUYW;?F@!+D6:78TM/F0XAEK'B7MC3H,IG^U__0E.+7=];9CSU MB4[QJX\Q!Z#G[R\6;6GG5<(J=UDMT7EUHH^8Q?8QCAL=@\\IF0*40P;*H54: M(^64"#HYK=):\1!0)[%6)(!RJ. >#O=H;CBBG)%@,+?,KR7776_ZLI+C^5MZ MNUC=_Y,7][?Q.UC$MGV?EFU][P1#>0T,Q;V>D.'=2N3S$UX%5X]@"(,N6VY_ MXW@DJ?.C)77#J1 Z:F1X+OK F$".>0\V#278:1>5X3=)G4N).0%^8,ZK7(\L MWTTD"H*$R*670=S3GFTOI"[-\.YCDOV1^O"1 H7H_4B4U7CC1TR_OS2_ZE4] MA5'X.Q?DS_AY,OJ<"TCZ)H9Z6B7KNRS,ER!QR.LN9P8<'%1(3 M2Z)AR&'9!2H&9$%Q1TI3YJGTW!MR$RJT%QBG&'.M X\XC@DY&S12/*F@C>+: MV9M0\;=Z'-^GMQT-_#HG@;>SIH&Q_3QIFLF7?!A@"(Z,"%H(: MA_7:CF.;A" R(AQ,KAWD C*4$Y2$P2X(R;0D#]EQL/OJICL#^@7F2*YO8)XV M.H?WGN4'H6 OT66T#8KCO3#O+]'';A:XLEHAUTT;:&T'],-=F*":F>@,R M.&LI_8I7;SXU,6:Q/%=L?ASN<:"/E89'63/B3ONJB=67_,^A8;\0WKN@+:(D MQAP$9G,=&"X[7R<9N2R$)8_!G/;3V&I7QQ"H+] M;.M15SX%QE^E&>@%\8JR>C-ZNJ);9M*I0:^ /T=U%US:JQ2C47=9ZJ,MP&;U MD\\1/D_;8?7Q/KJLZO;&0#[%<6RZIS07DUQ[I;J8P:G M[]N+;!L,%A_Z?#%X!4RF[>=P$9OS>II-<.O_-:O;.F] ^VC;Z2BEQ:^PH#:$ M;LI=5EU/JMWV.T"4AP!'DWM3+,H1S8DABWNB7K>9*;O@E*YDT14) %)-N]O; M;D_SG5G+JOIWW%1ZV&)GX3>@L,FLJ=Z,QSD-\,\(-#"M8+@PD_.*8/3OUS;N M5D_R_U-5)UWXZ%HYL%'\BD+=Q Y60ZR;-5)]>+!RR(ZFP9OW1A/\4^- G9!,-\94=?[&4[+UZTND&+U>\H[O:EWV2% M]TK$;QK@]<><)"\6 MW:^V;CH_XU7ANO;NHG4K4[S&C3?=<;?R'K7Z\Z.R_?KLUH:SF'P]SL-'W1I\8\[?_:26 +^RA,LB;3..8\03>D]3X?5V3%[-,,E(*L)';*Y7)Y!OE$ WZ> M9',$]()LPPQ G0;5 =ZR>EUL\VEQW9[%[-+,>D;=YE=5J0&VS/I?]^A^N?,; MKV[NU#Y0!',]Q"HLN;6[/EHPG,_M?V7%J&WCM+L6]-F^:A^HD=/X:=)<+K81 ME,;IZI-!$XEU-W8+BI&?-=VKX6$ 2U=_ [?6H/VN4 6HN?TD0Z[<.#_C@=69 MGL'SOTQFHU"Y7/O1Q_IS7_P1^'T$@YN/$MYP8>N^*F1CQVWJ1G U[A_@RO@5 M%+?NL3]F-0J^Z:3)Z+*_96YRN3C]$N,8UJ#Y)SSXPN8HA/HBZ^MYKGEH3:=U MY8EDO:[7XA^PZO,]ZAP4%AX$&B0:Q<]QU/W>:YUG-2CWC3^[[&<.HYTTH)W^ M=^P7I1Y?@)F;9WEURS3ZLW']KQE<,FO[M9EOSNK+,T"&:G8!-WPYB]T.M3/8 MZOD3+5P]<6UL/G>&!DQA-K[Z>UB]O_IM?@>HO2/0JA;K!"MAX0E3V^UA:B;G M58X*SL9&)LH6E%:?+0Y@+WC&ZL/O>"#LZ^S\HK-%X*L0\QG?]<6'Y\+6]LN_ MNII7:[C0K>]9-B ^U]3P^DM8DW-X/ZQW6*D@^NK0G':K0=>(#ADQWR_5V"XL MA ZI5-\*"SE.<^UOW?Z2[OR8D-?5_YY-LEW5\71G?&<>_ASG)-3;5G5>I1Q' MU"-%>PW0ZKADZA6YU+'U[=$HFZ_\40JO?N'IZL5,"D3\7CQU^M,O_>3IAXR36Z0IAJJ;\>* M'3%ILB5I_N,6T5)GH5>#M.N=O(#WP/O37LZ-)ZLB;#"_L(G_FL&*WRIQLAP) M^:V3BZK.XOS+>%5:O0S/V9NYYK7T=,%2+M6MY9?I5KV_ZN5T=H_6/9^L7'M0X\M^@WLN@LM;6),Z =C#.^8.N=M',*S^SYWZ MTSC.E2C[M3Z'->H> [_D5ZZ35I8FL$9K5]ZBX92SOV#6#_>Z-G^>-%WPFBLA<7S01H(OO<5\@JP/][ M8H.OVK/LCYT'$8!V,:P6T=8+*K[I(C?,WK%<=PJ)A6WY*5\5B O;?IWEABY73KY5QKG)@(;^]D-]M>[X2I#5?6ZOWGKC+8,K*7@M(LJ/ ,H!-WNC M9Z'K79U6U,OHPOR(+$%#G.93HVSJ+2%ZKNNX>JGOW#6.):!;8 NPO4-O2E_F M&SK_PY7$O8A@ 8=A=7?8]&U+<$NH]"TM(@[NG)<02B@3!,D@.>)@7" CN4.: MJ<"DE53CM>#H#;O1YN#1VQRW6SK<99@.[R[EM,_#72"'@]M_$S2U5FD4K!>( M4\>129(B016EQHB [5I0V(:=-7>\_T3@X=V-XO89! ]SO(B=,3:Z[,4K2%YX M59N/U4+G.9C; &'51;HX:P<(&UT.\ZEKE69-9Z^M'AXO9?T: K>Q_UC)X=)D MR9M0CFVW>^IEN(I1"8MDKHC'C5;(4H81ICX):;B]+6;F":=>5SSS/F69&L=M M1P)_]FV*NM(:'\Y O/^0?]K(3H^5<;.OG8OH8S\4^3($&4*]"^17J.:Z# ML9WG+U!,% SJ]K6J8%O'CS0PCM+3]=LXAR*IP:TFQ<\3VX2L]_[2.0HG#:B\ M87(QG6=,=2OX#N39]!(LTAP[DMV0?\#*K<8OJ^Z;1:SRPESHVJEEFS*?O,U/ M86Z^OMN<,R" V%R%M?6/J_*==8A7H4Z?FNR@@;'6RY%T]U>3^7G/'<%4\?QB M-+F,9F[J]:_Z10IN!(LF4X_R!;<+5^U648L M';U,,;ES?W2 M#E;6=>Z%2*D>U=D'\LUEOOF>FT21[3 M_K"UG]2=_I+LH*C>9-B'A9OS53-?K?Z4;[Y2W_(47+D\;L]_W:_IGW#$)H'I MGR*8<1B4T" (4CARZZ)1D8J;I"OB\S=* P&2A^4'1W16SY^.8:4=T:]+T@KAO9!#V273/@2FP M_WT"TSXRBQQ6 6%/-4[4!ZW7RGN+D"C8.AYQGC,)AHB M@*2=GQW>K@T [WE=_F _KB'WC-VMXVM'DS-NVJN>/S3N[\-W(MM!@L2.R?J@"J1X;QT?CW$ MVKUJ$A GGB,3P&Q2+E?5L!CN M6?/BW&XLO6D:._[4!9G]?+EV\-.93;T;]JID4_L^^_4^GMGQ^][C^'L^-FS! M9NBER^;>GP'61Y0E.E)U5=OXFV1U]R_:_9QQ[#0VCMA!:L2*\B MO9X@O3@-F%%#$%/!(*Z=0U8YCJ+V*@C+=3!KV;I>*\VX"HCHA!%76B K-$%> M446CU9RPM;B%W4FOCMW;W\9_=%ZKC847PWH@51%=SVPTG1 2;\"C_Z=3PXKD M*I*K2*ZK5?GAB6=WCSR-Q\HYD^-9HP*IYD (.C#A$':.1J4CY_S )6&/'EN4 MA&Q R=VULHZ5^1[6:.+'8LT=A$C\==*D6!>I6-I#/K? M]=#%WCNW(6#="P_;1(!@HWZGO,8PDP11*H\YZCW%'> M*4HST!T)R/W'?$O>]#O2'27E)B7+%/7K>>GCN@M*SX5.WJ755ZR7-KJT.C12&%P# 29R$EV MW$:DF2.(1)LLP9*Y(#'[!+1E1]G1"@ITIC!8F8[$KA'*R@]W M)Z^L];=(DUES2&00\U2!&+K*[_7*7(=5U]7^>E9LKA)3-7T6>DX0'"]X;)$T M.)Y,J\N8K_&33^-%R5 ;<)3:X3 M?BO ]VZ>U/@A-I]K'V_'P26&=9#7=CNR^GNN!/#[9/I_(XQDL>!;JK)AV/#N MKKM[(-1KG2;KMNLYX>=DV%?Q71#=W,Y1RXW<,R:;)KGJH.<=7_]MT6B>R M+&9(]-.7Y6CR@8_QF&JS^+]M97+>>M12N MWG_<Y3EHV(0JK%58KK+955FL6':$[@S^[F_-Y M1*X'7_W0N=?N#!4K3%>8KC#=?4SWYM.G)GZRTY[;^K6L@='J<5O[/B9AY9C1A]R]NO\6J3%RHXA(UR MB'.LD19,(2VY3,%(1MA:N()0C@M+**()8\1I+DF,O44V3^YTEN]]9A4/# @P/TR[<' MSRB2*-8T(4=4KBW(#+*12>15!B]MC%%K=2R8,%%Q1E#$$N[A02(#L(@ '(,- MPCJ>Q*UXY^['._=HO/MSX?%[>^7P^QB;<[K%@,.[R$0-]3U1A(4Q#IXQ7C#\ M%=5QBZHCMBH203'@8%>F-43D>(S(T^A3<$(*OY;.N6?5\;>%Y_:6]*4G!_Q3 MIH>LZ(,;N'&?J_S/+:MY&.5LGJ>>Z]%!U@N44"]0#]E^K;H4!;?*(IL,0UQ+ MA2R/#D6%J2$62^K6.C<_*4!^0\%TO3;K7YM)VV[8X(L3.9#?:"M7N.)HN.(% M8E_1SK<(@C9%[CU@F4Y$(^Z" Q $5,/>2B>E%2FN:^>[ ,'V42BX;^>N,D-B M"GX>/T,]0XS4BU^3L@YE'0J/%-HXE-B^XA2:[\=";2INH1,QC5X@ !U\X68< M"'&":03&%$8\Y*@90C%*,;DD/;8RKH?./,7"RH4#<@?X&'Z9-?7X4V\I]:WB M5XLP++E^4R\2I@-M2FN#4^*F%XB9Q9VT57>22Y@+BHQB 7&M(W*&&,2XX)QY M*PE['I_Z?>ZD!0@>C$>)FR$_/2Q]@0I)L9:+M5S6H?#(OM>DK$,),SKL1F,O MF31+.['23FR?7BEE.0DV"20%P8A[SI&.B2/GC:4B1AK9=JJ#;AC\- >461,? MVIWZ/K<5I0,C:>D:5CQ;Q;-5/%L/;Y"1 -ZT8$AYG1"7F",C.4:*DQ0"MT;S MP_!LW8*8^_9M"3&D)?7A!+BJV.W%;B_K4'ADWVM2UJ%40MM8SWNN+KZG2H&E MMV_I[?M8*RH80QU5$6GK,.)@ R'M(TR$0)QY MT-FP)"B8R"DF+ 9##PPL]^YIXD->/$TGP$PO$#M?T"[?7G3-<(VC3F"L:B<1 MQPPC1X5'3BG/A XFF/5:NT]UL9>B:X4Q#H\Q7C#\%=5QBZHCCX(R'BSB3A& M11O SC:@$#)! B;><>E3L,F'N,G1$.>K,=X;LYTO6>+Q[AX MC(O'>/>2#'N.!141X1@PXBI&9)*6*$4AC0W$W!*HN ])MH(-6_(8LX'D>"#( MCHO(%X]QP=J#$<=%[=\L2-%YP5,BB.HD$-XS)D.\X&KQ@9\'.LLN[\!A3[27W.8@ 1XTX]0X9PBE2P7(1'2,X'H3'^&Z\ MN\MC3)[!8RR+Q_CX&>,%PU]1';>H.C(65(A)(1$\P"*)#)FH.:(84QLD0!N) M6U,=MP.EUSW&9$LN8T+E<,=!6D>#B*LN8_B<%_T661'JSP^:$*'P]_-Z*B:K^&'7CFOA_5I.>4*NXJ+-6A:X> M6W?Q]*R)L3J'IY_!%>, OU[W(0^J+[:MEJ"U.M]'3&;[EJ4*S&GM$)4T(1X) M,'T( L'[\8C2Y!+;K MJB!6?\R WX!\.IY]Y%K)8T6PS$UV?%G!Q"MX_[>6I/KA?_T/32E^_>[#'W]T M'\GK'RL8'*"4'8TF7P"X8$9U=A#'^7-:@,CJ8O&4WMN=\=%/S@'KYL (V#>9 M?3JK+NQE,QF-@-?"S/=8:<>AJMN,L#TFPM/^!980D!;P:HA-]2'V:,0I6^#N M;UGY&@,N_QD_Q_$LSS'$895G>VZ_UN>S\VK<>>+S#?,AV<^V'G7G=\#:\,9V M9L<^SM^1'YKGG$=R:/BKE%$I.8N8!B.7"^=!U3(,1D5_4ZO6"=S E&OV^KMR+9M]>8:;0^K-[>< M!P]6[P?6"P='5H1&SZ5T*.( &CQ-!!EN@6(\_"(5-DRO]3GET4623$""6XFX MRJW]>( _%8F9BOLF*SI04@W,-\[.]DI6];2]#HW7<2EU2[&$I_8&/CU: MP!^MWKV4*!?Y.*!;FVB!P;J57),OBZO#33S_ HI1Y>+A<9]00H*AG NE6N D MQ9#5##1K:<$6UPSC)&]R7P#6HYP0I)U4 .HA=V(G"FG->:($&]#4MV9S+_2" M[C3F?5KA8E"NL_?C&IO"^E\=PB#ZF%,8+0Z(4;]?(#_H.KWV\(/]L?LBV;H! MY:+Y9YS.;< +N&!.C>/^DKIIIU6PEXN'V(L+T% [WIZD%#M+\*(S32H@YQ_< M@Y^\\J E7P0[C2\'#A:2M.ZJG!\<.S.K"=<@#IGAH*-9II&FCB*KJ"!")RPY M7FL:#@@@B1,H"I\[W3J'M$@>^>QQPY0JI=VC*KTO-/N>2Q?\"VK]IDT#)1\P M?'#P7#;! M,DPHR >J9:>G660#])4:&&(*H J'#F&,\ M^04YVM&T>?7F?#(;3_^CGIZ=Q5%X/_XYGME1>I\69-@N-;L%+6XKLG=X]ZG] M_GPO':D<'"5PF7C ."(K0@3CD2?DI$A(VFBP($IAM68\$F>XY-(B(CE%'"O7 M4X^.*64B4221PZ $?IB4D,T]%^,8M,]^2;(<=]VB9(BY\IRL:/P+N7Y3XP<0 MRT[H'L3J\XQG\(@[_"C9?]S$BTDS!7RKQY6?-0V,K1K5UM6C>EK'MO>2+,1I M$_WDTQAF?8"DFSP7E(,0%3HWZ8WY=(D:C"(S5%JP485WVU"1WXQ&$V]S@-&M M#NAW7_/';5$L'JI#I-B#Q*X0&&Q9(B@%FG&(!62TR2>47NC@& WK%2.P4-)( M(>%*ED 1U9_=9U"_?F6E;IIV[UI M:CNZ8J[KX5..!F,U@\6<@HD;Q2AGX$)O/M8]WG/;UK B?WJ<_E[*I-W+> M3MII^Q&&\S-<\\_OJ@C\=P&OFC:S^+!C]:,\PKF/,.9"W^=8_I!SD]*D/ZGY MH<[.@\FL!8I6=;?W-VN6?^\URW>=9OEOKOG+3TOU\NFD])!: M_8>PG,]7.[0 5@&LIY8F+H"U##Q[4#F @DE;9J'CFG#AH&]Q$"L<5"J"/V-] ME^Q3XM$RBT]$)CB 7IN2-;3.&S=FN!1** M5 ?$':=()QZ1PY8$H:RWC*\%)@O%A3<$N>@CXMQ(9%/D*'!O>&".&,,>EAAR MYWD,NW8>P^X-%\6X% $H8':$FUS ;)O1!A3SZ*E$+@F:,R8B,L$XI"+3W&(M M.%TKFQB4(D0$AA@1"G%# -9LL@@[$FPT*29EGQG,E"A@MHE.7&H>7JUOSM#H MG*SYZ#Z 8CR:7.3X\"(^3D)\O,!*&5N7&IIQ+FQR("NB1=Q2C#0+%!&F2:#> MF$36PBMCM#@Z4)NM<2!I7,[ZP* 'AX2IIM8($M?#*'8I->2 R;N3\ IY%PPK MFWS"&":L3"1:A:B,$C1?#EJL4!J)Y+25-M&HU%I]AQR.ZS%',48&9KS6R.J4 M$*$*M&41$_-K898[Q3 ]4*7[2_$&;XE1/@ %]A'U?5Y>/?Y4!$81&$5@]'6Y M:=!,1XV8=0)Q!6+ D*01X5Y8Q6(@9DU@J*"3#PXCST#SY4P%I$&^(!%,H-Q& M:]/SNDKX0-"B]!8,*YO\(C',*PKHA3VR-.=%:AV1S:T6O52QL:-. M[;4!KJK;:6-SFE:1&[ON;7-;5-?1L-Y6.MO<$]=V2K)'8J(ULP29&#GHSX8B M9X1&EG$=8TQ1\;56#9QK@4%31HH&D#V!@^1RGB&LE'+!4JK<\SIKRS3N-< M_P%T>V\I,CJK^EH9S[QP"OMGQDJL[JYR5K!R;P[L;O3U.,"@^J<^4;E?3?CM MGK/Z8'PSA_H =?^N5'9U7P6((MM>3(_+_<06ON!FE]$83I7GR!@K$$^>(HTY M1M:+7(U+L52<))C)@R#G&.X1XE"-+<:JESY3']S+';=$!D M:?B[HQY%MWX+MQY&Z8$M%%FZK3+1M4)AH_@5A;KIFVGDJD"S\_'K4+<7(WOY M*O_Z^L*&4(\_K1B1=?^^N=V%AQ*^F/=]6;RZNQ7%<0#B^IKGD L<+>GLZP.) M:9/"U)OE(V^VZD1>H\T%49TM3=8+^RGVUBBR"8;YRHZ^V,MV7D-H=8,6J]]1 MW.U+O\D*[Y6('UE4ZVHAMU#I+AD9C(T629.%0S(6&0HJ=G)*>J:BD>LAVD]1 MK-_9)C?S;/^(32?BH6X)OS/F[G\RR6.3*"B[+IMU\X-ZF M=YVX?X_3JA[[R7FL?AA-VO;'J^K^2XKO)=1#>^D=915#T)J (\=W+T9EI].F M=K.^D-YTS M*1#5../MLH)IWYAA4,6O?C3K?@GU:):/OZLV^EG354\>5-<:_0VJ/S_\HP\4 M[:JA]J\;5K_D.V% 6YAO[XV;7VLN9S?=AZG9Y.PY//GI]/'UJH\2F9 MM1;)3=S@NSKEB[+I 36;T5',O,ON[9O];@%,9;3 -OJRUD<5V!D^-G(3I<< M _?&N2R\(O=A]8_EGM_RFL&",E9J#*^^M8WC&@8R!F(%FIH7((:ES,7-%U0X MJ#JV:EL87?< %ZNK]]3C&SP&#-@]Q478H/&\KOH547;UAP]X9"TD'PFW&8@]/'##POKYQNIOV^0FZ' M9WW9UCCM:O%/SSH"Z$5,?_(QIXEQWDL[G33M/!EV/($7]%_,VK[8?D=,G9CK M+GF(".CZ)MRHU-M)H AV^=5UP4[MBRC@>T=/T5+#]X$U?!EASU$Q5_-[7W.( MPWBFVI?K,+=I+8^PH$4SCB17'$CHOI'CG!["#:].DU\6&I]A^R\JC%_7WA&GFU;<@YJA8 #T:< MPXC!V5?Y]I/3Y%FM1 5L.!CT!^'EL;./> MM:92@'FC(%YKF/4F621ISO0C$B %:X]DT$8J+ .1:1L'I,!ZOW6<]S?@NVWE M/\I06RG@19/SSQ\/V1A2$$J<8>=T7QRZO5O&6-B.[VM M=?W;E;"RW_MXLARCDP-][-/]NNVM/H!%J7$45'\"T@6D-R>CA\= M@!H/B,A$$/?4(:VU GT]Q$A(,G8]#OPI.OZ.0+*+37=9+(N(_/NR\8I4VPJKEG(<+[4<1P"))!A6"!-B$*=!@QT@(M(V M11V-Q+OPY+]92:?\./D#&'H\G62G0<0C*84'7@JXGCZ[/<^C M@Q$BV8@\6!Z(6X^1$=HAR[FU2AO-Q)K79N-#AZV@]<&<1QPL:A_>J<5+BHS] MY2I+N,3&EDC",N5"T2]A>T]NRL5KMR^QV?GM^IH:=WCM%C[HG'3<[^+JOVO5 MDOHJ,\75=X01.*7KW>:VGC8$*\'!UO,^(IZX,4?O^JB!95Y+HFL'7,^A3FT#3@= E#+> 6=G2%P!FS$1/ MH@I(* -@9H-"QAB"HF-)8^&TW4[5[WV!&1Z0TMUS=YZHHH+?S7#OGE;B\PXM M?*7R9Q%6)72LA(X]M4405<)XR9&QWH/P8@19G!A*)JF$23)>K:6'/"V^UCU%T_L[GJA?&'OGISY!%F!4@+ MD!8@O0=(A4Y:Q@1XR )8 99%I!TQ""MMHDW.";(6H/2T&-R] 6F)TRUQND=C M;MST^"^-CA*J^[*"R?8H_DXTANR.F"_.M==<(:,H1EPIGQ/-$Q*4<\J%BDIN MI1G!':ZS>:37F@=MB\XS,]!8OM"HKV(Y%/ LX+D[Z\%@FA3!R.# #;'W@^P\G#B8'GLYU//,4^.'P#X!M-\N[HD[9VU+#:-VW0 MQPP527>BDJ[DG#RSR/,:9)L2&K'((^*.@LA+6"/L58HD" \"<1<]5->/U/\! M'T'X3>T4A%]ZTW58L[_D]DA-V]VRE'EX5>;1>T0>'E)8OE!PWDL" MWQ/.,8I9\B"S9%Z"I C5(E2+4-V&$%3*6B,X"#02!>(*)*'U7")M9>!!@K5" MR2X,DUMSU8MI4DR3@J(%10\819^II(BS6BD94(HN(LZ$0QI;@UP4C#KX)*S; MA6FR750NQLGS&2?P.2O2/RU6LJO<5WOX.]2?3['G_+_!O.Z8U+?FL>2X^0(M MCB2Y8)@(CR(5#'%"!7(!8Q2HX$I'BZW3VU"#/OBS&&:C"(PTGM:+,*T/R]20 M=U_]:!9B^+69G+^=G%^ >93YX7VZR:D?81P_C\ T^JZ*P'X7.12NF<4=$_$= M6_W0;IL/VZ*[2""O&+I*I^D.:*LX7[ JP8I5T[.8[#Q!DGD&^'(WLY60V#YM]W;^.8,#V[QO%L^XRXG2O5:J(2/L^]??_>4;%Q&0.O==\YR'&4ONE+Y?,9S(G3G>"RBH]\\5VB/YXU,59_A[_/VNK=.(NDSI?Y=]OX MLXJ106DA_?3PGP)(!9!*V_K' 1+%E!?,*1Q1.&*%(UCAB!*$NZO3[@^K53VZ M>AZE<,<6W;BG?GYV]&0=31%JHWR0=YTK6*G M5,BN56))3J]S^?P#*R0\%\Q0IBD1-UVK&SI4WYP#IDV/)UW\U+FA -S);>F) M AR7QJ@D(S(F@Q7--4&]X2AHR9E3%A.S%D?*L!-1,(*"T1YQIBAR,4;$*//& M"X88XB9K MW#XPI*,2R#"GH^2".[(6S. 9CBH7I4@"?PB!. M$EP.ER&CL76,"<%2.BP@7=/L^<#('3CV MZ#^8M)^-.B8I8N]$4QM*C:;GLB&B5I%C%'BN\"I\1-88C)1SA.AD%/-K&0A/ M"8A^T3;$ :4B%"NBP&F!TYW!*;;$,BHC4B&[5Q038!_ )^U(!K3M*4-ENVA=S406=T[YBMO(3I@B4 (O M=(^>$>>268M->&)#D,EY_&B__E*W?C1I9]]*X%J98:C;BY&]?)5&\>OJ]I$< M4C9/%UHL6'<1:J>VF;[N]@K!KIRWKYQMXZ@>Q[5=O5IV-F2,?;\%HVTM%.]) M5# ?SF+R]3@/'W5K\(TY?_<3P<,%L:RLX3(7Z>83]S:_ZU3>TT8UM5_A\B6Q M]QS>_7L[Q9,G4CRA@5G%D$E<(1ZD QD$TLA['8@P$ENS4:*C'4V;E2S')>&_ M^WH1QVW\.8XC3/_-./0=LD!,P8]_VBG\)S=SV"2K4=ZW 5OW46QA]S^>Q2J+ M9#N^[ P0];I=I"D"152Q7[8NF# N5JS[)6?0=;7^<\[CM$L^B5W6R3+AI,H1 MX-V=.?!U\.TLQT'VI400G1>QR8J7_12?,?/Q*5+E/@8H:8^WIAN*3;,-Z5#S MC5,6]S&,9\HQ>DQ.T2TLL$LV.X"4BL.P[PXX#_)A)'$\21=[SHL\A.4\OCS) M@F$O&,,V3Q0[!*8[KE3*0UBQ@^2A;4VYL-#>66C'N9>'L&*GFHNYOW.[#4YB M?EMSHYQD/LN^3S;W3A3/5=_R,+9[!Q6 )4]!2&1]/IK4VB.--4-"$#,>D5"+MU);(8F MKQ5RCCDD*0W42R9QW$KIW-W"F1E0MN.JN$<#9P>57'DH*/$H3GFW=G)XDECR M D7'"U00MBXQDK/.&0]J+TT$<4Q 8IBDD6:8&AVB(78K04!++ER*CASW\!:> M6X]G]?C3^XO8='%Y[34AH]& M["C5$8G *>+)O1D#A8-=1,[2LE15;/S\>MK,;87-N16\"LG#77_XKFQ@8<2OK@U"C6. MPVLW^9HGDP/$ED<67Q](16L-,9[M_&:SY2?J&BW.@] S^9TM3;4+^RGV5ABR M"4;ZRHZ^V,LV1V>M;M!B]3O2NWWI-UGAO5+S8]N;7,7X+TGY 5/<@(;V&P.[ M#&FMV\IV@B2&REUVT:WS^-C*1=CVRE;_&'X85DULZYRTG.^\L)>Q&?21L//G MY"C:[HONXAP$.X&_FNJ_9DW=AMKW-3KA&IB4/[OVFDDGIV+;/[").:,83&?; MY<;DEB+S^-QHFW$_R-6'=N^ZX\;<=P1&-FD6C\CQN_T QA.87N=!RC\OPGYA M,0"M)I_&L+ZA"K.N4::M/MO1K&]P8G,HKQW[.*SR*OHS._X4%U._-V#XO(_* MNCUNN.TZJ=@&?H*77OLU!Q/#[Q<-B.$&=GJME^?5V]L\[^X(;A3GBWYN0[RY MM0%6$/:V'UK=A.I?,]L 4.2[\POA6SNMSFQ>3GCOI+V8SZR&^SVLV7CU<87_K_MAHLT#ZZ&?6@G>5,SH[9=KQD0*[Z)\+3EMJ9JZ<)= MY;%',-#65<-@J*->@05K.?RC"$,Z\(@,\];;H(PP8>-L@-OUPC^!KL>^'M4= M(2__&G_Z+6>M_#)?O;E7M;TE,6W5N2JO.5?%PUN/\3OUQ^>'P0JN'BT09$&U MAT@U3"693* HA=PS-(0 4IW#/Y[%2#$8#GHC%_O>J.:;Q"*&=QL;^R.601:$ M32UC].@N_ ME9O@%;'Y?.-+ZWTS@Z7KX'(V;N)Y/=QIB4(-M;P_+9'J>S/^[OL=#Y7D^.I_&S^P#.H(\RA/[WRN)%"4!(KO M?OIUTL!5X\K/FB:._64U;>RX?7BUPY)8\136.ID)%\ZZ<_7^C-.ZB=D[L?"9 M= G*"[\M6%KC!_4C*!Q6.*QPV)TU>PL+E>R_9XQY_MF.\KEH]B),4O5+]/'< MQ69Y@GF2H6,O,$"PY,X\B3M^>.+)U>,."JEP/MFDD Q*(,XY1EHHCURDRJJ$ MX>QCW_'B2W%/ LH#E(8$E"YQKRQ/2/AK$$_=(\P"P24+0 M2F"-U[MV$?B:D5R@WSF.N+($&0\ 2Z**47C.K/#/#Y::R8*4)\0Z!2D+4AX2 M4CK.J<1,I)2B-HM&%K'<6?0:VD X9?:I+>G6#Y; G?W33FO:^ZIS[1&[)Z*M\]9_7!Q]!4 MZ_TM@1CS$'47@8)S-+L?V;:M$ZS$#AIL'0;RO4!!5Q(L#T^^1::"3'TO7I_%:_V M<\?V?][@^OG7'^W7;4M",< O-EN]6 T%3(]UE[??*8L%2Y372*7$ ,@ PVQ@ M$2E-*:,>OECOE&65]\8R@Z21"7$6)3+$.!0DUTYQP$45]P-^>VTV6#B@X%S9 MY;WCW/,HC9J[R ,/"&N/$7>>(DN31R10IRCC09"UI#QMBNBBC*4KCD2F->^E&_J*])WV::;OB(UET)+\OV:7WL9PD8#Y#>-W1 MKU0#P"E!NM'7+.2&&3C3BME79ZBJ?@)J3G1K(/2'Q[V\6J M3_^(33T)!Z@]'P71/(-^6=;A,#6!%[C+6X=([C1GWGC$@X=_HK;(QA@1B5A% M$6.*<>VP\"G^A#U!Y,,4979WG9/"&T?#&P4!7\(N;QT!1:ZPPP)'VG.-.)C, MH"0FA;2P6)-@/=%I&YZ!@H#'P!LEN.*YW0,?20+6OL72_?ET1\.< M3Z2#1V44GI)HH\0)':)#A$B&.!<<&<;ASQ1"P"#S<%CK7;7M2(F#\F@\E5&6 M>92GSBJ'P0@%,O=-!R\6,J-3V@O%P!J@$7%E/'(X>21CC(;+R(1;ZW:R[?B* M IG'Q"J'P0@%,O=-!R\6,@-1-AFB4. N:XPL(>.3 +514R&PL)BL:9G;#JTH MD'E$WI(23+&+5)0BUHI8*V+M<",0H]8)K N'A,K)Z$Y&9 /(/6&\2L2;I-=K M+V_;&?-[G+Y/QQEI>*!RLZ2P%' NX/SL-DP1XH@!9?3<'-@IO'JM0&[ FSSB"<>^IP(A0HJ%0C0D2* M1B5*^,[3:G:EU/*!,>)%8O*Q%"AY(=59_WZMJV(1B3L7B71(,R>&R2SWEMFC M4-Q/G:V'+,9AD,W!RT?/L/$Y[502)Q$742'++ '1)X(-3A@JUL+KC39>&\I1 ME$0@CK5'QNF(HD_.*$X)B-H]U.*2 X'I$1S67$J,&BER MHW7/%> RD\A2QY#4W :6#'.Y./BSJ\QJP/"S>O5/!YI7?4CP.7=M_>GVAN@; MM4D_VMZWV^T+'8!M+.843$YM$'!? )[#&-E(=-! T'Q=%WIBD_3SNN]T_V8< MWL+SZO&G./9U;'^I6S^:M+-FLY;II6/ZVIR_^XG08^R8OD(LE1V'COR6Y'); MJ_3#[1+^Q)7I+\VO>E5/813^SK7Z6_QD1]5%,_$Q!EBD]HFB^GE&6SVR0_E1 M]G;/^=W5%"ZNII/NOX-J>A:K?(AEQY?5N;VL7*S:F?NOZ*?YFM'-/>RI?F3K M\[;J.KS'"J1]/;;-)3##K&EC/AUPLQ9XMFV'U<>5QY_9KN!6K#_',.@>E%\X M?TJ:30%GYPPUZP8XOW:P>%]7GVMZ5C>AN@ 0 8ZK;-MF%63\"9YW/AE_FI?L M@HM@K -X=FHR>W:=0F%<\&/=P+?3.!K!#&?]W"[@$9=5IYG"B'_M!S*JI_6G M+BE^L2QC&$[;YHG"V$),$2:PLGKP-@"%/+ Q:&_]_/(W'E!P H*MK=PEW 8Z M-NP.#*J[M_7P]D$5QZ"T^6C[+NW]O9^!6 +\U8\;)HWRLR^[ 3=UG.:!]&,> MP!;D,<4VZR1U>];=/W_FZA"[8'+UNKWE&<--F',SHGPLYQ%]HH#YKL\XSQM^ M"VJ>,BYEE&AB.QOUL\]@T3?-GF;23FLUX/)EFIH11A-KG8GU?ZNE9Y8&5 M+?#W9<<"#:!7$T; M7/FKR:S:3ZB']QX&$#3YPBW5#: 20,85@._ ).QM?P MT45O9SW"=?S?QNXU;9Q.1SW&^$F;^1%$/SPF/QPNA8G;3XMFQ2U@I(\]C/98 ME>!%D^9@&/!.R^5VY9[>>.>;IK:CNU1ZQ836+B1D%/>("Q.1T=P@#X1O!5C8 M:3V1\2DJ_8?X*2_WG_%BT@F'+>GQI"CRMRGR[!@5^3F)9 VAL]DYF=-VJ3V3M7*PE8U/.6SK4?98](A'X!HR.I0!E=_5L>T\N+LJFI[M>N? M (\_9*6%XM=OW__R]^XC>?UCUAGS95D^5F>3+UGYL2-@ZSR$*XR%;_-8KV:2 M-;)QIS.V;;X5WMD-\[<;Y[FOTLVG.<'J?4@WBYE!P M^R&*TTVP/CI2S19$G?/B^H*]MRW](]ZX_8+>.G+K(D>):8FX<1(Y0C02SK 4 MM1'";L5E!5+5Q>9]Z@5O(-4* M?&20>!.RG 2R?/?S;Q]_>3, ;*S]6?ZE1]B0H70*WE6_F-R[52M!!(^P$+%%'G_E[ M,)!AH?Z[^V( ^PA:$,IJ2NCP'9[77[I\=L;)::<)UTVOW)X!/ES37=N+V(-] MUGGR]!;V;0_O5YKO$%@8=J>3$6?1AG_-0'GHDD;;#,QYJ^;X'3I+UL+"S1=\ MN(IR0)GQJQ_-0KRF;70*2:AAOGD*KX X9^?CU]?TN L;LKA8B6NM>[J;1X#B MH80O;M5TP-!_[29?,RW#$UXMCS>^/O ,8Q/W[N(_J:83 W!/+AQ]DR M?O8"-K@/C44VP4A?V=$7>]F^_NXOUS9HL?K=^<;M2[_)"N_UR*0W>1YQRKT\ M(;J5E)]H6PFBP*#*(>O4",2M=,ABXU%RSFELHHILK0G/DVPK?Q;#;!3?IYM6 MUF]7&M_/E_,?[[:W3EI?21- LR^=DR_+KA[A.D?G9-8"?+:OCD=K?%;>NIWD M'W,(V1]:]QK#/(MGI;Z"G4TGB_/I/(J,-C#H?#D"43&9S:MOO%[:KT.P8._:?;5XQEW9 ]UK!1XJ2;[/('KW M161(Z+W7W/.[&1)M-GQ&&<T.S+C$]_QH7"RXQ/>\:%PLN,3WO&A<)?S(SOR=37CT_4 M?[I1\\U$_5W:-4\Y%;_;(=7$6)W#WV=M%<XM9['"A;O>%[PUJ M'E6P96_+LTU*6IRK/9U@'E)!_$?]?3L[3Q/\5T7E%://[WIXN1CV%XY:2+% M '-9VOH>/_47L"M@MPG8">ZUPYZBZ+Q%7 6,G/(.4J.G_8+U!6HVP3J5%(N2$&0CIPA M3IE &H->)X1SCCOF E[K"Z()E3(PFQMD8\09IL@8:^!/:Y+B!!-Q2'K=@.,= MMUHJ4%>@KD#=H4.=MIBG7+66:P50)T$YH4[1@2$[ MKFU[-&!7NFILRDG" MY0 K7(3+\3-!P;R">8=4P9SFULR)"Z0IUX"A\,E8C5$@V6T:);5F[7#I,?[6 M9\70AY4ZEZ?G?2V])0JB%D0]#$255"CJ(YBP'F<-TVMDN&.(>\LX,S1QMY%; M]P 1E>@=]QX]6!XKD%H@]>BW>_N'^#9I$:Q%1&3@BP8C$P5'P1.PLG724FU4 MS_> #',QT+D*LQ*) M?OS47\"N@-U&]8*%DLSH@*1)*=>5$WP0[Q9TG+ 8D.(%[ M'%;()$>0]"8)[C'UZH#JRJF!4J5:\ G0?H&Z G4;5:\('@,J:*1CEV$M&'*& M880]ML03JU**-Z'.ZQAB$ DYVV58.X\>SAOZ!#,[_F*WB,8_2 *G70@5*E/O,),$'!O()YFV!>4%Q*$2GR M-K<8DDGGDI<2>:6YX$FI)-=*7C[&/WI F%>Z;YP"!Q3 *X!W2!4NL1:!:6F0 MM8"BG$:&#$X>.<]"4-'AX-,F7M=#K'!)3^^\J52X+)!:(/6)17X)5M9CAAR- MV0;V'&DG%!)")IFPU)'K3;RQ!Z1#L@$6Y01JW2D+GZT;Q9\62_/[[#PVM8>_ M0_WY62:T&"L,$EYYQ_N^]8HE=<_'/B=NDC1SB7(4CGGS?I_<7L8&/XT]_-!/8E;]-VC8?0WR(G\YA<]J/D[>3<1<& M;8$I/L*[?QY-_#^_JR(0]@4\=]K,XM+'_6_=[BRWNU_,O'"O[&PZ68189^*$ M%^;ES9>CD;V-W3!\%XB+]?W !(,K(7;7S5Q@L+HXV+?>IPIW_V M=[?Y[3_7;>U@KM/+5XMGW.60[UXKU9 1]OWK[_[RC8O(4-QWQ7V_TZ'F][[F M$(=Q@,G,)Q:3__(2Y*_GM3=7CV+*"TB5W-;"01MPT 9E;5X@!^T@M?7H6F1LDP"ONPVJ M2:IN1'I5TTGUC^&'8?77-V_^Z!74?H=6_ZW'?G(>*]?YU*KY7]/L4WM5:A^7 M:M\=?X)0+D;^@*3];<'4WIWH<8%#]4Y\8;;WJO^Z>L_K@^3(?A!0OP=CE M4+D<*C_M4-EX1F*(%JF((^*.:N1R \4D,/?,,2?56EQ-:9MX0-Q08A,+YA7, M>Q3F$4>"4D(C'D(NSP,@IC&Q"+ZT04?.J,$ED.: N>%@?&)% ?\F^WV83OP_ MD;-MS+;N^44,49<1X9T *D5 MHM9)4R^Y7RM3\I2 N@]GMHD_9Q9_N\+A6ZLP-S#F]/*)2A1\@<<"CWN%Q\BQ ME!D9J<_QQD* =N=41(9K*K&*DN*ME#;9*3Q2.B"2%'@LCO;]ZOD+J[;H]45P M'?DN'[S@$LZ$)'%"BGB-N.,8N9B+J6!''<568[_FO'J*7K_@Z7<]2V^OM. ) M5E$M^GR!Q0*+>X5%PHECGBJ46%( AMX!Q.&,>,$9;VET8BOZ_,Y@L23[%W_] MOO7XU0.IRHY#95>.I$X2UXKT*M+K *27-D*%9!+"/!]+.P&2R( C8#28KG_I2XJ&!EPZUM6_&53UPK<_3U?+9D'7 MK;>ZG]OSY! ?2FU6_R?N6N*K%9)#!1==3-HZ<\*K)HZ W3['NY&'%)&["Y%[ M?Z;QJ0OE1^5:'Z?8OJO-D0PL>0WFA4B($P*&!F8:8>\HD3PD&=;$[*,3 ^:( M\^8*1"! MR#H>P!21$AE#)4HI>DFLLP%O*>0I,_2B!'#N1%B/9_7XT[Q&\&2\3.++UW4I M?.^^3AL+.U./;7/YVS2>M[]/QGDDS60T@EL7(G1; ;]LP,B. P6^26C%ABD( M7!#XQ2&PC%P)%3&R*GG$;:X2H3A%QDJC(PZ.J+66?4^+KCIT!%8#JE@!X$W[ M%]QJ$[ A8^S[Y[(#[CF"T#?Z&+QIP#A^!/:N=$=8G2,>ZCS'4+<7(WOY*HWB MU^LSS-9WG2X7S^ZN0.W4-M/7W5Q0G6G\54ZJ!O*.:[.^&B'-%?*W5"/QUB59 MVX#55U.%Y5NEFG7.P);M:Y^>3KM9Y[&J=_WU1YKS*980'U44#0-3 @[/].9H%>/;_ MO,T)]? !;;_!:\P"@<%JV\1!7]>@KZNH$-,XTF2IL=AO,T5AX9GJI<*=0"^O M ;VX!^C%4-T)\\].&Q5CMKFCCVEUE=B.W[\1O_KUG=GQC_F0^,8^@()!>>L&.XRH[;+=$& M'MX=V;97VO#S):E&W9I4.8SW:E50TR]+3T+S=8%+86&&#SC-WR/NL<$5VMF# MHW;!B.%4)>1DSB7.*5F&XH2PY8)%JP66Y":U$V(B3LDB+Q7<8W L10D"I@H M9X('G5I=H_:_VGK\?@RK\L^/D_QOG%YYZM^G7E7^!)]SOZ(ZS-7E+=&[&MX= MG;0_>L\T7B6P$X!\@'A@34"%0N?=VJS$L'1\L5R>_/%J?2K;MI, MGG5/^H]),PK5'\WD4V//812?5GEH<'#41R)6@46!N^"8 M#G*M<]8FF2\[D;;T4!'UAK0='*:X=<(IY@@*SN>02$F0@:_@$WPAHZ>:K2E< MCSX?W)^X)<.[RS8>AKC]!.#\&&F[-!17+):?YDW\YO_>VN#OUF_!MKXC"%'? M9U#+^Q9AJR:UVLRDOC;/PW 2W-OM\%&36VVHF"WA4#>QH_;:V*!AO7:3KWD.N1'ATN'T]8%>)4*?3C>;-0O9 M;-5S0LJ*DVK!/&?+H_,+^RGVI^*@C<$P7]G1%WO9SEL KF[08O4[BKM]Z3=9 MX;T2\6-=7=]&(6:&0GX+A#8@IN?WZ^T A/0B$F)U3IUDSZZ^_Z3_";< 778A M.?\)$.!G;0N@\)_P[>BRK=O_3$]DIM7&)UO@KNQ\K^@0++?%VW$7 0]&5*B76;!_QG8VFN;15E<'$8L &Q7,/67YB>_JJ?P4O]-KTB:C$:3+]D #=?YQU[Q3S69-55: M$JZ_1KC-%>%.EH1;M6>3&1BX+L+O-JNG^:[_FHU[BZ(S@_-#_4KCXY4WM%/X MHL.B^2MZ)3=KL.W"21.J.&KC%S 2?7Z-<^V>)Q.?LPV5.>_N(RVF3O1?HD^ MGKO8K/O1NGW/*_]F/)[!"O_9;PH0P*]@BE4$HW^']1^M^D4^O'L[K#[FO5PA MQSRBSOB!MW^Q34"CR>2?F617MFQZ9K/]_'DR^@PT5[?_[$D'*"XV^>9I'=MA M]3Z3@9_FP2SHUG>$&NJ48 I@'\8LJX&"YDZ?21L70XF9GH%9AH>T1T_ 97*O M67HW?,U5_2<@6/<0,+'CFX_O_O[N]X\?'K]P6[9D MGP=1/MX*C"L\^+\?Q%_G-L3J8M:T,SN>YD9TF5M;FV)U9ALP/:J+9I);P6?P M!U&0?_VCJ3_#_=6'Z&=-G1FP^AO\YU/O%?TS!UF<5_]_>]_6Y;:1J_M^?@57 MMK./LQ=;T;TE>_:LU7'L&>\S<3)V9N6<)Z\269(XID@-B^QNS:\_ *I(46I) MK6N+%^0A;DED70$4@,('W#GD/&T-ASV+2 (?IP?:MW=I2[D6LN<[(&<$,/F, MI)#VF66OMMYO>/7]HS,5P43FVNCFVVC@DFR;OQ%I^:](:($8F4.ON"(HZ4! M>'*L; MLZ #^"4?_Q#'=2_A[$@H?_L'\A4ZLSTD<=NPYWCS[J%0RFYL/$G@- M)9)!2 ;9*W!L)7$"!Q\!^C<&2PH,HH.$7;S:'/0!9O;!4 H/<3M0-Z\Y?.??U M2L!1$JQ\.[: AV!Q,(R&ULD2D7QR^#BIQK.KP_\7)K!BZ%/%[1POD$;5KE?P MVBI,)EJ#H94>6QA&K_3D@'K1 &HW0?@L;/JS]3;]"CI:_RHC-_GD%Z2\)]]J M/6[]6P\40&=#&P^;'B:6N'_R+$DHV*H-S6@.>3(4*;\]>=)PR*;&O2!Y\CUR MY9/O0H\DVI/OH_"?&X8!E :3?_*ULWF=@&N??!O#,2&?MAL2APL_^V')F\H# MD0\*E]YX_-Y0?%[<:HYI'*$/G-DY\E+G&FK^R(C""A)20/$J98;'&QY11I[E M>5.+*ERK-1T0A-%.!7 I7SP4JHOM_*K/21 ]B4(]EGC;#,2<(+8U2K0 =7: M\F%GT0R)PS?;';5Y3U>WT>O<;H_M0A7E?-%=IK,K[7>W<=MK]]O]_FV[U>H, MFITC KR(E_IO#PWR>GERI@-TY/E>O" &1RH%V0:V+<@F\4T2D=+-#U(.- <6 M"6R7C-32>[&\VF$"JAT!P;&4."!)0!T-\-8 57PXPN#+V'(EPB2)KEPXBOUP M3K(*KSGOM6X,$HMT/"8J)JHM4@GD#ZB<#IR#X\0G2Q+%$#X1)C',3%.="L?Q M YYNON=@\E*F)*:D#90T0PM4H'N0/ @8_@-D7+YB$F(2> MDE DB8"^R07HY]))T,MBS<@5S4*'*68#Q5"05*"]35H-(DTZ.[*,ND3NMGOC M;C->-99*3&.'JTA(-Y,(?>#Z&A.VXM_: 3$"Y0G:R6Y7YT+%>!8:MZ>*\:V) MY^2#_11Y-X$R3>H4)D F0.C2E3.Z$0@CHJ1,FH%)EYES*YYM;Y;XID1J -LG M942*NT[-XZDXE7D6AI_A3L?V2.C>\])KSN]0"41$>SKGSY\^?A#*MO0 M#:;#B1XDZ(<1FA,"!C1"WP9>S%AXM6"B\G&L$>B00<(>#B9?(E]]K^0 ;3F+ M3!:F-_A +!,1D8?,U"_4,M 10EF+&"CU"WC-9GDF.12&8971=X8=/P@SL6-C?T$W1]Q M&G&@#T"Z/J=(!:8?IA]-/UF$F25)92,0XV*$HB86#L:@N2(&Q4H'YE&*$8J& M@A_2J#:@)SGS'')XH)(5$^Z1XNN,36&GP@L.U"Q&C,S@IV'J:3RR"7*/$HJO M2R/V,IO$UB?V;.Z'"XG*(DYFXH]BZ5J0<:8V3D"1@""]AZ%F$M8<4Q8& MJ'Z<"F2^>[RX5R2SP6Z)91I 9\*!G? >#&2*K8VG.\-634PY/(LFM;[H14UU M-2[O04?PP7=+$(CI;5M<<2Y8+Q>AMXQKS4 GN\)P/V $\=*[J55H'=.L0P6% M"Q,%S6*!$87"7$YG#JW54R 7FFS-?0D*"1QN,HWK_(R3_J GG49V[@&+V0MG MHT?\(-0&& VU)T<1:' +J]U.4WLM@TJ]0"=$("#7? X=D76:!U7M'J2M05>; M$ 7"Q(R;T'(/DR2J593/]3!6!88+C>6<=M4,6Y_A_!!F6)B=H&#P8CQ MP:#1D@'(ST..BD%= >63!!D0,4@;D@7 *R ;/4?J4'ULR/RD\8=GX_$QB< 2L4<-HW>!P&)K+8;<0BZK]S#!6M_01_ATY"D7N8*":: M(Y1*"^-($G;"0:XE;$[63,/Z R$Z]QAN;(4CW\!O['P4.:$OE.,+;T:3R#\& MK25S'(.-_DYT+X0(!8E0V=,/CY\Y"G#BDN0 0FV,&,?7\.X])X0R]3_5^(WX M>(!.E[/(03U06U_!TF3@&YR;"=\G>Q7V?1*&(+,%2" #8)&6 2;@\!>Z<1R= M4$ &F 85+$L/CHJ_A@_P4&3C&V 3(PT@5 +&N0 "H>-JQTAT>%,VD ?/][,5 M0+10BF-Q-:8%,[C ^3N5[C%Q_"?@^DYAY3,CS7^]1W>]?"@W^+V46,$_4D"% M,7M!F7%)4["0,)-89+?!& _C34CB&&XB_!\"Y-+[9W)O^V'B8AF4)&/$Y?6S M;4UAEV[RZI/N!N7'Z[_^]N4'XRH@*#H(9O#4/@JS![-W2\ F\^ MDBR=+$8C4NCXRH4]I79:P_HX3NV[1),^/N^Z>'R;,3E38!X93*1QONWP[J5G M.J%MU1)L.171#*&[O[V@X57]LWG__ -?M,*4X9;R2'/:N)KP,F:6&'F^-G1) MF5QBAGWTGK>>EXVI1U^K ($RNH>"Q55F4=&+ MKW.PIH H>^5VGIJ% <-ZPR_9NI#_R:P_IH4U?VX$QVMK3+IY-U9ZI[9RY^8O MUA8(A2XV-0U1QL-KDRA\6/5'I4++#]')*T&6P7ID 7]XT3''U?HWF6DH18%V MTYC5<&7/\7X=!?@E"CM4TU-/#5F&=O= U"5I62$'W'SKF5EJF))Q:AVD0 MSRB\ET]69E,"(1@TK7'J2=J8IP<;0H,L!22-?4K%0)=0F%UD@9N:UR\-+:8+ M5PLM;']9_M&$*V>,YVB4X#("N2[@\DV:V8;E2$UY-)#,G6<:V+TB@1[G!AU' MH=[ 4./0]T);\UZR[YEM?3D^'.U'4TC+4$Q:7%,21 MW!(([^IC*E5OEWWD5S6O],*2HC1*CZ<5_$\63K]ED&0FHHP8"\]?>V7C"UO& MHX4BB"-/ZF-/>XE>6GP46@_\L!Z6E \8N8(K9_^1U\6Y\]/A86%V:L"!! L5 MI:G8(_Z,U"+L(L!CUU^J*?F&E])1YP8,Y%IJP#@2H*L9OZEI'4W<((0)IO=\ M:X/QY)I5+*WW213:UD^8 @J4G-^P2JWU):;,8Q,;%"W7@WWXG,PE*)C_(V!3 MD/O_GS0.\G=33W^1B D5[C,VZ-32:G4HLSI&]ET<2IA$IO0SU2#3N\3QYM9 MA99TA+&RZV*5(TTN'6G2XDB3:T>:E$LOV'K&I++OBYR0B5:3LS6]G33' M ]XUQP^AD, MG"%;L_T6G9T9&1O*7A;/6K%ILP]I$N<4C&4,P?1G=,Z%@=2EE&+M7UIK=[OQ MG!G.2]U/0V']^Q1L:#Q@Z_9O#O._XS)R.:/YW,?,AUEF@"EH=FNY PCMF'I# M[SV%T2=IOV'HJ_5+S=5LV\MV/H:_8ZA)3&E2LV?H#=-.3KU3R3Q+>*U=O+.Y M3UXR=*(]7:@'M /&Y"%\\T'9C*S?@%,"B1]U; M%,=S]=J=W#/Y8;DFV MD'C+"@K[!.=-^O_JA3%HN)YKN8M S-(9C^&W";EU,1M,D*"+,"$!"(,DYT#. M84'.V%#%*: *OCN=:>MYU'>0@?M@#2< M9%%%OC>6SL+QY;8X=CYY:G[R[-!2BG$8.7J *_D,,M O2*]W[[_8&7.:2!6U MZRV=RD/+U!5OJW909!)2H*'.U!>C]6[& ((QUCT"'?SW008GIWY"9+SS]=ZZ6=UQ+=4LVPV5^SD.RSB9^)CQ'7GK;^]_AO,+3-B\YZV1/F-Y*\>M.5M3W4Q) MNA>W MR:"89KF>,?BX/H:\9EVSF542#W:SD LYXE@=$(C99"6=(IJ5T(NZK0 MQ::[WYK?;LF#Q+VX,!GG S>"\A3"0M'M$XW'BI.1-)*(%D#,YD==1I3R;FX- MN[$"8QBAOW5YW;Y&IAGT84G]-D4,?<)B[JU.&ICQ2=<\"?>H% -O4$FJEDUJ ML_4Q4P7_G@7"/ TS^CN[.%_:Q=EF%^>579S5\'!^WA2M4AHOY\4O4]]A"=K( M4TL]\KFRZUV2RQA669I5/ <<,ZVZEIY16N4W^+C-(5&I;T='8=T@%/-&_XU? MH71%H][4N,F%I"P/+C(R4F5C_XU9]T0778J=I/F;#7GJ[L"44V^-.,>QH'3' M8A[P^ TWOL'\80'8F M83TE'>_R)GW?/ 1/N:O>@]Z@,>@/OC?GU88'6HU.>]?/NWYK-H:W.]N^6+^# MSJ"Y_&_GPQ?X;=CH[SGO/_T81^O;9U0"//=&PODVB3#XX,8(F3']]Q8KNFBU MXXU6/O"+S:+GZ>*9:I#3"/C>6:'F!%((1C%)/M!R<>6+_H ^L]'5A_ M&D4__CD[M8XCH1T+J9FTV2G$4C)/G0O"Q,%A@(5ML14A=;W_UN=3F,U$SSU.\S1 MP.3S^MSG=24FRURSBVLZS#6LY3+;',0VWS//G*87DXOUJ6+LP!*,G9=3C L1 M@K$/P7W64)@WEQ5-9UN.XLBFZDV=IUOEZ3)A\W0K.5TF[!I,]W"-;Z9IY^AF>[@[M?O=95W21=YUY MNLH\7;/=/8&5^V7>YOU$]T;W_YF]W6S[;%W^]YOPM1D8JW*\>$U)^_S57I5E M\4$7F^64UJVNW1V<3^_:YX:SRA13#'I@B<$2XW(2HV]WABV6&"PQRJOFUVQW M3^#VUZUVF3=Z3WMN8WSYBUYFM<]DT+7+:-#]'L94CY5BG"K'?:R-L39V.6WL MMFT/SRBC61TK D&PR&"1<4$#KF\W.\^"I5ADL,@HKF)?L]T]@=W/Q^C%M=\8 M?7)1],D[S)2]K)S(*!2.:>;I5GFZ3-@\W4I.EPF[!M-E% JC4(I!B64QL]B: MWMMY-K#[O5*'N-9LKYF3J[R[IW#RT&[WFKS7I=EKYN0J[^XI,4JEQHV];(@2 M8TX81TF;!K,%UVW;^4Z_ZS M5%)$SI10-*Z\EWXXG\%/E3/!V,!F WOCBO3:=J=3:NQBS?::.;G*NWL*)W?L M=N]\-5%XKYF3>7>O$[3$Y4XX:]JELZ8)WR0/@#Z_2?2/5XX%6<"R@-VI6R9=O>D4HWV;9^=Q.79:^;D*N_N:9P\Y.N>$NTU MD\O9EWF>^[BF#[7,W"V&._P9K)PPPV9@7Q"*8>"-?6D(I&:O*,22+ M6Q:WFR%E=KW5,,H/.EXZN\ <27 M/\?1V*]8(L<*,RSX:R]PPIG\(06%VU8@&?;#J7C.M?\U2,7S>C XWZ5]0?/P M["?<-\IV%APL.%AP;$0JV?TF9V!F@7% DH/2K<<)[/'I%Z:.**5BPR2GPE M4K/=Y:LOOOHJL"VW3("L[[PJQW\L75FZ;L:4-NWA&6O]\5XS)_/N7NG*J#4H M=2F_FFTU,W*5=_>D@MVE#MDM3DF7W09/[SSV3J^$YLY'9 NIXO3.JG+MFW['=NV4EJ3Q;S8Q]@[7XGA@L;:,(:)10>+CO.+CG[UP_18=+!!QP9= MWC/3+/,^E^7VJG4FDZY51ION(UESUDB.PT@:V\Z*Q2.#KUC,EFIW3PG\J%=?M\ M@2[%M=\*4&:JSG=7GV2C;O>ZE@A/7UHP5-!8@+$ J)D!>M^QA[U(.H0()$ Y2Y)3K MI^JMG'+];"G7=UY^;1S54X.JH&;GQM%3;P]Z24:A[SX#UAI[@0@<3_A@*(W# M:$8E>=\\1WXUH+1MFH?*(]4SDC[HH/=RAQ^!;>>27Y.^ MO(>M&-M\BON]U[5;W4&9=YT]Z\S3S-,K5VH=N];IFNWO*Y5:I MT:%<.*<,MMB=^\]$Q=*UWO_T\?>?[XIDDK79)"NYJ&?U[6!^[/;L08LMLO+L M-;,TL_0S+-VQFSVNT%6>O:X92]=L=T]!GY9YFTN3&*W.YAB"2QRAIM8\"N\] M%^RRT<(*L^*FP@&3">PGSI-6=J'+>M3!O'';L;N]4N>FK-E)RRS-+/U,R=.A MW1J>#[[!+,TLS;M[G=1I7/*4KZHN:QM]B*34QM'8#Q^*=%/5X9NJD@MZUMT. M-\>:=G]0:JE?L].=69I9^AES[-;NWIXO6QJS-+,T[^Z5BDN4>9_/8([!OV+D M2_ISC^'WX>,5(/4TEL%S?6^[*_H%YOLIC*V9%($73,:)W\@M"<[<]>[3(;F> MFOMB\6;LR\?5C<, 0&^\2%NF)VY4+*+X+'8 M"I/(BL-8^%8D[V602&ON)\J*IV E3T4PP<)*]) KQS**I)L^9UORT?$3%V\4 MUW^SQE$XLX3SK\33YJ]J6!_"R)KI0DU9-@=+C,(DMK*!B<"EOD)* !&$P[U%;V6QVO1:'-+-9J&++]:"!V%_ =PGXH%.8NKHMPG#!RX0UI/7CQU,)N;4M):?WG?PS:[>;; M3]O'0D^TWN)FQ )(PK5@SM(+&E;&?D!)YO_,AGNR8;OX;/B'1'Z!WJVUL&E+ M**Q,O9H7TA+I0\ UN2)G:>9_Z_5(!M!<_(,-OX*2(8&TS6^Y;\R+Q&#(7#:, M >;D>(8/X7L!W!E[_Z8O@(CCT/EV@W3B$H- >_K1K&VA% X6>,>+9C UE!?1 MQ/"FYF UESJ!"Q(=3L^5,)X94?MH8<$JB8G$=W>*AR?+5#@IP4*B5$*B4R8A M00[K=^BP_N"'#ZF,V"N\Q_*EP@-L[N'Y3HSK>C'2E>8WL<8,,!?)',@K+CGK9DJWV\-;8TUX]F_*-7?Q4&^_^W%]@]+5)XK;O/2GK/!5B?@N OESB)?J M6I+GF,1X!Y"1?A2[>H-2WG.VKLF[S)S[3:LGFH=*S_.YPT79- M)\C13/=^/$8I=D_+@[K?V(M@'?Z5@,8 .B:L1[O9[MKTTSM4!(.%,8]=^FZ^ MMJ)1;D4=LZ+I=]"#![;W.U!&L>@'*8U?X%52A$D__56?Y:BM@BH*BN<(%0$] MK/3D5>D;%NHH1L-^;4[J#U_^]C$]DW^P?#&2/G1B?OP2CN,' 4HK74G#]TI& M]YZ3'>)V^N [W\/V90#[)66$NL7:HS0_\S0E;4R_![LCM$+47F DUOH(WF]H M<6DU--)&?E_Q0:PL\134H)&4H%S/YS!*U/+C*$1S S<1M'5LS0VAV2",+4&[ M2PNHEI,W7HP5YX>]?&!MVVPK3!TEZQL*AE.".PF MXAX)86%)/0P8OI(3VCK]&"S#NLMMG_/M6=6R4')J&^?]/D6%@K88):)W>HW3?9F9@ PQ!\P),TA=S)=\HB2Z .+.(Z<)%M_W= M>OC6O:>\$5A6\>)-^OZ&N"S=7:_9N.U];S2X#;^W&JUV:]?O.WX;-EJ#VR/? M+6._@\:@>WR_S>;Q\^WW]^MW1[#?X' KS9K'JQ1).7 MG=S>1LVIZ4/[SZ0//:@>W]5V_9SYPK4.\8O6(=Z3#O&G4?3CGS-%XCAZV:=. M7Q&6\AJ96BLQ66:IK2OW&UAGH0NCO)G37\808T;:@[8*=+Z__)%W3B)\3;9H$[F&CY9ZLPCSZ(YF$&8 M0>K,(!MCYIE!7AK3?22$NSAQ#\]=[J0WK&?$Y!0ELJ6Z\"I&3!Y,[ZW>P.ZV M.8,-,W 1ILL,?#@#=X=VOUMJM"0S,#-P?1EX8-\.2IV7E]FW,NS+^0DXD_9N M5\O%,VD76QZ<4JA(6<*:RPCI'4.XG7P0/GL;RL=%+"SWW>MAJ5,RG2 MF7<+ MNJ?,NWOS;JD3UC/OGG[U6)_)\X2K/N'3R+L8PORZ!%"I-2AALKVCT:[K-]N8 MEPD,<4RRU/^>(,:WWR/8&>W26&!.I22*9. L;$K_A CF^#G +&9F,MF*$)T> M[O56IT%PZW0XU@,F:XH\&"0FEYE$X4,\Q8%E\&C?*HE(;]@9ZS_%;/Z6DL_A2%)641F8^N7WU\H1^+XX[A/RE!0)D;L; MU'_Y+=E_I%9QZ(/QRH7!#3->>=N[!<(S52@\L#;QLPRN9+PR,Q S$*.3"\$V M!3K-&9U<$0FU%2(S\US7ES644$>@DY]?JRJ*H^<7I&J39:XY)SJ9N6;S@O#) M4E$>.12=S S"#%(K!CD4G5Q/!F%T\K'!6+LONCB*N+(1:HR86H$\VMT!(QZ9 M?XLP7>;?P_FW;W>&K3)O.O,O\V]]^?=URQXV!]7?]&1>AB\S?)GE);8UTAH[@#3]\@)Z=1,'2 MP1^NG.%X< 3.]E+8\#)]IC+@A$8XIICSE4# ER\ZOUHKNUSUBI_M>\ND7P!@ MO/\.<*7DE=\+B !FY/&V=PN$5:I0Z%]M8$D,G&3D,5=49)9B+')!::M YSMC MD2MRZ#,@AK'(C$5FKF$L^5NOP;1TTQ_]:8?X=VNU?J&&#F7^;?^O+OZ][P69=R^;>< ML<=EVM.:A2&?PKVESMO#T.,B0(_9XU!B%F)1N;>A4H/XATWDZ6C=H9<7GL-F EJ3@"56H-"7+;#ZES_ .746ZPTUT9ZG*(TESI- M,-O S,[,SNS2JNM1S.I_-3B>;6!F F8"SKUU:#*B;2'B63(NUWK5;/0M:-3W MPL"VPLCJ?&]?.O%6P_JKB%P:D ,CU*F_5!PZWVY&-"AL409*Q# H2S[BWVMC M'J9CIG?AB\%R$I%4<^G$WKWT%P?,I6']/I6Y?I3U(&&$,+78$[Z_@(4<*QE; MHX7E!>DCF,QL-O?#A92KH\9A1=(G%T$Z _HN7 @_7F3?P>[ Z&_7I]/=/)TL MO=C+TY*58Z:"9S8[=QJMW57?BI3PZP6RC^U+'YQDK##)OCC)V+9W"Y2$I$*8 MOMKD&^&,2)QDC).,,4MQDK&"TE81SO>KY7DH3)(QSG11;0G%2<8XR1AS#2<9 MNQK7\,E241[A)&/,(,P@G&2L"G'/18F;.BK)V'X5FSCHI'+1=)SZ9"5\TFYW M;LN\Z1PTQOQ;8_[MV-U!K\R;SOS+_%M?_GW=LMO=0?4WG9./E6E/:Q:'?0K_ M#LN\SYQ\K C@:_9$L "MK0 =U"#S*L.QF9W+M+NGL#/#L>MT%#,2M1H73TKV^W39H_4 ;;@P!'A]F1#,"ZQY M%/Y3.O%-FMM+)S#36;QRB=3V3PJF7\WE^\*'8 V3L7#BA%9HF23-"V!AXC!: MSQ_625]OY"@,"M%F$LL## 34C(+WKJ>FOMB\09_?3L7K@L= MYG AGMY+XY&!*<(7_TQ4[(T7Z;;2JS>PI&]'X2/2!R9TR@ FCWNRYBFYPDZ# MV9Q&T6O(9UAO6O=IYLR:BXG4?JH;,89AOA'^@U@HDX$HOT'IZI.DVKSTIZSP MY<_#'7S6 92D'\6NGLOF]I
_<%LJ\\9>4B)""K=':U4B6#*CN^]XKYU,I.18@3L=NSUD!F8&+L)T MF8$/1U#8M^UFF?>^)$: SY9F')PI+S)#'FF]FYQ+M[ M"CN7VEQAT#?C71GORJ!O9@)F @9][P&1S=^06UZ00KI'"^O5H'&[!#Z'D77[ MO?T2.&]/9>- 3/O3MF7BP_WB*TKI21XNBW$PZZGG$213)!^ M^&!;*IG/PRBVA.\3QP%KNHECI),ELVAP0 MK'XXG\%/E]^,(UCV^I3!N0 *@\GG7 #;WBT"\O"I(5'VL-UK YU?S&H^'>9< MA%VO2&: (BSEBS%0U2;++%6<3 )%6$#.+%"]S (5.?09S,9Y!#B/ ',-YQ$H M#-?PR5)1'N$\ LP@S""<1X#S"%PIO/^Y2R\.H:I,;"C#%W.+T6O;G5!>]UAY#'S;J'VE'EW;]ZM@ZK#9LJ.J\C243L#IJ^] M!LP$-2> 2JU!G;(&;+L/SZ##N>KPF$J@V1BNI!)HOT0J@2]QZ'R[&=$@5BJ] MI^79EV-\U5X6>3]D8#"DV!.^OP!3?:QDC).%O<@G(3BLV'RKT5XNU#+3@2EV MO\S/,)7"=<($5IPJTLLHE[U!K=>9KQ$Z^8OPI4:BPX"_282S,S"9@=:>+?*FE#A=F_F7^K2__#KO,O,R\19ANS>*43^#9 M4G,L%S1G'#(+2Q:6+R8L^V7>Y\)@&9EWF7>9=\O)NV4Q4AB"60V.9QPR,P$S M >.0#P4U;KC^7D*05ZN97P6"_'YO\.]RL*\ZC?X.#+ (@D3XZY!?:G,#/-BV MXDC<2Q\&H.+\DL!Z=):]C(6#^$M/*O.@QG7#5CG>*F9Z6POX@G")O13N GZ& MKEUIJ6GXL#[=M9&T#\=>8Z5XF1N/LAYD)#<#LC.@-Q6%?PX5CB,/PN &6@YG M,!+QN(+0[C1:V6CQ41A^=[D,D51SZ<0>+/GB"!CV5? %>B1G@A77"&O^%QG( M"%A1DSX\Y:D8*ZC?9XZQ(HR2<=^%Q5\S[GO;NR^ "WLJ5(H C:XT[KM4,-6R M1QY?$>E==BIB%JD'B[PXP26P%$MV M5"9HCR%DN<5HW=JW?2Y+R_Q;A.DR_Q[#OT,N*\W\6XCI,O\>S+^O6\,:U%KD MLM)EVM.:!7N?Q+UEWF+2Q:7+V^LU$#5.2N@ M_?!1O.-^LG34SN#6:Z\!,T'-":!2:U GA/?V2_+MM:;;*T#O5K& WKFBT\V+ M%9V>1^%8*@4-P]*-):P10I=S_=6X1/3=+(3U^[?>(5@6+XA%,/$0%2L4+*=B M]"ZC=PO<+Z-W#\ *52C0KC:1J%QBMD!8WB(L)2.$F*7.S5)/N>P7%H0^5B>EB M %)N,6[M;F=0YCWGR"5FWSJS[Z#%%=B9?8LP76;?PP&$G=L:E$EC^&^9]K1F MD<"G<&^OS/O,\%^&_[*X9''Y8N*RU'8*HW^9FYF;1R/ )-[DBJQ-<6-U"F M\ )KG"!P5^AWI/MT2ADR]^67>QULZGKW&6'Y\O'&]2*L;1P&"/A,9L%;UU-S M7RS>X*]OY\)UO6"2"W_Q=%?&1=-L].&+?R8J]L:+M%=Z]086]NTH?,3A(VXU MBZ-YW)-13X$FGQ9-=-J"MU?565AO6O=IYMV:BXG4CJL;,89AOA'^@U@H [3, M;U"Z^B2W-B_]*2M\^=-QQW+>19[P#Q&5Z4)>F'0,+5^6=O2CV/)S6/%?06!% M5CB7F!\AF%BO=07S']+4 [85R)C![1? 7L?C;EN-W83!V,AOG(X+M?K/44<$L>9GYF?-Z[(L]>@1=YFQK$R MA*^6M@#C6'G3&;?Y/*YMK_M%ZT$HA&P.LQJHA/#$!P\!;>81FZ]ZC7Z^M;3F MZK[-=1K6'Q(L22>+@S>Z0+#88J,*\^$4%T'M?41)+%6<870H,P@S")?N+8H9R-#9G6NZ[?:+XSLJ$[C&^)S<8K3L7KF+!7)X M%K-OK=FWS>S+[%N$Z3+['LR^O6:9-YQYMS*\6[.8;T;V'(SL85@SPYI96+*P M/,P\*?,VYF;F9N;FFA[$#&JN!L,SJ)F9@)F 0=Z'XAO7;\+!5)T)+Y"N MACPK?.SBU7>+ ^^L.2I80_XUJON%"HW6 'C;N5Q9T6/?+5^WB+H]NML3$+>M M8>X_1M]R-"A#!1E]6TT&JMIDF:48?7M!\[ YSNC;RMRZ#,$A-&W?*XSUS#Z MMC!W]=]UKE5WTY M=TF>%>"ENKR=K"[OD:6%]RPA_'08!_0'K_F)"]-]U6O%[R<'%7-7W//UR55_&%5$:/EDJRB.,*V8&809A7#'CBJ]6 MU7?'-4_-(RDJ$R/&,*;<8O3MV_ZPS'O.@5#,OO5EWZ'=[I0ZK)?9E]FWONS[ MNFUW^YP-@!FY4-.M66CQ2?Q;@YP\FS$U=8JD_GTJ+3D>2R?V[K5W &,QK0>A MK/;P>PKR;;5OO]\_L)E>T:'$D51SW;"_:%C84]:^IRQ!O<+[HX45)NC-$7&B ML$:2L/[1^-+ UST7LI!7.);ZHFXFD+VC.8A8F&@!M INEB (]K'Q3U,.6%W7@M16F0=>T M6KK;(+1&,I"PZ/AS6D<*IA]))YP$L'>NY282@\Z%=2_\1.C.?#]\$($C];KI M0)%TPAOVZX#M6:U!M1[^C1L_CSR@5: B2\1QY(T2'0%LXN)U[PKG32\6+@I.3"^4>?!_JQ,7R= P[(,*ER'Q&-[N>LJ) M)+26;>L8P^"[61@\OIN.#7_+1?>OLH2=6V@B*KTC>J\U=#H- M?9<64SPBL056%"Z$'WL2?L^]!%W(Z'[M2^$X40*3H35(@DC.O!C[0UJ'-E6. M?X2+P?,S8+R7#MH_5^C+1<+D/\D,^? :^?V'M;7A*/G"1*M7LM]6H]V\Y7!W MOG[EV-Q+7+]RN#N'Q9W$4CUFJ>/#W0MTG'%T=T7.. XQXNAN/L:8:SBZF[F& MN8;CO0M+1;5B&6:32Z0TOD"0,RS<]>]M#Z*\71YZCLRHQH4]AUCE<[[W[5ZW MU%$:'"+)_%M?_GW=LH>]4B,4.$22&9D9^<^M@=UK]LN\Z7P0K[K,@O>NIZ:^V+Q!G]].Q[LIX?YJ-/GQA_78A?6F=9]FCK.YF$CM$[L18QCF M&^$_B(4R@73Y#4I7GZ3OYJ4_984O?Z;M6,Z[R!/^(8=>NI#[D,Z@5"&_6Z5\ M&-S\Y>[N-VOL!2)P8+VL&0BF!.3DX6'0I3SG_B"IZL7F)!F'"$+ B/-O9^(8!W!AE/?$(+[WK\2S_7B1?JL;=W1Z0M[\/ZGC[__?*>?RRU5MH0XBP]XCKX3 M:FI]@(W>TN81&("C)=V6K/V7HOW&"\O0E.%R5D>?OCM-&'K$HF>NNDY;J9$(5 <]W9XW%NO:[>Z@S+O.@>^,0/7F('[';O7 MJAF$A.%U1]'*6F@!B\82,0F+QH/)O=NS!RU6;9A_BS!=YM_#^;=C-WN],F\Z MNVM>2+-9C8-DP5@B'F'!>#"UWS;M_N#9B(DB;SHK-LR_]>7?WJW=O:U98;0C MT:;7*D9P[MH#Z7W2-8&-2^P) 3F5K@""^)8XA-%;D;R702*MN9\H@@\M:Y;@ M0ZX); M#V*!@*<\'"?%7N'8A<9]X"/S*+SWW%4HE 8-X>! 4?^&*^.(.1*160=35B>9 MPTK"F.9B0?4\],*NK$V!L+*%.&HO!2LJH#ET$5&UYB6^JL3Z ]'E8V"83;"X M8#U;G$&NPT/C92&G/!3]M:GX\P,B\D!QD"I.?\M]8U[,ZNG8, :8EN.)K(J4 MF*& ^;K"J$ M476PE#-"![H2Q@-+HP7!4CXUK%^!_7/R*I9BMB:TUE=K779E,,SQ"K00>O5B M?!AF ;(,)&02@Q3[]_H0,NB_%T"7.E4 OI($1N)IK*7,043SW9@#Q0M<&&2T M*)< JXI&LNHRN2J7KZ%8B5@S.&U*JJF: (>]HP' F%@"7QKC2^:,U;7H,JH3 M6*C+PP);EH^';GK&$F.Z7HSHW(;UR[:S_^G $B61?[P\G'CMM,?:79ZCY4 &3A[%MO4P!65'S.>P*:@!V^8!&$- 9>- U%%J"5^W@C(%ZX65[H0O-H/L MJ*((!\0.$#=LU1@+Y<&V69AF @6\T%H@2-%[3Q+.7E!QN$RQSK0])"=# O@H MT"GI?_@,]:=3N:A,L"( G^K@8:.HV<)@?'T $"2,L1!<&I'YO&[(I>^>F M25_(]%)(Y.$#JKR+3#6%TR$$)L-.?2R-EP1(>+'0[<-LQL!*860&N NB3U7\ MGEE*-0T3WX5'D.%0._=@C,D-9'^!; MYI$O;4@J.QQ!.(@TMXU>+/CTSR3052-IH_*BJ$Q%]4Y.)V$$HI:'N'CK@EE1 M/470OV#E0(^1*!I1LR#M04M+3$NPPC1Q&/I9LH@UM4*K%$AJE,W!"U!MP!*; M:3('D+5AHO,R;,M'L:+3P"]92H2&]5.>6.Q-LPF)+B=4']2"X?L[B0C('>N# M D\D,&%*>D'"'1Y99,25J"UD158V)4>BG 6K5$9)*\RBV3OY"1<"VD?3'R7% D8'(]FP!,>P M>#62Z'Q>.6R0VG=L>$W2ZOR^DDO'G*+FZ%1/CF=8LM31!-26^H_L9;HX^';- M0-/*(#Y &NVSRBRTL*J;OJG83ASN6:V3*XHSW'"&&\YP4ZNL$9SAAC/<<(:; M J/C.<,-Y^K@##>R4 MN@ GJS;,MS7DVY8][#[KW*G69K.7YKA4C!(Z"EBI.:=P?-Z77 J..G*S#_*D MEU/ OL:\<+?-\TG8?3SJ5YNI^:^6+S!7]_.$9@:3'):OJ?[,WIQL]&' M+TPU\+1K>O5&!B[0SB/. >%)&1D][DDKIT"I3XM9/&W5VZNL!^M-ZS[-3(JY MF$AM+=R(,0SSC? ?Q$(9 %%^@]+5)XK;O/2GK/!5B?@N\H1_R F8+N0>$RLT M"']_R..6//Y%&%JM,H(Q#)-AF S#K!6TB6&8#,-D&";#,,L@JQA0QC!,AF$R MUS ,\_J'^,L%^!4%V7/0FGY:3^7,ESHE"H5E2-<1ES%VKUNSJJW,OP7=2N;? M(Z+F[&&OU+BC(L?#%5LZG$ V'Y_4I&!!62*>88#7OGO=MV_[I1:/K-XPU]:. M:X=VNU.S/#'LLSF66+X\4_6*962E&:>N,K+5LX=#5FV8;8LP76;;??>ZW;9; M_5:]]IK]-,?[:5:K@[)0K#2CU%4HMNS>;9^WFKFV --EKCV :]LUXUKVTAQ+ M+#_O*EW. K+27%-7 3FT^RWVT##7%F&ZS+7[<^UM[WQ9J$JQU>R@.?KR:2YU MW6^"0E,I:-OR4J^-"26FHN!8$OIYA#3.[:;;Z ^&^?]ZVU)Q+1>HW[B%A^:A MHC+=;R+I@V9U+Y^1:*];'.',*0DY)>&6X,JNW1^>+PZA>@D)64ZPG& Y\>>V MW>GVJBXF"N@L.RI=Z0899%:BO!E+MR3B85%]&N]Q)L*="U%ZN=WMV8,6YRUE M:<'2@J7%\]*B8S=[EU+S2BTM=J8MS>M2-_U>H]OK?)^E[=3)3(>-7K\HR4P' M%\IEFM<)(IDX"PL3$\!;>!MNO.OQ--^WQOR^T+OU!2B(42 MCXI -:Q]!MJQE\,3UJO;1C/K'#NTQE$X@T:@"1%] VJ]P7]EG/-_TR"A?6!O M_ 1_*@\$G;GX5RK$( #H]L&+I]32'V'DN]9O43B)Q&R&];5R$[*M5^W5!5A; M)%NO4JLQV+A*$^$%ARQ2QL"8S?6@G*ZGI ,N4E+7#T@@[X2:6A_\\(%SNG). M5\[IRCE=KYT6;>=D+SLYSNEZT*YS3M>B,5"!Q-++_=>[$DN]EFF"&=. M%'DP(]QV[&[=PMJ9?PNZE@PP+[K &X'+U=L>CMVZ;='SQ[05?'Z&V6%BPM6%JL>=MN M[>[MI9#_I986.[$>>=VJNJB. @>#YZ_E*IP'#^(2%J^YV B M8@N#AT\)#C_S2*TC@L/[10[8WPKUMK[)A3463AQ&5AQ:80*V5N(X4BG+4_0Q MVKUKM@5CHKNTU4R4D[DS0GLX20*%DY&EIB R4*YD1K6DJ0B>2^#!&/< MP>:;*4OX8,Y8B<)9.?!5C#@5&!PA2!1.'XSU8U MM* =_ O?F(0YN S,&1J?++!Y'#CVOQQRVKA9W5&BO ^-T[AMQ/9JSPB\+2) M_H%TY3L) H3V829K#+LNK+G 8Q_>BJPY\$M(828N["NB'*W7W@]$:RJ9X9YF M#>%FF\(U:9M+#GS2W4P@7BD0@9-_# FPW?Q^I5T8PES&R*CKS2Y9/^4!,9]' MX2,P>PSKD^]"('%;TI^ MGY]W7F# ;'(#T%-[.I51VJ862-!BMAL@H:\/;>##S#38>][\_(> M6#ZSYNW.?NW/Q )D3[30 S;D ;+!C/$(SGI6F]G.609M61#]XF_>OQ)@D7A! M2^J8>\M(*N \9WEI68"1UD:]H%-G';N*@A T@L#QYL3FM#OXH)]MX(,$NG_5 MZ]TV^AD0TPOT(:TW%_Z0\#0^#&> MOO0UG=]3<8_".58Q-(*,Y\H1XD&)?8&-9^G)":._3;FUBXH$F6>H/ 0ARKO7 M__D?@W:[^?9=[I=/^ M]WWK[@T:I"NM5I]7*8767:R%F80*R4&Q8-CZN+S_1 MGQ,2O+CO1K!N!E_C _"62_A?HVKBBU,0#WAPF..-Z(4(@)10316:M(%@0+&+ M2>1'$HA,VNNOT'..+Y3RQAX, HABJ=,1B89!.A*ZZ2$0\DCX=-ZJJ91;""FC M>3J"#7_ )6,8U^N#\-P'6@04SB+,BW2"6=PIL'VA,XWX&C46N"KD1=H9#:" MIE->W?ZB!6$([&L-^.M'0/DGW*<&D$P'E51M'V,JK05[0 M9;24Z8UF5& 88GB1$V.SXR0P]B'2AI'BQD(STX/V\KW#MLP\K0V_Z@\;[7R' MJ]3W#M?$NENAPMI0W.;3.*>RPS:\Z@X;K6S]8%U!A48"RG8!]=I(SN',GH+* M;<%>@3%,-BQQ=.ZGN<[!L+Z\NIRVC:W5W.0I4DGIMDM M^EQ,I+X@OQ%C&.8;X3^(A3*X\_P&I:M/#M;-2W_*"E\UG\)=Y G_D/N>RF3O MV.6M"#'52J*]32C%T>23YUCP1Z"$HQ]PI8+YZ*," MI#L]G_<_67?H# /AG/BQ;1Q_.?HJM /Z)J50TT;*TXC6"EA1XE# Z/$%A_/!WQ2 IG8@[OW83YR8"-C5>OW84PYL)NDJKJ9Q356D MY9)5"GH04JQN+Q?P;.=\3KEWX,N(W%?0K!,JZ%@E<+B"!J5/-?,E#A$]41.3 MMTA_F^8-@F'DZ:NAT^5H!6AN4ATI0^7"5R&2NAB/-:>,R!ODA0FTYZEONJ\$ ME+DH1N>7MSKT41*3Z>%[,T]WK[F@&R[(<:]3*#EH[.(Z.!(V#AJV M0<%]@#ZU0I&YVM&WA_TC9\(D8=S+^P3T&@"=XBO11 2F I0R^: 6'Z)H,?,R54SE9>.7*Q%B JRQM[!$@W3B<2#IC:#_1,E! H0%R17J) ME.,14PB,J&JIL2Y5U#7OCZT-B1&ZTL=CS_'P!$ #Q-,^:S)-5UN?H8&$WZ/) MKJ1<7AU%*'ZT,%"9\S> ];;B!^G?IRY@,J0,%Z^M@>[6RQ.DO8,@VZUVKST\ M>)=VJSW6^3OC?T/L-C8D*>.)#8D:1#.%JD56N+M2H79A:BT/Q=)JV- M7-&D\D2:4EZ>/L<)>0JTY0PTB'[.37(^M1\",UW^FF.0 MAO)>+8I"/XI=/9?)[C,M"DG/50%WA1N/_4==[SL0/-1DZ@M>N7T *SHB=[+* MG5SM9FMHW.NYOWU%HC^@1& M1H[F(=U*SA/X2ZTJFP]A]$T?Z:1FV9F^E5>LTVM9T$?Q1%]1A.NB$'T(5TQ4 M+\!+)Y/A= 2D83RL.[;(!KD\EEDXR8IS=RE4@<3B-05E(45D+CE^!C5\-H)& MGN1N=5/SZ$['ZWR6L.OD2?Z MV.MYLW_@5[\?!;6+^_?T>]R%"5X=+?;:[=8 M5;Z?WE\&OLN"CEA4%X 1-XOJ![SY<'E5_ MW;VCY][_\OX.1,DD9T)32 K> N!1E+[T#I105]C6+V"W.:$>^1>05%.44!&H ME.P*>P%7&!G&8#X&)-F3. 1!2YX=80A*ZP1"ZQCHC/7 RA5 ,9CQ&K;)^#.# ME9M@ZXG(T]?7H.+K$#2)-CA0]4Q\D\8!#&8:-#=*,H_JG1\++VI8 M/U%45AI[86X@ETZ80$I7$V@DYP*:T(=>ZEU%#GF0V; [B3K#3]@6ONL=A&B5AWJ;LN2D MW3RO:J7;Y=3@G!J\JJG!KR.!."\X9SCFO.!%DD6<%YRY)L\UG!><\X)S7O#B MG/&')KVX.D%P7F'."\X9C\JTE,[GXS'!M:SSE)6/ M6&;NN]?MMMULGZ^P297WFMFV,EM9>K;MV=U>S;B6'3I'4I6?VG9O>*EJ %6H_,1R@N4$ MRXD_=V[/=Q%74"%1P EK@J7.KLHN16E7F+%CVM"O6 412UJ0@V;=JM]ODBI M"M6$8FG!TH*EQ>J"]5OVL,D5Y ZM(%=1=#:GT'X6%7)B"NU5RXM3:+]\"NWK M97TZ=_:D8\ A56K:(_>M<29C.'#OP9C@_DV_-)%!;SE(_IRWH M](+%9&][DBXJS85YP'((=?"4CLK-=IA\[Y\OJ>;%F'3/:.9:,.BNM3B8.=O+ M!&9/>1-3A2]9LYG+578X9Y8J2U"Q$SJ=>,CMBHXKPJ#KDM=P[\TYG*G;RTRS MSY^X_5R*Q"-.W \'#$Z:L@)4+"!T*"<YDJ!,EU^ M2^W?=V='W\/&\/"N3:TO5^:*)V"9JYSRDFY:KO92G9JY^34 1(Q+]*$-1;W841I],X_P+R"M.\ RZ88E2[M M\]8DSR!\O9A$=[W8U"2WSU*PKA5;75IV)+J.V!2A*$6"%JA2)+(1-*R0Q?I*X";;73=-OYDL#/Y.F' M-S["WUC=]3*=\J)O)4RLA%1QW:B ML-):?3KULLB]ZT7HV *+P;:\,3RWL-/TSJE'"U7/U:))RYEE19./8,Y2W]A< MUN&MB=ORW/_^#N8T^]KY^J]$P,;BSMU+_."G?QLIFQ1#3!%M@V7W]]QPB63^ MOASR2<67SCS>G\WJ8>&2.RK- 2K6-["N/WOJ6X'&61?9^H?.;@]BBA0'%*FF M*J%)"S_3VT.E$?.U:; \%@S=Y*1W%CG-'![-"C:B[JUU=?VU4B'(L3BM=*+% MWI;B2_51MPM='.N#V>EWZ4[G6;7B[)$KL)LOZQ"CL*5"0T#A@3!EAY:'-KFP MUOCJ"/E5:R-O5EB F)-42TH)3<-U!3E H60BNQ-!1ZE M5B G^A356MM264.=4;HK]?R6MY.P3>%,HC_7Q\4_UQ!I8,MQFB'J^\W[I9\D MV&]XE7-D'ER6R VIFJ]>QV#QE$FGTIW0T01M1;#]:DM)EIV2P/2"M9'Q/1E, M='%.X)>T_=P-@K%Q K3,=;&Y]7WBZ*4+TTNGR=%+5XY>JJPZE;-W2"B;SQ]3 M9;E&VA5H'/^3!%B9$:L;/LC4U_:JW5FIOSF91'@(2ZQ:#N?@'(M1Z<)M(-5; MC=M>\WL4T!2I2U5W9."%J$;1T9H0_@;ZN"4=Q_38&A[=8[/1?K9'/&'P67VA M^VH H]RG=5TH3JV4,Q4;#J^TZ&C[UOC"D)*H3_V1#C0J(P2_D!-XQ1B#Y^-T MX?!-/2.L@:G0706JA+^@FG2F AH>BT_.2PD+ *J?LV;GD6'A1:K5F;>O:R(]R MW2A]VA]I6-FENU#K"S<66$Z::C=O?0:U^35].AL9#4EMGR\JZX+4.!/6AR8' M76<#L3A2;_RRI>T-K:F*^2EMN]C6762/DBJB>]&5KU<:S,__F0;A41\MF:P] MJF3MB"A:;%L%\@*DQ.&C$90$P"/PT+]Q$X%KJ<"\$ZI8I91FBMY;:BIEK$LJ M/B"/@2X=Q&L[0*:'J3COICM\N0%K3G/&5\ MY![,'L:%SXU$\ TM([1=3(Q&&,A%RKKC)'"UJ;=]8"?7?6Y87Q)H.&7?FQ'H MW%HQAVDEVI.OR13CZ_ MBDM](H3>6M-4I$UAKF%$->''?N+$B7'CY]^CTJ1* M:C&*\G0D99 O+UDRSU@PRZ(.&$UR!33CAS@*Y MVB&2XQ(4IZ@[)+[^+5>A-RVMGBD14]"MD7=W- 6V-K%TVDS)&.*,-U'=K^1Z M"'WUE4+A7+PZ*=#=$ZBB[\P BW3/A%3W6[9>!1I8C2Z6T)2AJZ2<>I42,XF% M)4%;KS%^18Y!2R0W\N<$5,%61]RT>J_E#RA[6STW_: UWO?I?=.=$_^0=W3C M.:JM!9"VV"?]Y@5C]*J3"S;3^^"9D5R-F]$U<\&JT1Y4$$>>GPIJ[/;+^W=& MNZ!/(/$B[;;+CX?LTF&GB](T CLI N7#UM-5"O_,:O>Z:?%F[:W%;HS_+X:% MSBKXHF@%W4!F!<=A&/_Y'X-VZ_8M])!D[GF88B9R8=)*:S?+F6/)<\=)9BBF M3=^HKR>!K@^ZP#B3(?QV#!@.+ M@RWKWSYD+GSS&V%KT&L?SK%>-9P)&.V'M8UISMJT\!1I36@G1ZZ&^SS1U<]P M**QK+KL]6B<)N-/8Z1\9R:D$B.*>UL>8988RYP*!RMX\NV; '[-S M#T9IE6A$:8J9IM<.T(B^K=(][\'T&WG^M?C!,/J2S59X2V36L\0[C7&NU#7T M!$JX-IPIQDT*:PO6[/-_IV:Z3N% M.)ISRO9'?9WCI[J-]2O058X*=,08L%)-3O-EV#CH[887O=26,$MER-U"%ERY M*#9+M>F,5^DA/_Z!N,2<\N-MS&\.^M"A>S[NY,J< M9/ZB/O/5\[Z&T=><"EN,H^*WN\^_6Q\_6J0AM]Y:O_[^U_<%,C(_6Q\_??CU M\R]WOW_\]=,U''I+_T7KJP\ZO/_5X/C0.UN,+=11X0WK;P7:-UPI[;;0*U4: M[>+BM^:_H@O1(E*RYB5H+DU]L M7B5MY_O"FV7112%:U2):H L[TG#7--R0+N?(O$E!N+:!T"[2MW58$ND^'@:7 M0=?F63OMQ\!SOTJ23F2CLQK4-CU<]'A,*+)QC,H<&:LYK 2L@8]H MZ$3/"0R]&&,G@=P05*P'XGNQ-]%VKUF40**K!2=(/NNQU'@,)?U[=$J3BQN& M%M\TJ*;RQVHHDDQOL">ZVQ-#HN@XLN R$3 M6"KIB$03$"VSTI?%2L:QK[>2[FAM,(SQ;>.:6+HE<&HP\_2R1)/$&-H/(_7" M +0G1Y?XBM="7\UHBG1LW36LSUZ!#B[US?J@5ZE @ZJ+JUT;Y\2E=)&\"3%J M'+MTS6GH>=7OOQ?T8<<+[XJ[;4O M$$.W&]8_!_D-GO:?'R5QXHL/^A9;]16IG]7Y[]/\%A+^9ST)XQ M5\*5S\S.5] "!.HJ7Y-Y&'S5@9$IQWE'7UW3P)\=YR7N;2X$V/P9EZE XT+M M\A^P8\#?%,JZ9/,79:,7R3Q92$[:<(9UO\)()9Q=8PFGUO)FJ4BJ:+=A_0*# M+! EPXF%ZV7EH,9,PM7C[][N) KR+(F$<0UKI_ VC$^N33O3G?6\Y@S#((0)6C3E]T8AV'YSNH8YB MV!RR=\"(83F\QS?0[:=D!@:G0XS_X6MO(%NCUGAPTV^YHYMNOS.\&3KN^*;3 M[[;;/=&3PV'O.W(?PO)^EN/__N[=UV&G>ROZPKD1G8& =^3P9M#KBYMV=RPZ M_7&WVQTUO[,",8,12L=]@]?'K>:HUP+JN'/#>2S=#[Z8?&=I#@+Y\QB_(E$*RA5T9=QNOM71;K"R-ZTLVETLSSEZJO46*=V\ .._>>8E M.WV+4JF'2EJX-,K$Q2X#;^2$PO31V+OY/[;.C]5M#DR4S(,!M-$)$X>6@D?5 M6".U0"IZI)_,DO5SO.YW>R_7,@ + ECQL=O0)Z&B5%&WNJN6LUFH_E]^H*#.7;F2KY1N^59+/S72;%[!?>M+A>15L7M)V<"VPW!QTI@'*9\N=QM$&WZ^\V-,Z_4^@#E) M23>E'P.G@;EC,$L8 2.6^22ZK\4//^J/B#7%C_OG<]"I"W0RJ6SO!!].M1?B M59T7'T[/'$YM/IR*<#BU"W X/?AU ;+B4^GZY]. M[8*:3KNR6^UY/K0L-E/!_=%1",1 M2'7SZZ,O%^EQUFXVVWR$L:BO_+SX"-NU;JUFJ_'QTY?BBOJB4'I1-_!C@,>5 M]7]_^OPW.#PP4;LCK9]#AS(]9\F3\!SPTE_=]%>ZH M^?+NK^60R'S4[#YJ?A>/6)IH 48/_$HYA[XX4SD3.@_2^_1(^)L7?!MA*8?T M2%)\"K"TK/2\F)AKN.E5G1>K-+M5FFXY3GU69S;F=-/%#"R$LJ79-)^B^O^N M\P'XBUR6M@]A-,-4;7_/4K7MSAJ :=$I<9P&]9I*WCF%B@\2%KB5GE=*S/ O M8LFN E6^%%9V(\*.)W<%6-)I4_TO\G2Z%B;[1#.V,-#ZR\[ZORC_L9._V%36 M.(D"3TWU0?5>0V,MO/"FU<%R4I3Q0,YT!@/A./K8U$6!=I^96:E;DT39-&.R M,% UL#3- AZORWJQX^4EZ""[WMP_9,>VY*,CYW&:JE6B[R+6*1DH=2ME!XWP M*M54 W/2PKXA#$%7A81E&"W@T3$L0^ '"9^5\3KQPZ<0+'4Z\4-;$ M"RO%5;!(HHC/GTNR=21A??GXET]W%TBW<.QX?O_'Y_=?BJTT/9O*CG6FWW+! M1_H,I2*2.I'@OD?TVN&+UK*;P,%+-\YNOLZ@J2=J"I!BNNI\,>Z(J'4 MT;QIA5)45A(JJHSMB22>AE03]-JJW8N>V25-]M$=[LCET6TT=R4":>UZM=<8 M[I4&A$3;"WDX6\4WX6EBL&OXRW]_U_FN6),\9^:*N[_]?O?QL_7^TU\^?GK_ M_O/'3W^Q/GYZMS&_R16!_V4A&9X83^SZ$^.;K%WK]C.%...5XY&57)MO5']:/U/P)[_]RPOCAB+FHJ#"I[Y8'CS87_],^?HO!A[PS@S/+,#CRQ@G$SR$>9J-*N>$>?)C:9TPQT8F%B)\CZ.Z*Q75O>I^.3"J^T\_CD)W\>?_ M]:'-D[+U[<^,XDB_Z__D4N'TB[E;'E;NJJ^>QTW=G3_A9Z[,N MRVNK9L[LQ(T)FH1L3E.DAJ3LTGSZB\2+ -\B 9"J]D1,ERP1F4@ !!+Y^.6_ M_:^OFPB]X#0+D_B/W_WXPX?O$([]) CCIS]^]^7AY/3A_/KZN__U[__CW_ZO MDQ-T<75]BV[Q*SKU\_ %7X29'R79+L7HW?Y]N?W[U]?7W\(UF&<)=$N)^RR'_QD\QZ=G'#BYRGVX'MTX>48_?SQ MP\??G'SX[?/_STPV__]>-O_I\/'W[^\$%IEFSW:?CTG*-W M_O<(6A'><8RC:(^NPMB+_="+T(-@ND#7L?\#.HTB= ^M,G2/,YR^X. '1O-K M%OR<,1ER+WW"^:VWP=G6\_$?OU,D\:+<"U,J O#\\--//WZ'O#Q/P\==CJ^2 M='.!U]XNRO_XW2[^Q\Z+PG6( S*Z$89AT1Y0?B;3$6<_!WEZDN^W.--8?GU, MHQ^2].D]^?D]_ R+.6I%MI=S_9L]@/3K+=HWR M_PB-?E(:-#ZL/4C&4.O$ZT^TWQ\_?/CQ_?_Y?,.6B'@X"N-?ZN4DS__T'GY^ M]#(LQP:']9T@/^B=(#\&N?XLI_K;]^Q']=&PI0]DT>9D(.' M]_AKCN,L?(SP"3R&4[JHLY./\&ZQYEE:=&OM98^T,?E2Z_XN.WGRO&WU0?Z# M+FME$/F0__B'/_SA/?WUNW__'PC1U1UNMDF:([;(;Q*?=K!%>OCK1 S!"7QU M\N-'LN9^(,2^0W'MZ]$P?N_'=4*LA4&=D MI:"?$J@'NOVWB6[O,>G',FA8T M?#B!#ZT\*Z_!,*;B518;0'_&VHYQ&//:M?T>1WDFOFGM1OVKT;L+77LK_3OK MM=#J=F8#\W#('(P:?[$)L;$G?_4;=[EW%6R].$YRR@N^$E]NMV&\3M@WY#MX M)7].DPBOR)@A^/#E_KKK^'J?>U^3.-GLWT.#]_?D/W\3VH;X]S0.+N,\S/?7 MA%VZH?WX#H7D5.K_N.BEZ&> B?(24HE^_ #_(ZJ-HN7(CUX<($8-*>3^[7V9 M2(G\+L/!,OYW^GF;$ITD9L-W0[[@C?DC+0U]+_)WT>'MBFXU-N-?BMDR/XGC'.,V4&>SS<,7\_POQ),@@4R8(2XJ00H_4V M>2V35]P"+O!C#KI=L(OPULGXE_S.2\G/SS@/B9P'O?%ZRXYU\-,!KS]ZIY'^_FV: M6Z:Y=I[DE]ERO=R*.]&7V-L%80[W7ICF02T[IODWK=-<$(?WNR"/WDD&;Y,] M:K+/DPT9DV>X$;_@ZYB0PH?.>BN)CNG_[0'3K_%!C-';0G"Q$&JV?(/T.I;( M[PPND;>#PNB2>?;B)YQ=QP]YXO_RG$0!3K/+?^S(S>K@/:0/J8Z%\OM#%@KC MA\(8J1S_!3&>;]N*L37B9<]74?)ZL"Y1T[!C_O_UD/DGU!$E_S;5!]EQY,5L MF3YY?#_9Q3FY:7_:D7>)>EEJIK7QX8ZI_%UE*ADE M5)!"@M;;Y!TR>2\XWN&K--F0?3!//3_/_ASFS^>[+"=:45K_T_LP^[[98YJ;VTR7[>_7#'//YK91XU2F^6\V%S M=^H3_3*CW:E_ ;4'.N;H#Y4Y4EN_34O_:?F4),%K&$5$'UF2RV%Z388B?H(8 M@=,LTQT;!S1JG[[??JA,GZ!(%1A*$Q5$$:/Z-JW]IQ4\![531W_HF)X?*],# MK=Z&O__P7Y''J7/F,_;@;WK[JIV/^B<[)NAC98* #'<'J83>YNP Y0*L(6<> M80^V-!QG+:I%_:,=L_935;$ .B>4$%(IO4U;+Z?N+RDN M^VOK'^J8JM]4I@K\KL*J"I2^1X06HL3>9JO_2\:&<.5]Q?7;H?I[QQQ5+2%\ M?FCKMTDY1#7W=QL0 S-U3O,EP&)OT->[6G5,8-7^H9#D2J#NU@"J;Q/;?V+) MZ&W"G&H"1%4'"T08/^'8#QO>OK;G.R:S:OU0B%&M7B/W-HL'*";X"4:QT]Y1 M?:QCSFHL'8S&FXW#GF?@+HG"QA?P( (=LUNUD?3U%*!W@L>;7ZB?)GK(O*V\ MQTA,_R@*[?/_NZJ19<#\HW>,V=M",.F 4)? P+8=DU\UX?1R1KQ-MT&O1,LL M=S3IF-RJ^:?10_$VH2-=%2V36/-8Q\15+4 JC;>YLN"_:)F_GDT[YK1J*NKC MRWB;ZX%.C9;Y5'[NF+.JZ8AF6KS-B2FK>=O1U]:@8]ZJ%J,F"_K;7!HPI=?? M5-H>[9B_JI&HQ:S^-H7C[.LM[V#UJ8Z)JUJ*5%O[VTS9,+JW:I[]VG;,:ET4 M3;A?@&T%%)!N_+2R#"^LT"&AGO4AYA\^PGL1]& M(3]%("4,_@\9@"]>Q-W_]SC+T] GJB#\UK+E6L;RJ-K=F SC-JE'Z(7+@ M%BP33ND,M=<5W6&_OVU1YM;=PVZS(=\LUW=ILL5IO@=P(S+^6PIX=/@"ZT.O M8R55+8%M*XDSA"4D6#),)<'T;;D87"Z'JCY#Z'0LCQJ#8\OR>--RW&TAU#IQ MZOOI#@>77\'NBVG,VBX%E(.;T'LD&WX>"O"E8?O*H4PZ5E/5_-ESLV&F&-X1 M)'K"HNI87Y#2F;<%9VW!W23QTPJG&Y/KJYEFQW(Z(%&Q;CD!WY.<,'Y;.\.O M9(U3+$TVW+4,UO);K&DYHZETK(^J>;=U?2@V'N&T!G8+ZJ-Y6Q;F0Q,D\HO M\SO=0-K_NDH=DG;]Z<'$'U%3XCEMW6W8@QUUH7Y#_.BSM$T+) M"\P:B7W(>@JK51)1.XOR!(GNHJ*_TB+^MJ#-+^C*=J7_/&*=]J/ MRZ]N:ZS$\[RM)^/KZ= +X!AZ'6NG:OKNN7;>[H1&P[\.71)=;3JFO6K'YI"\ M;],Z*2JS,5#FK@50M30;PV1^6R-&UHBXO.XA4B6),6BOY;G6H"^'K:"A;#K6 M5T,D:I_U)7N$9)?@Z]HEIV-_OBW!,4N0G/*8#$7.S7#WF(9+K9(A.]6!M#H6 M4]5:7;.8!$MA1D2<*5R8WK8KGKUX:X.#@U7$ T?;%\H>: MJ.;FQ:)XN91('MH 4=:(\WY;/^;7#_UY2>$$:!56"F$?X/3CAQ]_?Q=YAV\Q MAU+N6$E5 W"_E<26#V./!'^T@PX@Z &"+KPM*$L+JO(S5RI'KJ8.LAU+J28% MO_]2JLM7%)KRVRH:G[<( [O+>=3I+2MTFZ09A54A1,*8_OF%=/R]O6)HCJ74LMG94T8J=2_PDSV\:#BXXTU^ ]]N*&9?+?JC%HF?3 MCK50M:>7UL*;:<)=.KQTB?8GA6>/EN[JEYW_ MMOA,XN0>NO,,)-6Q@*KF\U9TW;>MR2YVP\$&](,H=*R%&N-Y#% M _L,DX0\J(!18=RZK&?%Z[K*KYUE]^>/@!?3H] MO6,J"NN/KDSG"1)]0I=GUZN+T[=%9V2GJBR+!YB(PA;3MCCH//0-1G'$NF.1 MUACF#UZDNMFG[VK]58:NP'_ YT$71!3_4ID>+_6AY3U>(_Y17>-?']/HAR1] M>A_&^?L@W+SGS[SW(K+(OE(*SRE>:R^%;/21G'241)"?P.X;B7Q"1D[;Q?E _O92,=VKY.-%\;C.ZV1L=-GRN)D M@S>/.!W:X3H:5GK[3(BF_NX1G\A!&MCG%DKM/1?='G.2)/Z.)O3Q?\&.2BZ6 MN5YM516+$$Y/!$G:_X,)69>JMN3ZF1=!9>6'9TS+7/:0J3^9&4BD'4>&Q*NE M:5/6VBX5]>R7Z^46?)5D+66REGV7K&-H3BJK9NQCZH@YH?L0GZWT!ZUU\YRF M'1>1PDU#2YZ3*,!I!H!$$")E;'436X'323M'\:'U0>J-^Y M/(BD0TG)Q0S4!=^'F)$P?OJT(U-"3J #I>LBXU2B#J3%@T7K2<^AC$T()@>* MUD7&H41ZO?J#I*AKZK#GW27=#Y*F+SF'$K+JY@=)H39QV-.&0N '=;V5ALMW MO*% ]F%O>"L1F])T!+=UR=&SN/DBB:L/)]=YA;U$/4A/JP(=N M^SV(3*,/#YJ4M#&B!X_OP Q&L5>!%B/#=0"G&8R+N0UH M!(<9C,/PZAMF%\U ]K,;P99R$A8&K).;FY-M:,F$OD?:./HSNON;K@]@U(9@ MIW,S&OV>8/9&!_4@GC,:*W/GHP%.CNU9YF3O2XZE'DP=96-N8QY*?G(?A<%[ZU#Z MDX_!(>BF!H;D<';S&:&^^)TFA^DPGC,;JRYH2N,#U8_AA![$<[O0BZ,.QC&9- K"H.8^A/:DLA^$K31R+ ;P]DA[LLM. MGL@V#6_P3^]QE&?B&WC+?J*CP;_XVVF:@D-7*$NW1#THOEF13YGGTU#YSQJ4 M#A7GC]\-I?+>A+@9]G]X2E[>!SADDI(/A8#D#PE&0WL0LDT7COF2%*V/&NGJ MD)FAE]['BNFU&->S??'(G;>G:#M@:&16M6RYR[/R+O(8 CD>]%Z-_.BR! Y&/#[$[1D\F&G4=&RI[=X90>V;&/EX]1^*3EKI4& MJE_;R403;IYEK+ASX( EQRHY2;VO#6)UMQLJ4O7DAV_^)J,!J+ECN;XBBE#X M%+,X+W]/WU$&>O>)##0H2R)NH"3!6&J3314+W"H"MLB.ZK,HMX8Y:FDPW0[6 MYY)%]@[V(XW<;]J!!E":\#7S4^R!<9[]>QW?I7CKA<$%7F,R)4%ASV,!C1J< M0N7=&T1LPNVSZOZZ?_C2JCVTMS&\M_#PT6(_SLA^H.0$%HFKN#PGA[Y]8ZR1YC_H)29;KB\KT%W0NL/U2USN@]5OW]/,GRVR3_ M"\Z+^)V&Q6:/WV1#V)#<1E6!KLVE7]O)1.,W*K#_P3%#IDH>,%0!AY0B_DO3 MA!]$8C)!R<8'X&T,A/,^S'XYVP/R].G7L$D[:FLQI1B5_;N(U6S5XGLUG8$^ M7[SQUP'I4K@.R3;! K7Y*B*[JW(;(;_M-G!H]7@;37,Q?/J(5XEH?>02LDO] M9[)Q4O#03<)@,EF,0]T9U+OM=-LHN5<1/58=5*;O"AM TQ;:V6[*UU&U6=1I MDLUO8V?+R<225@W^*ESL4F9Q"I.F4Z"UR62"K/"&W.6]=,]P9=D;<$U>Y<;3 MK*W%9&* P862YU MVZ8ZVQG>HUFVHR_R0ZEA1.CZ=VD2[/R\WI]Q:.MIG0/5N.R*2?ZL;))GK\QU MG.7IC@$=@WBK9R_FQGJI]M\G440.*FC4YA=PUPG3B^0U63TGN\R+@]4KZ<1^ M11[7T*%:EDC?MI,M$!6__P8XP,PT*]*-CT\F $\W;=U8]&=S1QY22]I?8[3(""G:$81T,DAE"8OH0*;K7A*6Q\W.P=9FBOC3_XJ.D[^ M( .8X=M= MBX? /)\)KR.5*A,=[M>V%HZVB%7JP=@][#>/252S)^B_3SFV^D6Z]1K1]/0L M["LJ7A $,>N00H?84/I2FCPL@2UMTL52.FIQW>YE/QI,SK!^V58!J\[7W;/1 M=&9HYG>N]3>WJVE]6DYW;U=SC4X?,VI_;;JCUSX[W7Z!HPA<@G'PV4M_P7## MYF/GU8)4':--B]&>F_#*$H/AF:B387[E^=0> M(\/6SI(T35XA*L_;DM]:+C '$9F#6D Z$^9>Q&:"G(TX?<'!59)>[7)(0",* M@%>]]0RG,]WMN2T#C.UA[0&]O=M/9^'@+DS2M4?(X86$G>)H[U 2>C:>-OZO M9M#AX.FX+O1J.N>%"1WMLI8?3&8*6\HY^;A,5\EKV2+1]J3Q8!D=N.4_F(6) M?9U1K_G33C[/5:](63#.:JNG0.-B5"Z?J79H\I=Z&AYG? MD1L0+E?LT0+E^K>>5#GJO\$U/3WA]8$!O@*X1ZZBOG9)TJ/A=)K?[C'#_]B1 MSER^-$7)M3\[EZYW!-HT/6WX+:;;!F29=CBD^G==KJS M3R9@WY'K,$!H4B6R71%K;3,'EP>_P7=G-,8P;P ]N>Z\ M=)E25TQ U0:CKH#&T\85>U'7I:%ZY Y(B$HNH?"QR>'Q;.P[.FV>&N3/*;; MQ47!8@X4I3D0.Y9TO[9SBS9I-S5V-)J)9>NSE^]2TJT+,@&]#%Q:@_FI<,U. MR]8FIB,SR2L<9EF2[NF=A'ES*,H7V^VX7[ QG,7K#!\7>[UC'> M\N"T^6,[/Z>AB>?D''IJ#,^L?=1.M.^(8-_YQOK6V, D5E)./F5A@%EDO=Q' M^UO3.BG-XZ=I:3'>VDP/ZUMO41U U/#3=R4:+4%S'//<0@MC) M&>"'VP@77SV DPTRU[YL _*NG@;)-F^.!1E!T?"1(^.[N%NI]G"I/C0;J (% ML[!]"^W1T%[(+T1<0II?CG$LPI$AE8SLW+#*>X7^]J,QW4'G13BC6(@9F.0A MR/0*-VI334_/Q,31U\?>U6KJ5/%V;!B(PX!8K56X(8\0E9Q\FZT9=A*S.?S8 MJ P;(C^#Z#>1I]0_RJW:8D:6T=X64;>:%CD\1%HE,X'51N!V/S\ES@IW\PK4 MA##>P;K>\LM&%4+Q\BLY5Y*4[ 10(PP"CN-7@"Z\U4UPF1&V#[2XL@],QU*SP$$)@<<6*ZI%9(',P'> M0Y/RT-;"?$"#C[?Y);D\Q1B#Z:IPBK/R8:R!"7( M3B.BTY15/EY30(&9AUVX8\P,$3=OX5YCJIY[DK/J%8%DA,6$YDBBKC*W@IJ/3UVQ$J>'^FE% M"1,5X'VFX8(R4-;S\2_6XK>Z>7> M+;>9.,"J\:I7>FSR'%D>Q47UR>X$V?+3 MED 8NV$7ISY:[@$(/\:!N$,I\2UDK$(_;!K)'@TGC%N49;XCR&6\BI)7MJ0>X;2F4V:Z\# +;VX>E= MQ&ID1%MT;./SQW?1[(_-8B=C_V#^DY].TMJGPF_WAW$HM9K;1817[&NZ/32_ M$L.H.040^1S&X6:WJ=V;JK]/&7?G8QQ0H[-2-S6[_(I3/\R:43\[VTVWV,*G MF#H2R%M?N-R3*(0B;9U^GWZ-I\QQ8]"'T@O0 6/4^/QTB,1T%Y8U!5NC0NJ? MG?[P%AH2KPJ0]3G :]M,#%V944>(XL_FMB_6"Z'6T#U3;^R7UR[()-J_9DM-X3F+\I"'S3!M>W^?0U"50@O$]I MLMN2?O(.>U&AYWO;7J">H\E.F*L&I08Y:+@H5:A7>EXE<(.FT&\!#L[VK(*V M--'QLNYAIW_*"BO#%_BK';F9 K2#6CZ WDR:S4"=;2;'#NZNA-0P90<0.+X; M<&?5,J$_T\1P0"A=VX%)'=Z1F22I=[SX#0]/F! 11@%#1A(?KS=;LNFPPH:M MIW2_MJ8KMFS@V 3'SC..@F5\AI^]:+UO @T;LRIXMIS5P5T%^Y&;#SL$FFTK?UC.YHY?S MRWK=S"N-YG"*T!>@^^A@C\TDP5^)3BML<51+;UI>_=M/F^C%*Y.PJWG[?MS\ M_(3AA@;#"F<1/MA:,4PF!774 SR0B"/MGROR5^2&Z$5_(4?[)3G8JR;@UD=G M9GTXR$)@!2+O3C^_N,)=7SVP;ZOI0P@+2V%7X*#RY.3 "PI,B(AZ8,E '&9D MF=),"@!9U.+/6U'M#1&?.*MKY7WEA\49CO&Z,5*MZ>EY7ERZJF!WMIS8$TG/ MQ9N$W#QPNJ$GXYVW;[F_=+6:#O0=\)3PZ:GM[-9UV0@.D3Y0SW/BA XPA/%R6Y7F.?=/'RJT_CS^ZA M&&(,H2JE*EN5*ESZ%\J333&6%CC-S#8R*"#B&E0$LFK\-BNQ/7X3HLSXG1=* M_9D9'&12TV/)YPW3PK1XKC<)FR/; 6C 8#^8$9.\9N)4N/)\S+Q,O7P(RN.& M[P#LM2!J'U?6%8QZ%G3K18SQ50P/XAZ)"'T9A6+^;7Q23VV\'I:Y^=R>FBV&JOUS)3 MA*ZLZYBHG1@26^5.?*@7NP_)H]5'/P%20G;-(10_IV1"6T)S/,%)H)F0U#YJ3F@B9SU11,YFUI!&%!]Q'C)D0&%F&_:4'3Z-9SP M_:->0ARLL/\<)U'RM&=E]UH735>KJ4UH[0BVY$M 6/:>FH- #Z,RX5N>Y0RX M-J,XT@R/[8&\$(UO>V,#TVD%]-I1P'$(4%.V/U)KJ[JQD]ZH882U*0;C*)H. MA)%6@EHH_M8J\P,(3&>>+&&G=NS(C8_/U6-:>#H[*Q<,H61XU?'[V3+6R\'4 MQ!O6+;D#6D]GE$R@!(QR46LSU34\[-2$G>\-!T6A;SS[4N M=?V9J2W4Q5'5QU9=>?KX[H1-&J5!PM-'@/,RF#UKW32TL(3+Q]=_-SR?_N!L M3FDR\:'?\XAFSUH,IZ>Q8?W"Y=5'9^!LZEDAOE79,T5UCH;8P\VN4P>#2)B, M;HC]VJ?GJL:RV@=DF 6JPC =MDIFNF7'*AF $T*$L\#M]1;G[4!8W>VCI'RT-I@Q,[ GOTAR:V)> H]PE83IDAOKFQ*7ZY]RO\H:[ M3_';I%ZJ(@>R\Z+?^/@L[6B_WAM IAA].K M_-PL8V*;D;&*H)Z5]W5 4&Q?RE/FBH%WA>5+W8?9+V>DG\\;+^VH0M[5[/AL M0?0_]YB]=2(4L;V.HQU>4SOUF@+;.VYR?5O/<@>X@R^H+XL^=4?VK13G86I4LSK8=O 0>1G$F/42WNK?=RTK; H Y&J7OUVKU]GH^/;H71$\"(;W%+\ M4I7/3%;F!<[\--RVAC(U/3_=O9DG[K-<+H]Z 1EL==,]N;G!E&#I:FV9F%S? ME\1\,Y)E8?$(-S*)7IYK!-M2;?PA>8YI>5=6VUED_7:VN:BV$5 M6>@*E__8>=&?<,9RQ&45U*D:_-O/$3CFDILX 0H8G!C:Z9?S92W]9)?!? MG!?Z#0T)8Z9AL()G8>0475%A.*(5]>L"(? M&C;?N_E<@H24#O>*M>C=?&Y["-%_QUNSY.@ MN3YL[<-.NTL=%Z#\O> ++_?JPPHZ'Y\PCC.*6+$ MO$6B;*-09V-#>QACDN8 M<'59]L(8;VLY7=432)[#F-4#:-54ZYZ<,OA)@SV11:XZP/>ZV\U() '7P/V2 MRJ[?6[H6$M.YP_L_? V:IJ8WIB>\2KL&E3VJ'LYSO 63]_!9:RM!5@&CK,9COA M6 WSDW2;L*LAC;@]AQ,FW;>JC^VM)M3K><1PJ:!IK\*AM6UF=,"*L_\>^SA\ M&:0V*$VG]!:E.P_,]C1I5&X\A]7:[4=@1K-'NRG#68=H1\T4I@3[I;T2/LAV M#U_]PQ/&++^JM6:3F'STL0S0I"!]66T]VL[RUD9(.SH&;@B-Z.Z9['FU<0.U MC\P/ >JF(VB^1T,+1E[P:ADS] XC-E_-K7^@B0V5S1#WF0352VBF0J57:T&T ME2PZ@,C<[+6L=P4\*GV,SB*%G24:PAK3\KV#\/1[T9W.%-:>:39]!MD]WG)_ M.$=[;+=U-3X^_66";*Y>]GP5):]=F(FM32839(4W<%5+]^R&9@*U[+*=S2;&EW)5@D+,9>_4S"&)/\+SLMH^31JE7X%SS7=&!UW8GZ&IK/]BK!M MV<7ZM)R%@WBH3ZNO-WDEIN X]&9DOBOR2O4@-/K*&=Y6US6>+H@CB7VR<14O:!QP\W+\1"V1'8=V__;3QA)1S J1+,[*?6OU>ZM7 M*>6FU19B-([PT487*#Y<6S&V+9Q,7VYQNL7YSHMXNEQ+,'73HS.P2)R2FT0 M\'%DZWS _BZE9Q3;:W# $(0VVYWP(I61YPY #;%:#;>F_XHA'U:.@H\.X>4 M":)5-@0::S\? ;!IUT%S."'3Z>#G_WL7L"VK>7^H/C2A9[]T5RG=4#K3\P\@ M8'BH&1P 0YKL*)_0_;QIX"QZR,N:D^3.#* -X3KT/0:OLI8A'ZN$['D;+Y;! M\75]'T5O#OY7M6P1^1SAFOI%C4;];@_M./)SO1 -NPK-)'.TQ7M3?6ZR+I?B M3@4R!WO?%!"DMFH3A]&8VRDK;V)C3]DV0J8KKT%VBL0PHYB7<)F"EYR\W)T& MFV$T9J"]UU^32C&T7^(PSQC6*9N(_8'%.\QPF3ZDM-6'JC\TV[E5H7*,3F*EG2\8QAFUR&UDU[SFC-"V6.-,5L[,+J P?07&YBK9I?U*H!U :=ILJ )A MDFP%3ZFWD#T198SAR?7L#[_G*11 MP(-.BH:N4^S<^]--V3?:4M%*M?VQG<1?M%V46T&U0; M*8>80_!Y)X"#/7[3>LPK@715/_9C=T;\-1BDXBSTZ:IHK8-CAZ%3A"1E@ZK8 M36LNFCT:S>R2T G[W=ELVE@XZ4-E"9;6FL1E7]?1(+U5^PE_:S3Q5/ M3H=RK969W5]X&^\)4DK"H$V/Z&HUI3I:SL2&:WZ/JIWMS:;;^N@I"16EO\+U MFZ*8" AQ2#1KW=%[-IZ#>[Y/'GV'5W HM2F]# +*K@_:7\VSLPE-ZT),:7K< MT0;-U9F]R&< I:9F=ZY];%JMIV$1LP(ZE2B(W3E#NZ572NIJR6Y@:S$J*P)!\@B-)H.KV".VNIM@ZOQ7.X[2A_ MW-)B?OGN-.&C<4Y:&\TW.: +K[DF9G\*V.A#NS%Y1K)2*X+G ;>KH=WM9GG& M#CM&)STI^P8"=JAK!Y.9&V0DO84:J!;60L>I6A(_-L2V$5S2=.8XOY'C>'5@>@F;&ZS7OH$6."M:,%?4HZ%U 36.35 M&=;UWTUG;-#Q6"5WPJ==H!$P:&XO8FYNCDZZ2K[$ 4Y?R:40I[7FT9$49[EQ MUD'BMBF(PVC-Q/^K["]0%2>C&-L<*OD*>Z"6]?(,]Z%C>#778+8TX(/7PXG7 M+NCQ1*=#P"6TB\B(UMM9[:/3*=9>%I(%HU@G#C!K]&QL>.VQ:!2I^1*M%S!" MP"M.-KTHE !"]"^>9 ]9J"G.,2^1FS7'(AFD/F&->NRY=N>=*H07X51=?(5DH.@A03I>#*\VF8 M_^77;<@V4, 7:PJKZ--RRH#J2AK#/5[O"C"P?2>$75\"DT/OG\:5*NA%.GW' M1?HP&L>)8]42:C:4=N^ M.5RENY%I>"D:B']+F.88QVPC/'U*<0>R09]FIE,4J*^07*TU^'LZJ>T:W*&M MC0<%;;<10P9*]PJ\>\-B[M=F\O#P7A"J#0_/Y$K:DKA>\^#Q&<0ZRY)*9.F2 M(9JF[8/N(W$H3!O,3';-1F:'-#-U[X2MST\8S\0#,GDH9M-"KSXW)[>76"8, M)YB9OI8I_ O;"9U^HN6%3W&CPV$D4<-K2TF3$J=Z=P1K=Z-9NO7NX N*S<+P M>,A)F^(\9!AYW'@ KNZLL&EUE(.QQ6TFH1MM&VW=DTX- 0\;+XK$R]1H"]"? MX_Y!6G&FD/?UU#0]-W&)&O4_AF(3)%_58< M??!VM=QK!A&:#M7\0#C$&:(:UH,4=]I$.YLY?:M/@R"%TYO] \:ZLB&O_=GI ME'8O@@AB6NB.O*:M3I+Z9V>.Z-^5HW?3D>]IFLML,P=:;IF]FLXLO:TW3L79 MOIY RWC8Y#CM/GP8M/R<,,FNPCC,\0T9T(IIO2U6H;/9=#OS[C'#_]@!\-(+ MP()U)?6FD[=-'A =KK6<+K+ M2Q$H>96D+2F);=>1@VA,:47>>F$@'#C"!,YO#FP3:K4_'$!@:K M7J9IDIXGI)<^0[?MS%OO3V)NX-TU-=.&@7>W$9IN=I6#<;F6^.)MMO#6)K,( M1.P1<>@,BG@ !O'4;WQC.FSGC;U/RPGO[LSOS'?;ENRLNB>_!;RS4D2'!$,5 M%YF=%T%FAP,@M-X]F0%2'SV2R74NJ47:.A I_B!B<\"\[(**Z]5D_L&N:IQ4 M)ZKB6*I3([7?)WMR G5:Q)N>GM0B6.2<$;TJ#O^Q(]MSYJ?AML,.VZ_MA+9Q M&78:@?)X%26OEQ'N$WO=J^F4)C8?QSG+ZK@/LU\ZE8BV%G,S_+<*TMYFOE&M M77 >-!)T4D"1 WHP>5"EDF8*!GJXTZLP(>WO]H%$'*-!PHM98V76?IZ!W>(! MU!"R>+(O6[#\D2<_?/A=JUVF7UO3^8EDV<(F_D2TBEN<\["4;/6<)KNGYVNB M28&M!"PH,8YJ,YL/I#"+N[I(_>/*Q5F2ILDKW 2\+?FEL?+0022.P*0TVI3D M^MW_KYV7DEMRM&>0ARW;0/G)>><[=NG^!Q*9[RD_.$&$HWG!.K13<'Q #TQG MHLC[NDS/YS=T'M .MBV1P<]S]UL- ::HSFTGJRE(>=A.5D=@POLE"_57H&C) ME)!_V3G3?+7L:.8<." ])TOG*4F;X_'UIR9.8V'GMA)[U\NHUJ^M:3L_Y>?O MP0.+LV6L:.'<^D.-QS[+=+A)O+A64QM"9D+PE@C2'!Z>,>YW\6UI8'@Z/A&: MRP:<'HI/5 ?K4SLJ(=O5]7H@I>EBSU(OH'#O[1$IE<>FTSB;G&1-"F;C\U,#9-%^! +_F&ZQ MP=DNOTWRO^ <2HHT&<+[-I_0D"/5KD8[3?'$#'RYS0$*;87,^S8WO9%N(<0[ M4H+A9.H\7=\B7*QV4^W;=NZE4=HFYB 25D\2N^I+A]2ZZ"=?-JVH$R2F#MB"QHN(\[8@_;6TT9:B6 M-MY$566YB(#YS0VPS;%;W4UG@NZ14+T*OIW IS7$!.. [Z1A$>2F4ZJ(9:_&9F)]R1GO%4I*1B_AU 8"89 MN&2;X#@QP97GXUK3R"$M#2OD_>]&<[L)@=W5RYZ7Z9V7YOP/Q2'0>@7JU_;X M@MH=S.<;!#)]8(H=UD>;L@.T;2?E!Z:.%"2;&?] M0RI:FTRN]HG]@?6R0_LK/7Q\T1\\PD(Y8VW$=QKB/H=K7!D)Q\M"GZP"KK$< MF!URIKNU"]:>%?/Z#67@4?P9,14:K^YR'J;_;P"3YX+[&+5ENXZE.O@4H M>6#2EM #FJ!W\RG38[RGIQ0_2:0O&C%ZTX$@UMEL.H<$N+/!-'F]V:;)"PLF M;S6!M;6P7\U('-@!P*:JW]?:&H92,;U10!R7%P9725IH]K38@8!]U?2GVEWA M0!+'"L76]289(S\=D(M R^4MZZ$I=8FTQG019I>PAT CI.>1E[6!ZAQ"P2:8M8HVW1Q TK]=75^!!OJZBJ._LL#: M_^_?WA=B'.& 0*U8?&-J5&P-AI;="#+SB&W(:QJX! 0Y5-!#C. Q"*%.FWM) M1AM].^U-3< D'P?.-NW&"55OD-I7;54_[I'Z'.\PHCU>(-YG\J'H]0*)?B/> M<21[CI2N(^C[VVQHRU:.G,='+I4CYRLC1YILT+L]]M+L>VWL;0\G-ZY(V8F& M2XN2Q3Y>/D8AL\$,7(Z<]D)9+0IY5-!?(.:T.TIA];.%32F9[Y3Q0G&2HSW. MR=\"YMZVE,(PN(Q+X18B)'_@= JZ*('S4%)&0'J!"'&4K!$A?W3RJ3,HA<3, MND7FC5Z94)YH0E-K\P+%3.KCS3JR\Q$BI+XZ80J&U'!X(@$2G(OX@*MX+-U;5,Z3SG,,[MRT"0@6;R5 M:)SL1^I!':J[#Y$W^E+*U?SQT,@[I6Y5@L.\8"G3D? MBFIV*X=9%GGZW"TF=EUF ANLO2P]YMQ._(Q^ ,; M@Q@\P#C@:T+(S/6RK#AO^=&<(\^)\$71=6HW_!*'>7;_\&64I:Z@B2A11*FB M=X0NT2S^RFA;7]I&)5/?YVG%HVH31YLLKGF0TJQX$99KX5K ![^LVC%;,%"O M#E[!"3;X1\F++N,<^\]Q$B5/^Z,=@Y(BS5FA1!D.LFLWCX-=I=FFY/P5%A*K M"X P00H7.,X*/E8%?DC6^:N7"H]B:7IE:0ELL[8\3MSJ!)@83&)03A M-!$GZF9#,BF0ICLU2)4Y.T;J C!D6.' N0*:B!)%"E6B\Q&ZB!(^+K$T,TLA MVV>B3>U8A)(#/88:*%D44#6GJ8@EA,TJ@_#0H89#S@FM"2OI+T"OA!D2W!9( M\D."H0M;HH-!4*>:WEF%:?@;D.T%IX^)HN99E4N7=& MCC?! SVG .U\O)+AG4]Q;!TA7;"I"HH4XL]I^U,!S M*!& 1ZZ]XA0VLB0% X0%!WIKR#@/NTO2O'21\)5QJ21E:C"6^LN1SIWN#JR( MZ+D4L1S^UUJ3^S:AL+\XH-[RC!Y5ZN]0=X*A A45NPW$*/@R08G"(Y0AZM#<3^*'G,VB*U\#XTEL@ M)XZ(AJ08/6=K:)"81AOL,D)C9S9UY/"6947.6M\"$;-1<-M25H+Y"[,0#6(X M%WG6Z> ]5K" S8"34HQ/,EX#.(G?K>\(5L2N]Q8(Z5N-CC)^ _+:V6/'.@HU M6]V0%>!H-ZM 0IWMH9P'!(]:K;6ZST>%(C392R3Y MA;C$':.06H0O=QZZLH\43NWB5+\.B!#A.L2!*/+-W@MR+5 "&,AOY'X6&#E\ MU?.HZ @L5.[66KZJEJ#)LHI%V!.U03"4C>@!25BBCWMF,,K-K5K E0M\IBT@AZGO._..BNC:D78^ZF@-.:VC M$T;N??;06Z<*Y3Z*(7+N@T709U:R[ M2.FO"BP@\ZUEI\E'BDM,$T'8^?A7$ 1Q2>Q;=68],17UX>2QY^P\'O7LL&WB M-5D])[N,O+>K5]+9_>HYQ5A5,,QL$J\)$GP08X0HIY(NXV1GM"2R. =^!:*J MKPP@_[@534(WU91M'.'PX>00I8<$04?^'E.RJ#-3+Y!UX!UJ%A_GHF(TG/FA M1G6YDD'J.'M,-2/&0;76T< I4#T9L),Q8L75\^ MH-/;"_2P6I[_YW\L;RXN[Q_^!5W^UY?KU5]L(AE=TG+&IT% GLEHB8QE2HM, MDS=UX%0QDHC37"!*E1H-.-UCD4?=O"83*DMSL@QSGG)U3E0\O7-#^.6ND N8Q'C5EQ$D]IAN:3_(JY7_DJ&AQP\:=YS M@,[P4QC'#L>HIH+H8,PJ1572R**0TCTB4:(Z*?B>_PZ A+Y7T<46Z#3/T_!Q ME]-HISP!9XO%6P=H35"VFBR3A_WF,8F&&AH8#<2(S+:WFCO 29>5%:4'Q(SR MEZI1/L)7NG#D+#4D22G70XGBR5RZ3=4@/P'C04.48_H/W/1>O BKA3]'HJ!0 MLQ336I_I;99^4!A-'.IH:11TQ!0_B7URMY:9"HJ%AGE@'.[,A6"^$]C8 R_X8AB=5BE(TSA'?ALCDSD5L040LWG@L6 MFU;#6U31&!J^A7/]UM%PT4!_%8RLKU0CXJD31V[$$->4I#];UY=P% &V2!Q\ M]M)?,(12\=4X#K.)D:4+3A*6[YLK5Z9IX31-ARAVV376 MVT<>%? NC/FU__LC$46UQ!:6U@GDN0ECR+=*<1#F5YY/HX1E"8BS)$V35RCZ MX6W);R,<\#'++J-LD."CUKZ0K)#@==R2:\D5-.<2>2]>&%%U"1+1UKL<;J"/ M@I%#NQN1*PP0E1C*@5[1+H$]SAONP==MBYR5B 84S.@(,'9(\#OZ M 6@R2:)4E3IT).ZI3^Z3.VK[H?>;&I_$.-"TY?EUXR7 D<)B3<922J5@PN^K MNC.&5G-P%B=8K4"LF-!&6L\$<:10UZUE[DS*=@2=*N6M:77"VC'AY&3!>MS( MH*U.7G_%C=_3AIA\;=:]>8UNT!GL.]"GFY$YCEU;?T'"[9E7V<4 M2NGI.<^^Q.3;\S EBPJN<#[.5J^)(2324GX[XO&^//,=^H!2V@FT@UX@7^T& MRE\35[B>KD=*W@U*->(09XT*WH@Q1Y0[TMBCU;<[0J5"B<>QD.AEJL!MN4N3 MI]3;\(JA=VGHXSNFI1!6PY?I+AEG@ M!E7%KL(8-""*>6(FV9NR.4G6)SN(6&$HB4SE6C-># +%,AZ@+6'Y)%+R4'^+ M,!!0D$S]YCP8E(VC1&];PFH1I&):IY98&E2"@%HBO>C."X/KF'LHQEGH)4T$ M1$_"6+ICCE(LS2A4DNW:O6Q*?B^/&AL98Z5A'G#P^7*_BS9;+UN/(FO8+I?D147S"=<@P M-Z!B6@_S/U^W#)GR#*\3B/ ?7B-/[P,KEM?/,5"\NJPO"_1(>^.F@-X48U=; M\T'@?J>R2Q"/ ,/H*<-8YT%TXSJD[PLHWLMU%2ICY!XN:5-<*H7ZOPB$*W>[ M>@,PX[C0^C;,24=!]6;ETHXM'4F292PW E"ZC27][.6[E(@)(/AC+(,%Q042 M-*TBZYL7IQ(A&Q81LALA4N! I$9SVG"PC5:+H1.\#9-"Z7J%8A+$A4CQD8FD M5O9Q+Q(K94 .TS#+DG1/788LK9G()4!-.*Q#8YGUP=4<)%_N4V6<:1Z9!%01 M4"$M!=@M%WIP/3KE\A[%*#&7*LL/IXLD$*.TY:.4**-4JI%EN_*'ZV&JA=_I M,PYTY$(*_.FD(O* M=)%\RL( L_*1\FIO,,D Z@@+9DCCII@ROH$AT%-]%9E]E?PW(*BZ00^><$?E M5ET,AXID+89#4::UX=#6@C1M65_^B@%6@O74V*9-FF)KX_C=F6(A5&6Y5D 8 M1U78C>G+QS 9.#%%JB)";??]KTC.<":&EAET3+2]^@KAVYMP>%=["EE-!4L3Q MN(K_,"B15ERK))8[@< 0>^MMQN&# Q$$5)P95L9U6S.&B[Y;MP4]PZ9X'9_Z M/GAEH8(CN;WZX98L(_G5 P!,>&F0?=F"V^0T2+;Y<,1/RA&%,2H8(,ETH7XK M^2+&F/S(6*._DHLV1FLORNRCG3@<(NTT.Y9QHA=4B;[.,0Q&'>1<_P+H=0Y8 M8-><,+KSD=9O ,"_/XI^EPP>->-NO;P*@L(K&.+2,8Y% 38?@#%?,&SVQNJ!Y:)(%OP_$QRI]Y%"<'*>:$N8VK59 MV1:>S[-6&0P\C9)3431."$V/5=B1Q57$"_H.DVXM,4-%LEJI7#)CF$:C,L6&L,*T=J M3XY6NBJ66X\9G*"TAA6Q"S2^7D*[+;AR#WO_#DL\MSN<4BAEPKJ(G0#83@"& M7X4;\LAR_4"^S=8>Q=AGP;<_#O9R4_8JP)W2 R4*9X%$)Q#K!?7I*_U8\+#E M;W7 ='&:)Y6FNY!?@X=2!:%8%7!7)-%N>\QA,C2KQ_PDY/47G,#(;02 M!3A62NP^);N:"V4PIVO^G6^N ^H@TKHP>Y,[]G4 .KO(GQA588U;OL%.H%.U M7"+-N#PUYGSG0A7U/036%^2V,"_F#LZ&+7=@9BQ_11I-<';YE>SH24JT 2_= M4Z"NVR2F^WQ"@;5%O8XQBY;;5'BF3R@M+"X*GLQF0'3[&,='HRD_1;=0T2\Q M6H4]#;/:[DI79#$5=R?+*>EJ$$8[N+D_8!_R"$(8,S_:!3A@@[S9[I@U9KF^ M]%)0'#*1=&<*Q5SM!BKZ@41'Q,#*KD CT9DB$]$56#B9Q!128RXP^_59"H'.; @D(.1]O M\\N8W/4QAN!44R"#0!8I=-&&$K9K5S8ECO!'UHCA"MG/B!PEO#[GPIBJ+%L M:12.FK'%@DS6,E: /I0..CQ59C7 FLV;CMYCSU%^G/2J)1.5JD]^ZV.D)XC%R09B9"W6R!)I M<&M,/3E>).Q;#SA]"7U#N%XJ Y0)"UK&65C/\3,LG'0?*4))LZ @[>9\-2]< M*5VY9=J<8P,_X#A,4IJI>;$C]PW%_[QZ)8MM?T6HG,(?I>^I:]HXZ#3K#L\" M)ATBMW6D.>H9XP96). -2:<1J$U\ZQ[QDUB#5&& M"R18\IPNP93&CWP30Z$%$HI+=CEG#U+ZL!@)]E49[ME5L/"(5 \EPME)QL:8 M+D\2W%0>G;A4)E37'@30(7/_ASFS^<[\@9MR/S> M#"VR4H:Z98R8(5OXW3/T2G@A7S"SC'-K35:^NH2,5\(+PF0$'D@R<5)#QK*\ M-6$5,Q"Z'BRL!/AK"@.MBO%[5&)I.4$EO#-:^P..UP*5VDWU1 H["'3E2./4D#8>6JW%+.0&4,R2%.ATW.,M^1KO8VP!2XS]Q,(43T91< MBJK7-$4N0&:$"L^8(J.1AM]U&U*WG1>=> M]GP5):_7,8W2IB[)D4Y;A3H"\@CH(X6!2Z>K'5'U CR*O$&1I A&*Y!^35C: M=7()!]Y=&B:I@(5A6([4+0L6.@8;3LZR" [4,?(6/LTM\$./.@Y- ?+X^ASZ MSQ1;GLUZF-%:-[0#1SX>D3842ZB(!4,A(7D49LQTRT;@ZAL1OZ0.]%D1"V4A MR%5@/3VYO*N/JVY4V<2GTB;,UJ+GIX]#EPJ';E*13,= )I5P6)T8TXT),1T8 MZ^" ))$&+6#9,YJLOWKV8AX'=)M0.%\#$E6"V .8"H.BX(TN-A99%ZCCWTPZ.@RUSD[,WBI)&D?73"E>(K%0G)@8LP)UMYL9*MU:(AG^*.Q/?FV3Q)Q!@!H1 M0O,LER1Q9I80=C\.X)&-*Q=F="F,.D!4'A-!&]@2,ZJ7L"9BB:;@2#['*J]>0*?'Q++ZCIS=L4JMAJ0< M/-6.@E.NO#"E*473X%N<%:-0J@7"7NS1Y"0,OE"3MHD0&*4_ D>1]@A*Y0K0K'<1A8TB/\.7-#)FRWL'3KRB M$K23_4,D[.Y^LB*E7"E5D=2HBU3 8]#AD"3_C M*%C&9_C9B];+M0C@R,B9PJD?8'HC#CP (3F@9(\8+0M4E-UHPFO&3<3U'+G_)6M=W%7CE=>"@ M$B?S\C*H?68ASW=#U3-1BY-CJTNBB%$]%FGJRHLZ%JDN.$: OY+522\NTAY7 M7+"-Q &]DRBS9$U^SR])DIERG3]RX:M%2M=22,^9D"SC7G%?GN[RYR0=D0VD MYO!+IVQ!]8@$TOVQA;-55EKRG$EUM\N9MCT.T'"7C9-FI M'Y@S.+DDQLV1JY';.H*VAH+/1?'E/A0_8>/^P87HNVB'?VPP :)>808;V.FLR?4F9L:+'3?)C<@<32P M;)-"O6,WW:$AA>Q4*,@C3G^AZ*Z\?-R1"EJQ_JH*++A3'S%*)5>B.SD15@_R MN":O5OP$X+<'0DKJ!5A6+>%*H63A".K-D(3M(4H%6>0(\M.H5&WQ9@A( B8.%;SB4R*H;V+$\C2'CYF(-Q.1FT5@5T+ M>?PZLA&;$4ZS8( ZRN/2?#5^#1^31'H"#JL-GQVW9+4JZ[^@;Y@3= M6G.=,;,A=X(#!&4Z&N+RH1[P1[C#.1.[^JIY(34+\%W)_BLC&#CQ(Y.M'K*6 M3YAB[756RZ/(*1IUAY3I/2ROZ@BZ'Y5[KJ4SV8^N50%P:7%:@0A(E@C.\HQ9 M)I(X"K-H#2,9"<'='D=DE;Z.H5!8'.;X)GP!B!8]+.ML_]G[>Y*R MLIW#H3 ++B>4337ZS!%(IF5Q]?N=E#FJE]FJ95!-1FO,E* ^S/!Q-VAC*IEZ M]:2\ML09%O@LV-HU_MH?!K[$I?@T]+DU=T1C=^32-X.7]U\!UL/FPLQ[>DK! MOT1C3[ES?DRTF9=)B#73!ELX%TU#$3G.V2H#S*KGSX)Y[ M$4:[?(#)5+V7D7V+*-V 8T#^'S"")< U&=%XK *+BTX%!TWE 5'\C,L"<3[6 MDXF:C]_A=76N6I4+)V5US,HUL1G!K##54D\]YFN!G-=\LB%U41.LE\R.BX/Y MSSC817BYYF#Q$B]"*?9ZMN<_CJ[VP;E1[QPCJ0!4*!QI*J!X@IT[R&4E$#>C MHET#^PZ-,\\*F S#H8>.6A($ 9V9=[NE"(C]OM62O7Z[)SWL-V2E6T<,=C\6D3H,&F==':;G+@P#>'[=8?1= MKM?8)W)??O5I,89[+\?+&/")X?\0O?'B10 @=(])CT*?*.;PPVD]$%_@AX'$I?ZBW@'0SC'1QFA6?JSPLUX])?1'![IP&NXJOHSILU;TQ7'' MBSN.M OC]"4$9)?:!%7*.,- $5'*#*F1&D!$R":HCQJMF**+)LTJ2.,G9ZK1/B] M3H. ADEXD5PI3-CEFH9+K9)K!G4@&HS-Y>8HBGE2.,(\V8?*6("2R%*]20,! MNB :6B[9X7ZHQ%5-#I%TEQ:\D60N]GPR1+=BB'@/9,/T&QLAO6C0P&7S+]8N M7%"L_'RWV4$YBQ?,[CGL+%FN1;G HE#/.#@ R08Q/@MQ:A'9!2\H4BBX.:G4 M;EMX/>5X;B-0R7GB^MK8VDY%YI,@Z-! 8TP8S2@G)>+A7?9K==VE4"(LWT.D M!Y0H*LH5C9L<07=!8UI8?:*B6I&KPED"F))/TG"\A7+)+("EI%=@,5,*UH+E MDEG&9!*^<0FQ*=,][*-D&!9%JQC5-C='(H]^6Q'30K2?(L.613?7Q]J[@(,+ M654]LF4PX^T3)KH&SHS5QU%XL'N]RF6:PCG46<#]_3*O9I3C0?KVG:7I&)&A MZDB*DOCIA'R]<02IV AU=[V6]=+IJW@=7W[U<98MUU+YMH+U=[T^\05COIN& M,6*\X56=R.)@=V1:K_*^.CS?A>KXT-WY.Q@@+ >(+"-G=WY3UO9/Y,$\NXZ9 M@OTI'9[%;])_P7H%HRL20&C/?@6#60].D6@#8S^"\0)OB<(1CH%;4DG,N;OZ M!E#0$9K7 H()HEW (Q,U&-X4ROJ=).N372: >-$N#F3=&HPBKY?E__L?RYN+R_N'__I__^O''W_^_Z/*_OERO_F+-)D4O MT1?.YP9CC^[L8+8Y:,3Y<.T3J7CU'(LMO(ES[L&4\CBTZ5 ML'@A=8S3/7(Q(TU"B/OD?)#""!6@0I+)R"GY& - M+*,.5$J2'AR"* *JQR./NC@90*S/1>.PT4*@TLOA;<@ M.\/D)<#BPD&S3]1+(A%>+4TS4J<1S!'FW-$C95]@_+&4E4"]IM.2EDH?+!?J M=CH^_+V5XR*X(L:VP(ED:4B:^0*4"I7W-S0L>JR(&)NSZ]7%J5TH6AD<23T& MY01*&DTX.+FG#"NLI,LQ_T0-H(BSO$'[X@LCLA+NV20VD]I%0I=]L9LR)!MD MMYY/PM]?HN100[>)6_AU/>B ]; 04[((6XG8>PD]'GCLSC[2 >I30/K<>AM\ MD8 .:PW':($H.V[( X;HKXSEMS ,A^$;5Q6NV4'$$-A8B.5%HM56]N 3F0JJH%R(S)MP%BI7 ; M1\D>9L30\J:YQ#_/1P8KR $2;/8,@J>F:[K:6M:_ZU[0A@T MQJ@SG-/(G)W+HSJMJ<"\YXZ2&@O;C9&43,5BXSH]FT:IC)69WLM77.ZL9(%7%G@ M*+\ZC'G_B^JMO%:>L,^XRDHQ)U$U+!8PUD\ 9-V55,SHPG.P]I M6:!'Z,%1B-UH[EJ@LZ,10O6J-4KBNJPVA; W7S:;DG57#WN$%)%P%J9OT$S["S?P^Y(5(&X!X^'/(JQ_M>F/3D20F[C(X(8&H\@Z\$,@WL^@^,'\#28L2\+ MDWAT:"*%YRCH+=S&'IH2I@(X4I9H%LA'8TV>_:&/'-HV[4K>9A)S:N8K>U"& MEI,SZ?\*W%1>,R1ZBP_,40DY4W/8X0?C9"W;?N <(ZI>L/-S-5UNU&' Z>DQ M5PXNA,;D*)45+0MCUY]'K_W^_A/I=[:,E:+:/-"+9FY!91TOWM\DWKBBJ8(; M>@)V$'&L5# _27EH6:BP1!'P//(AB$K24TX08J[PDH%U*C=T\PU(7_98MZT! MU+P&K/FU]4S>!R\:[=1FN;N4DD-PFY&]UY46+8<:G:#,=>!.FZ/Y*DEQ^!2+ ME;1*R?*(/!U[>N5]M5=%BW< R;6L=$$!HUY -NXW.% :0"T?"E\,15XP64"6 M-L(4N/M;' 9%I3*\:!RYX,AE!! L6(FR^S#[Y8QT['GCI;^,TL@TL@CH(DG8 M72;"T$!H^I][S,XD4?2&6:A^G X0DT5'RVY)39=U[%WK$>?$\CYN3%B)ECD12$GZX8JEJLX:**ZI9177J:Z96%6R" M17=D#+<[( UW'^&0T@?%F[1M(+[)(JNDA1^G(%&I70,_16ZAGC? MYFO*-CJD%9P/;G[M'M?'N8XK>$L!U/\K40OQROM*N@@[/,^V(+^,KHS'G,"T M7BAE @8/Q-D2$ M$9DY%< S63O5[:Z< /1>S16J_$C<]I*=^)!TZ+P56&+*%#MH5X M.&7,HH+EMSXNRLEI856Y %X2!K++?^R\Z$\X@_0+L&=Z433(3%9R,A66,@P, MT OC0(V;@H5=?Y-I 76KYG*-*&'$*2.5]%')56_?%//%9L^+8_@G=""C5O'P M.LO(%>IBE[+"5@!<0?&PZ(^Z?V1P$HL%]Q)6*C,?_SCIJ.B,""P1JA,+/Q)Z M1R1F4&O6;X(61:Z](#0[S>SE.=%7'6Y?+'X(2CW)DY,-98N\PNC/(/ Y9_A8L#[BP6B"/6"VC5_Q MB)3.=75]@,OGH-&P>^ [&8Y(61O+& $?HJPAQD_UC;'B&&(8SETLBBKD^606!+$G31:L5\LS$3HDZC/6U)9^V.5^? MGEW?7*^N+Q\6Z//E?__WZ>WU[26O7HU.;R]0 M$-66M'H,W&8#T6^R\!L%7<\!=/W&G=&A0>_\DQ?ML)(A.NH&!N3IUEJR/5/3 MK9(2>K3"BEL7%8K11XP!OS M$.6Q4-. K0(07=+*XJ=!0)[)P#KC1?\=;L^3 M8'"U+%:JG%-<($83$:((J!Z'+-JM;VJ!:+8UA:/"%U[NC8,UO!25Y"5-@%?R M;,,9FI:F9H)).,WCD48[PF3( MPT90/2)!%'MWZ]RXL%RO7I/5<[++2 =6KV1U[Y>Q=B(9J2! F*"<9^V(R5\P$$]01XP\N7A. MTAP*^D$VUI@BRVI9(TJ4E0FD25Z6*Q0SU>H9K\(-TDKT7L".NNP\"1 MF0Y\?3S2_<,7,4;VP64[AR;KE[.-Y2 (S*%3!CDD?K]+0W_PZ=)C968C I<6 M2 (E\5[+IQ#M]Z][%M1E6D&4PF*@MBF'DV*Q40X"AU0SLY^DVX3%'-"*;>=P MWTGWXUT;&ND%*P>'(**<,7#F%3 H8*TY?3HI"S</C *CT>V=%U.R)K.EK27S"RR M&)S#A)#JNJ4BRH))UHQJ;&*+&E&3VM2,R:Q.*I/0XX8US!Q]O)(MCT#Z-B:Z MAWFM9;8=6==.HXAV0L#9C+)T,'$$*7TF [+S2_. M5AI<)=@[K2@TQ2CIP#T^O>X6X_!I%P8VB[+"]>0F\;WH[IGHHJ. [R@91.E8 MQJHST6D]=<)5SV5": IU"_,]Y'A" BA<";8;&H\ZKJ*G(+R@2$^YC*C>LOIV M-^[J8)H7L51B9V(Y91('P$VXS_29;8J/D^&(BI%X]TFD/'WFXU'-;DG<9[>X M'8^:M*>1J6#6*_48!!J=R%P]",5U[E;J:49]G'G:%1AL4=J3?:*%M81?B>7S MLA2!H25&*@5$)1\--Y:QXND(QRUX!4[65Z3WI?0JR"Q+VT:A$^E;D[?O,>E5 MZ),.TL?H>W*+R:Y^E:1K'.:[=+#YIBWAA#%?H((] T02&P]4]R0[N]*);VZ4 MU&4C("THS*T<$9:&-) VC:&B0,6\^UVYN185U MZ::CZ)AG7F3S0F^FUP^YE^:\WV?X*8SC(^BZ%KL]\\6AOKR"AJ/7[AYO.<#> MMP2$GZ+/[ M5%$=^S@%U6Q>NQRE<#=:E*Y$CBJ_W8O"7'X3]HQ,)0E41@PRT4/X>#3:N&-'F5S^1W# M 0"U9?%+R3MR#!C$J*^- :"-'[NXBIHZ>,H=Z;7]$L5:J#9"E MLTRIRL5@GT;>+=52 PM8EQ!+S\@SR"=W5TL+0JI+]%P![EJ@+9'T!4B[+4E( MP8!PEM\3T9A\1#187=[3T!FLU%L4/! P68C)+/@$G+:C,'Q')]&C @XC$[C22-&.T%=V^ BBGH6]YR;(FHO8I]Y+2> M$<^3\A]P^A+ZN#YDX!9\LQFX_\&+E%$-7_W]/,GRVR3_"R:ZJI\\D0LT7=]$ M%%HOAGX%SPUUE=<&7A1A#+0^ >N@\'-!C\ ^C?88]%O1*3G"K-J,[-BO>Y1; M S*VZANYLKSWH=.AHK.5=\@IQ0YOKV#>"%B+H M@5T+,8IV 4)&"\"7O=9Q)]@?HWNN>;E<=E^Y($.D&>R-JB/90(XA)X&H.8TY M"/R"&T9W5_U17'5:;ICZ3=Q,(!@GNBU7(M[.?@U1YXA MY:NXKS""G4!>S2$9SN[I8DOB>EL+4AF $B%-+S:]Q58%U6#OA30\5DB?V,"! M0_QLEX4QSC(BWV,8,[NNO %>!Z0;X3KT9,5.BB>;DFMDK +ZD=_(("GE/8?> MH$1OD-*=A7+'1FJ/>%E/)/I$G>AJ40C>K05JJ MJW:DZD\'5;;1*;@XU5>3/ M&#V*<5=PGF=AMSA]>DHI0,A%F/E1DD%4\=A0MBZ#SVD0T 'P(E1P=1EX(;U& MV2HI.G/GA601G'O;D.@45(C'\FC=8S9[8DR9!40*?0@* !X>9Z\=>-$(Q8F%,+AW9 M\X+^%\J:BB[QHN\RE0-^_W6/H;B#TN&B,FGZ5I'=IXF,<9%=ILJ'16-*2CG.2,/1 M'Z$X,\1CV;E&-<1R"L]O"CJ9Z7X;7IE)DG*1U_(!/ M.";7H8@"]TC#GCN1_Q$8Z1'6CPX?479@G=4LF!QV X-'-;D MU6NG;K<1O3^2/2DH[#@T&3,^H0,2:@.RE@-2*&D_.\%U9+WDT9DTRUX-9UXE M5>>\XC$?@^O)AT>$J#) C'(H]448[91(LG(41,V-W0T:IM-1TW"7Y3@$8F@R M3+1&K@4SQ(A$H/8 A#^#%7NXN^,@$G-'YU$P'*8O)"'QCY1>'4&]" -#67NC M+(I#)*6!L8=BPZ(S<+K%^8X"G*-( M&3-2:/$RE8EP5PQ'AJJ=QGDH-M4'N:H)0LI'8(6]+0DOX$55LMD=)?F,?UP1O4C60RD[$O[ M8(H.%6/'0P"10S#?GD B)^L!C3#* M]W97K,O!4'+2APA6BTPLT !FW,YR.H>X&-EREV=03I)L3&=>%OI& M$6YBZ:SGU69VS')-,X!VU' =LW0-ZBB,J*-0*4ST"#TZZN$A-!\3!5,L3C:0 M"IFD-"N RM;:*\,PY>;8,#H,&;GI]>WI[[M*S=E_@=1A#:%?,(@=! MI2;TQJ>5E(QJG!VYZU)^M%JB8(BVA*.:;2(R4.Q:T6R/0&$GH9)S/DAE1&\) M6LJ^Y0PB)X+K&)H]YGMJ)+#"ST)SE+_$89[1$$;^DN]IR,WH8)>N+%_%WQ,9)SD@3M(@M&1X>IH19>S/ M8?Y\OLMRB.6"HP,D=V!D/HS02;,"8(%QP$=$&EN/O[4C'ERJ72J$N(@\R M)()0G?CO[4BIQ7M>/E@7!>)3+_BZN0HSWXL$)K2_&VJ[%/00(RA ,BC)HY!# MVQS8I7*;%'9MJIL:^RBJC57 M&6_&EH\J=,\;AZ6B1G>_07]V*(,"ZPJXC@950"7%A5GT>,(\BQ*"0*EGC#Y^ M^/A[ZGXB'W[#D&V/2F)QO"KPO!2HT[W"/S*CZ93"& S=',VD,"W0J54P!:: M%%/U0*&AZ:*[V!$M>?6:K)Z374;6X^J5O(C[*T+%C%+9 $B-@AU%(LM?$_(Z M,-;D#^"-UH2Y98W3R5#4O"*,&P>R)OS0=8P(1R18(L83 5-':JF3H2CAC3:/ M!UD2=$-TEF<*E_1[O"6//),+(]$QGE)O(T,8=7_7Z8XLU1206E?)&2Y:#O/21H%?/%!^6@C)Q4EBA2J=H\@,S+P M)53I^S'-@Q8M,XT@3?N:^&*8CEC.HFC8NM2O[&)J692UQXDFOW.@Z]H1\N"# MR U$VJGO YOL'OLX?('K%X1JC#7Z4)*HH+E WIH, #J-HN25[O44>CG%09@C M@+-P:0\R)F_)&L2$3A6A'2"R&I5'3R(8/HF68ZOZ5+R\2$"OM%O6D_&8M+#G M,#%G5]I3J20\\KI<%$=V6*1K9.=KBAZ[E4"O33/8+BM<,J6:.RX-LX8DJ=0M MGDB<^G3XTUR8A<<4X&C)@??*AN>CE%-[K82PY;H%QRF9H258/?NZND,UZ\EB)!A8!","&I50&9"9576[G' M-.5?1"L:\;7(>C0I(^XHT-2H2$)W$*)PHD5TJ1O/A4F1-#VQ:8H\*I>L!<)@\RPO2#M2BJ7)I5NN96FU4J43)X80FY+6 MW6PF%I6(EU!3; MRW71063KVCVUB5S' ?X*$6S76;8C/63PB"M"8-3-DV<%AD0EQ)HAIN&+>X,KY.T"I;+OB:OT"A[7.LV]TA95%&$ MY2^$^[D(&U3P03JC!6),T%_YOP[5.]ORZXC1/G6E%>/P:1<&+O! [U*>QJ^X3J@F M-C2E0Q(L.4L8T>,11RL#)V7*F$P5JA$IFI:_'OQF:7C/9;AG2OJX!%,C MM?I(YRA"RZR05?3T?J(Z1T.W(7:!<=Y/:+>8Y897L[+_T'4*B2N4/A46NRH\ MT5E$.3N\BG()K)9'%^&[-/0'7[%[A(9EHZI5+U %^E9T'-&>_]IGHA5-&XNA MV@)I%2?;>@5L,7YGNRR,<9:=^N3=R4(Z>/ QQ>-LQ((N4@@OD"#MS#1L7#QU M/MMEG-+:8=74,[$EYQ#9:J.3P!2/:::1?3>,V3E2E;E^$^5(G>L+M#[2ZGT@ MS+HH7>[.[V)['%I/$WY33@HVUB#'-4@-9J.YV $L(#M J2]F) MJ.VO^3-L.UX\%("5QV4+DHC11)SHDGX#+!8-ZX4'@C#CR=LTXRW9;$**3^C"=F)J***Z42@#QDU^ MN^FXW(@-0UYMJ#:@I\?,)^U(OUA.D7XTLZ'6HQ:T]",:]:L%<3KK,RCS3Z5PE=P+F)0CHE=*+[LC,^^'6BU@V MZ')-(>=6R9EMQB[VAZ&HKG&ZR MY9I] XKH%?; XFL&7V2AJH4+1)F!^ 4[Q/D=_0!48$E"911\=11R,0I^,0IK MNZ- =T)ADR5*W"/4921\9;P^C$@6!C0K,8D_>^DOJP3^B_/3X.^[+*?N@I'G MJ+0)^T4'BDC^'#X674 ;PAUVQPWM!3EQ93?L'J3.1ZGL%5 8%SD=.=)8H\]\ M=!AWI+#_M@:GUJ5E(]GHE_M%@Q"F=0$HO6%XN$OU HB,N\&*G&["2\E,, M7*CDV,# I?K IGB*!Q: MA71170Z(TZPP\A_)X!B%U-'M"DE](:E/.(!'8(%BZX+2]^!NE]^#3U0&[-"K M[L@U38BB%*@JT3J4KET-W8PLPHE!9*#4E. L2N\(1-!<4O\_>V_:'#F.I W^ ME;!^Q]:JS;*J*ZOOW9T/H2M'.TJ%1HKLMI[^4$:1B!"[&&0T#V5&_?K%28(D M ((G$$&:=5=F2@ (=P .AQ^/R]:">&>PQ@BO:F;!'-^3>.<'U,G?+PD.5=U9 MNRA5/V!!#39/7N#[G&#F>0X^?"!M=@3V^I"1O<8KGB*B&Z3/89:&75S+MA_8NJ]M* M/E*4;YTL87D\BDL/$S\(5_AU]>A5X7"05IE M$"59#'I&>K%OX "".A1.\9T)@[L0OFT%1K>PH%.8W?(/N)8],)(_")!U.9\" M:8+X5/DAW^.B>%/->R P>5",;(\L=1%2"#?.'38-IQYC5/ MAX'\.0%G])M\4N[PP;,D=\05#B#VC>VYR@8:\-$7\"47&PPC*-?3;I"^( MA!J6>@+12LP7]:K2<-UQ?',ON[*P:C9:6Q(Z/0D2X."T52TN@GKGF$:,"#CN M$Y6457R$WT\!"(FVNM[' Q6U)W6DPSI)U8NT\#',RK-!O1'!IPU4L(^.-GDQOGY4",OP'=3$FRB4L![&M MO_F#E0%#8TU< *S+]!6UOZQ-@B"XG\5$$_S$V<)KE*9'/*(PP 0^92LIDI_@ MT"FR:-\Y?FPX'X40P;$[H4_%%-)19*ODI C #S YV$>P0@19GKIB<-64F:Q[ MS$7LSMLA+N89+\\O7\:/F#Y#;M8M?Q8?!P.X.^>[IH65V^H5G094J*B.G2>Z M#&IO(ND910+4-':F(0EBER$FI,A7FM:P-"1!]:KEET 5/$ROD7FZ"K1X6JF) M%H#JGBK'*CZQ@:R?>=TK5*O+-3H1 I B=N_ [0\E,ZSG_2E[]C<:4KX[H>ZOO M*$I)FN. H7_]QX^K'11S3A#0T)!DM"P'6]C7C/SVW3TMW/B H4-OX%>A4%W1 M[V,3](>5LTLQ"G 9XIY+UV--# /'3;\CMR68>/6VS,%STLOGDB:"[;R(+ MMBWL;;'[I$+Q _G_=W_^ZV_Q3?,??_Z 8J..),\G.(TN),M0\WTLQ#78?&J[ M,%'=H+?-M(*3O_KN/W[\X<M]OQS@+A$J'''I8H-]30#T<4#((.!T:.J\WQX8G 2OG1V$U%_FH0",",F>_RDSWJ&K>YC 3CIZ">>3@-R7?Y-;J]$]/E%0ZQ3\8-*&44WN?GTZ;+X4#> ,XQ;'/KS\O0TV7/_UHF1TP[JL#%V,@T20XD.=[D8 M[!,R9:#QSX8>ME?I> 4%D]:T)3:F+/3B$TLT\T'2.XN=VI;PN"MNX"GSUXUZ,C-ODCP>H!7;-7:6*#1WI _O+"HVYVH03 M)$,/0(M 4YN^^X9!FR:3V>PV(K9A22!$ M 44C:)&0"'[$+T92;X^UMX0SS%LR#B91A^8OY \1CDTB0\,5O.?>-GQ'"Z= M9Z5#D"LY9"[T6A%%@>3S06'JQ8PHT@,+7)^0C4TUR'N$=FI7()\DY',-)96' M:DWX[Z =+C]Y@:9!SR"17XX9BQ/H:IV7)W$ _3@#S_@BL.8F(8?^$;E[NE^ MP>'D?BXI'A-%AP]$1UW9<%PW1I8W%F! 8/+)Z%/H'T,36(VA&'O>=W[HI^ ! M;NX: D$?+%\R[/=XW#KHP$2 O4/3QN\^/,#*=>+XA.);G%&AR48CB-MM6BLV MD=?G)7M-P+\S>'YNH;*7HONG5P6U8KP5'I#>:!,!8I(G^0N\L["&]D!UBQYW M$GWDYT.NV)@3W4H#4E2NRR A:P*;Z\Y/'WJ*!&1^H6!]WP7(_&+OM .)P0B5 M"D&J%H9>CV*B#:=I[+]"E0M) Z@>(E,!@N6),&A.'M]F+[&\E!N28B-)7' &KZAF]UN!E_Q3_OO++%T"CD@PZ.-61^^',DL;R>Q?B8..=0)YK+M'1Y:U29RB"\;+W'3#8DM[Z&=T*$P%LS:-JYD-14 E/[Y*A0F\OQSI MKS^(L 3>D,,UG!!'>!Q2RX*1QC7%Q&:.8Y6^'YD^Y,2@9K+3QY]>MWX:=(TR MPWW1I?SQI^]>?\N,;Z-&R/2=>0FU9]KI:Q@)UJZ;'3("^-JF^ M,3X#*B@5.953WLQ;<#A&L1.?B)7^FEJBB(^'?\%LHR>GA]#,OY.[ ]BGJ#_I M0^V]1+YW]@PH98G<_N__KA_O'V]7M__SY7[[C[&)*U<G\;JGUN\(R:, MVS##MG)T>)5W7WYX^6'U:;U^8DRC]HY'@M4A]VZO[K27&U/I M%L.O/$JD0SXP;E9C[C4MBE7=1?$C^,I5\8FC$/[5!03EM(2/##= MQLDM-A=!1D0$W\9Q%%]'<#XNCD?MB=K'[5_Z#1+@BKZRXCXS(<;=(T@1YC0\ MI^\^%(M7IR\)TL[O,3H*TMI0#A0)U>A'.S+P8\1V]BF$X_(=^MK*#]'=2S^X M*KYX46PH^=,>_W;[LKU__+1:7V_O_W:_O;]]^;]'W]_<&VBS@V\Q!ZI#<+/W MS5S@QT5JE8>M^"QY8=3,A3%("\14$6_,I DG#UR%E,ZZ7KC_'A7&)1&E>=D7 MFZ=>UN*<<(J\O4'FS5G/97P?V5I.@(,#'\5GU$'9AX#Q(8.OA+#SD^2C#$Q= M.1C;/);^P.15 :W)Z@$!H/[(8-;#DA68WXQ<] /&*L9(Q4AC9#C%O6.CL PA M-MQMR8([67S4"+25A;N$P/&CI$B<"'W9H*N]<[P7Q9"B0WW >L(9S'_R<-:B ML(L:G9*O_8)M0303D!981';+"@KE,T ;$:M[Q'&7.0&Z>KLF&0V 09FC3'*S M%N!,YC-?<5-?H;DOJZ$&SXUSSKDHJ!,*'^/F.#H[W3?@90%4';&J M\!B%.< >L2+3DXK-[H-8L]D7L0\ JR?D0S@W_C+(#624\M_+8P;I)W]KP+,CXTR:9XL'0.B$!#,@R7%PIHLIGN(30D3:5J,H2PA!!&<08G?. - M29>@%%W3LAF A1Z>8JXH83.]TX FMRXQQX-@)[U%5%.-N0F%T<0+7"%H]1@AP5ZC!@D>@GO_2VTI1&7*$AK MK\#ZP>:\PI.>,?^5E@[ N'1$0Z,L*/)JHBR>#IL>LNW5#QV69H+LM!QAY[Y"4DVPP9O[T 27!0HWOZ&.$R3+NZHK= A\']@ZU[)W;Y(IU^-M\E@N M$LKUTX]P?G_JY1E2Q<2AX;__\4\&XHH&I+.DY+]\F8PH[,V#(A#I/% \;7:/ M(*7 3\GV+8ZR_=L]?/&C0"84X12"H+4^7/%9%A]#%D"$X$R39I)52CX(;QGR MQ95+/SFN,W-<\ND.YLC>[##@*?O.BGYHQ;ZT8I\Z8ZI+$8$=5GS*P) [Q\6Y M8/1]?A7%3R<(_Q-VA5S^*$4*;)B7\G-#ZO\0ROVI7.FNF05)B3OZ"?L M"?:;+M;Q?&FNHCBXB/",T K_QTAU1B>5UX7^)W-BN,."TS,X1G%G" :F#^7# MK?N8,KG#!^/.Z<_'1NRC> 3]%PHH\O)ZS,,<>K< %:C08%M^&",/X[^N4SG'&_X(5JT546 MQ !U^2*OD$6-K5BU'PSYSN:!6SSC+*[)0AH,<8L=T5Y<(DR:0L0;XI(L_D? M*D?((D,Z9IZ/,;".>>24ZQW[Q@1ZYOCDZCTC\@]-^(Q@R"7YGL=I[%+#\=WX XFLH MXO91W+/F$QYJQ<:R?.J"6@+3S+]Z@1C/4>@L7>C9 MX8"P7/(H5Q:Z4\H'%S!CW+P=_#WWA- 40+().4<<#2C#N0@NJ3&&LO7ZFOO9 M%U=X,4JL@I]$VU-7.PFC?"?D%XG M_S IW<<^C?Y:?'M<>34).YC]%;$!BBGT':CPKUVU*M?+.3.5;H M6V1D6^/PA#*3Z\42*'I;%W?AYB68X MN7FPE-]NC&DN8UK*,>F[D' F=;ZM #;1HW_]QX^K712O4*%TDF0W?I$2._A6 M#D!5<>[#JN#A\#[* >!-^&SPA+WJ(L\%:O M8)60#ZY<$F7FL$_^@#V)+H9X7Q&BBDZUQF?#$W:S4ZII;%T^Z#0APD,25+K) MC5)5+H)#\O12I$44*7O(S_H4^Z'K'YV 0%[WWM3EJCAN\5GZ=YPJ&",?^)%] MF=:]&W?73L..W*-6*H>TXC['9TSB4(#\BQ0)_0*XH*J3U+0+G4-/7"\\S J/,UF61M^IE^I+&)B_%(2EXZM^6],]? HP$XX/,#,T,>=+ M1R4@1(5\B41C!NMFM\@-&:%Y/23-Y MKAY1K<. *V3!,#;)AC"J!)T3%?IT'''&K^/.1I@6=Z M-D34GP\OV\WU?__7YN'F]OGE__H_?_GIXY__GXG*2>(X6OA6591&K4!-?4G M+@L>_%WWNYM\OO-#3(D)5F:>_=2 M#=4-COS>W^7CK]@'1K>DCD%EW?98VY23&!]'H:V6_4GK'#NC>O?JUI!:.<#0 M@_I:%)/,>.Z5.23H?;TZ('I*XN]2=('20WOZW*@I^2/+@6;E%#\CSQM4".$) M*)<\+A _\XSI"?*#BU=GWSU/K0C?H828\5T]?69>CNB:?.Z5XC@#%?:Q?-9E MB%LZ=6#WU(4NVG.9O."4UFM!3>*]? 9'"N*/TSA8\$FKHE#"I8 #P\^^H2P& MDJ>1A]LD($27SR0A)4.05S[:Q8CXXN#HFJ)V%RN+]'<_?;O&H8<@QIH20I/H M5;B C;SZ"H=>L;$_$&WWP\K9I2BK. BBKS@W#X4;TR@Z).4GJW(P @/*!68H M%Z9YB(U!#2=3!EK3B411KF/E-7B=X"D:!""ZI+[E@Z_8Z!.6$*B8'0B@U69W MXP<9_.F@Q9)J8.!ACIY%*RF>2YLZ@$0Q)&!P08 M#G<^VOV80N2$D?#@S$D/*AN#6>8*6#7RB7(-IIMIECT'G,KQ9E#<*TDMS>!$ M-D>:V]DU.J5 M.(@KW# [S. ^@D"CZ69(A1"^'PI+@&[Y&2CG*%X B"O$>GB MSF[KY9SH&BL[Y HUV+MS7#!D#/N'%3KCTBARN<8J/:C\:8OYB1_[]Y#$I ])2M%@7 PTPE35D#I:838T4 M4B)&#;XNYT3*D#VLE1>3R"U:I)H2>C$ QWTC;P-BYBKJTZZ*6PO^!KZQB8:] M<_R80?V\.T'&%65":"<[/X;GUW,PE)MS/ :^BQTR$=1V8O1".TZ""/TE0?Z8 M)/4/\ +KJG!_(;:_?!BXER)(SVGU3_KGA%ZF?@3Q6Z)*U33%[*!R.QSD/:

AL*.&V1'* F#$1>03( <=JCN/V0$9[:*8Q ]QAO-D12'E5WA> MY-=D9CA$KIS, 6D@@H+:JL8O+3,-&X,*!Y&&2+]7T/Q!P**)JW-P#NM'Y(#_ M+Q(*S8%-H..1? GA3Z_]V,T.Z BX"+07# *RPWO,<0C AQ4-QRX!4>!9K#(T MC97+SV/U<62HYLD95#C@<\;@+Z_HITOX)(0O^.NKTN=7\/O3P-A,SZ&*A[[, MI@]R/GVHL.CCE)'(?& 0,FGG<:Q0\,'Y_]H',[<>+(2^ ._\/!J9_\BY$BL* MS,B?:<.35S)DU.F<&.&P@<$6HONF/L#JOE#RK7W$M7YB"M^R,F$RX $\:ME MB"I\IPC*Q#,#F_<4)2G_\VZQEA4U)"\9[W(EXP'[Y.H(OUG^%?GJN+K'^%R@ M&SBGGALQMVAZ*"XJ+?]J7$$[$?&E&@."]?^@L0'&U:Q0/3#']^ZBN/"JPQ?* M,TC]&#"L]=R_T<_4^,3"6)$;H_"QX\=)G'^PZM4X2_I%CIW94<^>&;@B'/P, M GSE(DBP)[SX%#4!Y'[ DJMV=X\=_0T[4PHV4] P5 M1D.N\)B<;RR9,$*82:9M1+.8I2!*71-UF>A+HQ7]Q*J"&_6A#!QUAB0+KSR& M/0H'PX M!M$) %I[CL,2[)=#Q<;-*\QQ(T^6(34X<17P*EQ6TN7/"I(KKZ1J]>CB='CJ M^)!RG?6;2'"R!RH7YKC^YG=5[O+G+E\,\I]HP/%K! Y#B/#QSHUI(&*IIZ8I MB<*:3-%4@.-Q$Y>1(C394 M/Q?%W+&H:)[@GD-9L<)X)MS55]2C%2VMO+45Q!11BB]@3[-J4> ,*BF"3QA: M!BB-R"]QR*!0H+4?Q@KRZR6&GV* 7#0W8 =0,0[J\64;D&C1XB/<920KF/ , M)4_LNPCH 2E@7^ #(GE^^2)7790=S(LJ:BLJ+@94^Y)[L6]V[!T/DIIP:M/9 M/*DOT2Z%>@&S2KV ^-UW07WE&AM;L1%%7K4\,%JT$94=K"")*B[$B5K'7"K" M%=%^2E PN%!!Z#",^YBGBSBB89,9QXM*-+9 MT9*0U=S%BLV:/_2)9!![$' MD<561)^BN2WDU"X2]E Y7)04PN'>@[/S=SZ4*%@!9QL,"F3N MD09_EQVJF5GJ=\\@GS!_N;%#68J(*P7!$:2VVA6GV]&*G7$#7Z=0G>>7@ZC] MS! CE,Q-G:P@K6) $FG(DD/=U,T*\G+;$3U4-UE,S(%^)+QD5.VM(&@+#L"@?QI:EH;@4Y38!,#RQ85$2<=F8Z" %Z)J)/4$339 M#"S86U^C[5N4)4[H;;_":9^V;S$ _!F7[2S-CE;L*PK4\/(&0/H0N0X+/1+M M %E;*P@A"JSB+5!J8,64>?4L].I5UT14-/4Q[GN_A0^*]+3V/'C9)QA3'-Z1 M@U)_N(%:P3%.I5.?D5S8T+F&WL(.:^G ZO45"5**5? MVL+YLE5!_F"2-+6"#-YZQ#RJV.H9XC_0Y?/N!*7"8TU&*,UAK""_!DY98 MZ+S0J"%J: 4)+R (D,\X]#YC6&#X=\IV>>A'4Q\K""O7"9 &+0F:63']6KD5 MJ4I5J\EB>NK(0K?9D5I.=XZ+;5MYT.95%,?15Q2;ZASA[V1OL38C6$$TIV+0 M1%^R./ V!O$[0.@"=QG*^46JAU-YLG4>Q K2URZ\BC(<3H3EM$#'543 ZW:V M@E0!3(P 0UIHXM'J:061LG5 =Y?J;:/3SPH"-?8@: M_G43;Z.O):.+HIEY%;DS\./V:R2-R.H[I'FVX,NB<+8_Q=$^=@XT$02C%C.( MEAKY^EVM.+5(4],4MI*F5I A1>!04M3"H;VDB" M*KA+TM2\4,!R:[/[DM#<8BS!2.51@'W.,@^;;D4MCKYP0(ONL^I"JS M0M=4=;""I#JBA,JJ(&]M!3$E>XV*#F%#*TAXBJGCAJ0]._$FQMXT#\=%B6[6 M=CVM(/(9N @'P-_YQ/.,$@PTU%NZ7B2,Z@KL(F16E20N#/@!*UC&58NN>XI5 M6UVKHQ4D2H*4%%9;=0\KB"I;^SX[*<(9/-W -6FV#?*MK2!&JA-*G-"J]N9U M%CB[@Y\D47S";S'BH4,%,J@(!JY[XA6K#+&:*'2HAXG(6]EQ>2Q M+S)S4QQP>PUOO+TX\EC4SH(M239(US#XLXB"%]@E2:WL/:0 _BWQ/5HO.Q?H MFN;-IF&L()^[CW.OL4 5T;S2=8:P@FST5-WLN-@;V1-7V- 26^8U3JP*[N$; M]=M_@]*VE#:R@ONT3F 9_TO^;%4TMX(/.1K+SJFD@BC[L.9O^?RJ$3J9ZS?:+46 M5JQA%5:E#HXH/4[*7N97A(MT1\'(*/TW!2!D ?\HI11>+.A8-8?*:PU@Q7J^ M. % &@32VI'^#6=^!\0*HZ2I%62433]:@1P-7:P@2PM^"\4!H=##K7^ 3>"# M!/XTV1$0.V+(^2C6_X<9VPI&%:&8+/%0,W*SUMP*\SZ(8BA G/N$P!)1C MB%+W(QS!I\IT'O%S5K"S.'8]2Y]HX*$-\04KF%8'.,N-OM29IM*\]'M;02Q# M,]CLL"&8AMPAM!FA2J)H;EZAO":_OX5/R! 9&63Q\0(&UJQ(GU3B H'L*!D MC_ (C_E!*UA:@8XE]QW4K:HJ**T879"!Y;N*=\.,;/[H/,71#N!7AA.P/':* M5R4+HVCN8IXL+OCM!81^%&,GR4T&I7(MS_HNRN(U^D?EY_A=V1Q<-\3X5AP6 M_#HC?B0>0P2[]*4 Z6*;<8>!K& !,^7)#,;\[ZV8L!RMU0+T51)T5<=U3'A< M+7$@;"IZ&)6,EN2+VO-#5_[!O@0BV$!GT&J0/EBIUP,%^2R[_K" M!6CN905Q+]GQ&&"=W@E0QO1=$'WEO"P!%70UHY#6+&ZU4VHPC47M;2"B#S2@(_VD0:GRQK;00"X&%_ N8F/32WWT#L^HD$(+JIDQ6DO?C[$/N,H* H(D"B &HW#=4+ M]'I:062.=)L[?%2@<++&5I!"!#F2_E$(YR2/7!(VM(*$_'YG2ABMJY,T*@2B M#E:05"3>4G6%2&!J203BT('&3G:0UC4^#.$$2-(3^HYI!6,>X/3DRGCQ6RLF MNSZ@>E:_4C&>HR#8C0"9W7D65C"_C&NADA_BEE80<97Y@4?@ MX]A?[P]'*,9(&62Y,J#5T;R0@Q<]O,>1%^X-!-XFO )O3K#;[)@A(?HC@^PO$ M!WPS/SDGV1.NH8L59#TB8#NPV169O2)*ZJVLF+PR=DL&#]>ZLQ6DKH, U88$ MGO@.5NC,>CVM(!(!->W\T$_!@_^.RVJ7WI17I\_.OZ*89%)( EU:#F%>=^%M MQ5(3'5:+_==,BG78<@@K5OO&3YS]/@9[:D*@ZKV\6H^BO14$E0L]I83=N-A8 M].0@_9]FNPHEK&9?*PB]DQ\P25"QNH<51!6(#30V+G=.<>D<5R?Z2TU4EU9# M6<$&+F@3 :4KM5#2Q(II"RS*O U!N5RZ?:T@5*?0#M%DJH@;C;AHO4:U@CFW MNQUPX6QOO[DX/O(9%3]&%83?*G4P:W4RRS_@6HJX-<)GK&#?@)$U]TC;@!O) ME1K>1_N8%:Q\\%WUN[?4P(HI%[=6KD02V K)2I%W!57%F$F6" DX@/CXFMTT15OS3Q)RP*#B29\/7.D4$F/N!&2JFQVV9VRC>ZC= M^?#7M$/=J]%_2.,)5]C43\DPVXV;&H^B)J5YR3U;:_%1LZ-RQ3,X$R M;EG:V I2I!405"0U=C)_6O- $5AXT]V'4%\&*!T]E_FMPAF\3K/($EQ8@L)8O M\&B)A8>LM?ES1YY;!=0/ [0F@AH;M_F;!LZ?#WBM'KJ_1T&,;\IJ7/V$U8+K4F"*"M[5C] MKE:L,O+#E-ZS4N.JN*5QZ]F#G](;[1J9_RK1&^(65G">.FGE)Z?4P(HI4]=" M<>4V>B&J3:T@H_,#5Z@V#S>J%(&2OA>;S^6MK%B+ MJGX MX[OZB@2N*%Y_O/7'HY^U$A-X=I9L090*M $&SL95VZ?D>X@]OIRO[)B!6K/ Z6R)&]M!3%H"^C!8(F(T^]M/,^0 MF7N)KT:29"AL9,?9$+WW\E]8L960U['(CU;;2F1MK2!$RP>NU'O:C6 %T57% M6A%H+VEJ_)Q ,>1E;LH;RNL[4-G0@H<$Q:]#H'7))N22J)X!UIZQ/1SJ94@G_QR!:?\=G#B7^071%,?*PCK; C#_WD&Y&"RT%U%?>=1/F0%"QL2 M1U3/4\VN5I"I.LI/Z ?8GXE;/4$1%X/4C\G"DO1T7#"A@YAH,[85C"J'KC4K MD:*VYF]QKJ)1S,>5*-R_33VL6)V^ 7,4';; DAA4V,D^8@7KRIOU!B1N[!_E M 7J2QE:0PF! 2$JF@UV]I!2"T$8@;6T%,95R:B'P>+&HRDCH-H(=1!>Y(XX/ MWP/4/L@!N0D);>QE!7$#9L4]1QA8? (8;>Y+=C 1/;%0:.0WA.:-4E<)X@JU M%\/?J(/MV_2W@F#1@PIJCQQ^/(E'DRAA+;I;02Z'J5P.WU%*@.9>5A"G@$K0 M#>9J.8059"N5??A3] . TT6KVC]?GTYYK ?^A'E-G6DGM__.G.!O("$($U J M!T%-H]'J8,5.4 (S:=>.:S^*^?5$DG83?G;B7[81^B]("P4,1R<22SQR/B2^ M1Z&X:HO<:10K5KZ(1OL,Q5(*<-%FG>"U6G-+R,FE!C+6MTI9T>UK!:&5Z#)N M[LU1-KI]K2!4(E1P.F)'O+E:7^/.9I)0!-]+4% FZ$YT@O_UC]>1)RD1+VII M"1'8680TV7=PXZ2.(,BDJ:T=VPX$ :E]0^1YD6(OW&C2UN9ON!J$]28L;?[F MDA:*;E:L%4ZK!8 4M)&KZ()F5DR_"N^45YA4 9TV=K*4- 8_0UW+W-VC1Z6\ MOQ4$-VL9%NH2'';>6Q2G"#07&90UP(3J[2V0=V]@ZQ^@!-[LX%& 78(;@*(W M5+*NL8L=Z]35?,A@NIF#(,$:X/;-"87 !(.:+EM^^SP8G>BYE$!.EJKJ82=V M#SH#:U1'-XJ/$7D=XS#R:W2CQ2>Y(JSL8L=>8N'PE=+FS77#11VL($FN>SP# M%_CO[766HI\5!,)IQ9F#_"LXBSR76!P*JR)X7K^W%<365P7/.(_);JVB2;M; M0>XZ"/ $F5-9X:<5MK2"B$?PE:]"'X7PKR[(XX'J#0K,>,R+ZO14K*D6]>U EBS3W,J^/(]LX\FD.8V7O-)(5*SQ@F-+@ MVN0PG[:"S>5,D1R^KGB \,6(I,7\]$>P@FBEYZT P,;-\,)B@'&HH>R C\K, MM*_6HC.H%:Q1)71:E:CY#(XT6H("\BJL?[*V5A"2/V"@/':2M[L@^JK$L%6U MMX*@+3B@)V9\(B^R9^#!'Z2LIB?+:A*1IM?3"B*UH-&04P.=>68M>X$_378D M;@DN8YRB_$?9PW;8+UC!M$V\=T(**(8TCBCP/08V]@0E( K/)BCJM :]$^2[ M78WK/,3 5K!($\B!5;R0/*C;#&$%V8HJ-$J-7J>?%01B]%KX_I"43>1^;<5T MN3TDS'W3"M=6]+2"R'H2W"E/@Y-)Y:8^EA"6!XP^.?$FQK*.Q'&HKE^-;E:0 M5T[?8 B6J,0-F;$:U%2_M_&,Z\:"# +0 IT^5JRB5F651_2<1*BE^,64;".2 M$)'_'L.L1.D_0%JMNX)CJ/&/4#OARW7:&5C!=*D%[.JTA1^623V-;E:0Q[O: MNWH$M?SXO08W;V1\BKXB<\T!:H,2'W^MA17KR^&[\>]X%323LH=Q"?_9^>8? MLH,8F:GT2_.;IEKVX@#_<*DE@EVC5=2?5AVMV&)7M&P[G.8K?"L27 \FV.\] M.&E_YSMYM@J.\8OA[1#RP57P=Y!6+K5%*%5'^I05;-2KFT:+Y8("M4?YS.\] MJ!6L*=Y"4)N0)'UBTEZKI(F1)C@E0UK*<.QO6L'87N4MQ;5#X;\)2"%?2),H MUL+;9M(96,%T+F>1K_)-4?;?20:7&N:NY1!6D$U"';+0BT^<,%8H(LH.YB]W M_*YA ,:RN,]Z&RO6XA,(0>P$J&*%=_!#/\'FF7=60TYNJ]+J: 6)U219;"_4 M1&'5Z6D%D2C'"HK$XLB''C77AWMLR57I!MJ=K2 52WD,1\/P';";>)W"J^$U MPS >VZC^A.1>F-+@LEZC6L&@J:>R&'Y) M.SO6OX UAT\@#\%?0J'\ MPLQI M,4U(58UNQB,5KU$F$%2*1?'M_.^L6 =][&;EK=9Z%/,BZ/'Z_\L\(D$EPJ?6 MPHH5J[W4*N\S-72'?F_S*T3 10A*KZH&3V-C\Z00#2*H)B M%/-2&^=\Y7B.&%X8/5"1V(#B0FU0ZS2 %>O=Y$"N!(E_"?TT(3#39 E/;2I" M#?().]C&(C7EGOE2"SLFW; 0/+[7<,O;/*H5S*G[.$0(X^P4GT2<:#F$>9%W M'?A(5PSW4& !E!Z2%YM6UA34ZV;\:UA!5"X='Y21U+565DR>B]_)05,::@,I.EA!4D]S(WQD M99*].,3 %DA*48WKY":#,KZ&LG479;%&+5#]8:S8(?@:+Q" H7#9Q\XASP0J M/VW66?H6Q2AD:!M=@:*7''.T]\A6,$D+@-,NV$V\+_\>Q8%'&8^2MB3;5]S, M_/1E.XC]H"Z>6G2S8F/545;4U3]5[8T'F#:E X@KN.GULF*UN*0555VS2B,K MIEZ.BU5J9Y*F5I A]G>LTVLGCD]0[6"T$-H+))M:QJ5@C* M%U&CRHSV,3M8*8PRK4==O#:#:]PCJU^8^"[>*/+*;J-\S?B3FR"Z<9*M9NFN MOKV;>UBQ0\3/&'4]B:8^5A!61OHBF=C4>P0U!A%9ZAX6*(,T&)3"RS+;E$2E M5;:V@)CL<'#BTV9' X_+<9/"Z[E-/^,"XSIZ%U=\K/W2^%3+5L)_ "?6,";F MS:PX[.7"]*<;Y^#L4?J9[TGUH88N5I E )- =I6FAK& #!RW:",%:;V@%"=5X325BE*2M M<3%/-;432VU"^EI5QHO:6+$"JEU/BM'5XL>4)>[ZC&<%0Q1HJ$]1X+LG\M^N MB*K",:P@_"D&.Q#'-*:"ASL4D2AO;2TQA2- EZ"BAQ5$L7@ _/) )^?-/RJ@ MC!7-K2!'&EN)D[O$:Z3J8051O3'\!?DXD]<1:#D'*QC/8 BX3B>'V%MY(>Y2S&T=? MTS>T19VP%!O7T-2*%>03_"NA.I)[2];<"G(&@@HO;@N<8U]V-72ZJ ;XKO%M MOX:S]K!]+W!JSHS2+\T;CPE?M]$3BV>@]HA7[ 5F#BR :^?M3U,X* E#N%-QRG(E&U["C MU]/\UB7Q3KG6#S5^A+>$XBJ@U W\'*0-_XLBBZ!<^1BDX J$8(<2:L0A<,,- M;<5>H*AAR,;#4B\P%BI(U8G2.OW,[X.G+'U&#Z3\N5Z#$5$T,ZXYD5? G1]( M:CI5?V_%AGJ $AY>9S& JLZ=X^*\G=MO1Y_(=000*0SQT>AF!7FB_*1GL,L* M-,>3&L=4L[<5Q#)B^6M%D,@'5Q';'"5!4XT]S!-%X313 $(BB=?[ M&*@@8#3ZF">,5'"\#\LE9/ F4ZB\+;N:)_,E.QX#@AL7G[@**J*#J-7!"N'# MTC*:,<+%+:T@HOSXER%ZU%M9,?GQBJ#G11DJ7@P,;8)4OAS#9U#CZ8#SLN#4 MXSHOS+[8(*Y5C:W8:WF0- V/%IZ36B,KIBYPI;*-1K#QB>US$Z,_D8#"&PCJ MPOX^%'NX^HUH?FMR69M,UVD(+6_L8<5*JWS+3^@'&$6+ *Y!32$&J4_P7*GY M!T5O)(514U4$;J1/6<'&\6E =16]*8^EHB,M>?%2!$A?R!3[4>QY! TM&)M7IP Q?[C M4KQ0#,A]=L*&5I P3!;Q@RH]?>!/6,&VIK0>V6-0\67$ MSUG!3BR16]2"L12D\LX/_10\0![7'"_2")VF/E80]I*])N#?&4+3>T=0D/8;9B4255(6M;%B991(IPW!-WI=C;\> M6-;GQY]>MWX:2+-"V>^M6!?%-=G_:C6$%\7AF!:+H,PXD$K)4K4#TY MLNW9>A K2"^'\&UVN9NAN+J0>DO3L)-MA )6H\#WT$(J[1;#C&P%D\3@%MBM M!MI"8O"]K""."S2^BV)%$K/T<=1F "M(?HK!T?$]YDECS@3ZE"'R2FXMT>]M M!;'%:I"X#C3AVSB.XNL(3M@E>.MJL SM_E80+"DJ(:C&VJ$TA6(4*XCG[];- M+B^D(747J-I;0= #%R(KE++<[\U[-J20]VTA\BT2(-+\>[490J.;%>2QN (J MSV79G()F5DQ_0)3(2N!/CJS-'EZ9$Z"\K;'!*G6G80?[<\!3K 3 9V@DA#QL M4Q^ES4A6,$$7R%.GO14$:8=J\V%V:F3!='7VP TYBCH]+."P&O4 M)$Q)HM2SG_RB5D84S:T@1^+FD!.D[& %2;WQB'#@L3DX)/W/6\%N098YS\[ZQ8G<*(\H+T'+C+DB]'9.G\Z4&;_[@1,!G M93*FTLR*M=+*0%8^5]J-8 71XZ5&461$M&'K6 H&/F]>WA?&BAP0A)HG: X& M,O@QS!"*%B(W@0PTI!6[4+^D=0LQ*>AM!;$W-$N%PQJ'JP3_)/>:Y!&M[F-< M_A< (_$UW&/[*)9DC)2:6+$>O".2B]%L-CYJ=30O=L@,W1-RK8-D$W+O$FI' MPV9ZEV3Q/$1.6-.0%*X7EY T##/B!O;7X5/\%9;"1@9Q@33H2- M5EO'3J-8L9+U^M_,XN_R,002LX].5_-KK"XLM*T6K=#M8\7ZJ?)3H:X&_'W( MA,P6:G^)XU);"OX7@67OGPG;_4L6[ X4 @D592VX%55C\Z1((2X+1P'25"O0 MIS4BNPUCQ7& >\W#I4T4,5/5-E9,7.IB%6KFLL96D$*!"?&4/(;ACZ\$[RI+ M'Z/T'R!%Q;B$OA'-OE80RBFG8JM:_FLKIEL\:N7A,+("3KI]S'EJJ_#TU5I9,7E:J,139%I47)5?$K#+@@=_)]F4W<>S@B$TTZGFX%?%;ZMZ M6$%4=0F@YDZ2C5%=#&J9%S\/F_M902!7)[P:2AYZ4')$,;%T#;MWQUN-9 MP1"X4L45(+$,%PVLF'(E(E:R'_DF5DS[&1QI7*"$SQ%S<$L.OVL(%!2R^H&@44 3RN"YDO/XG<=,IX[ MR=LF?G+BE/Z# Z"]RG(5O22(A1OF8%,^$# M"*J92>H?H,P1BJ=R"RLFG0M*S?@?57M+""("A8D2,F&5$EIN:041?4OA<;?Z MX/'1PWS:#C87K\,J,I>3^"[<&%17:I.EU6HH\_THK=(_C\$^!S+$ M8=8/*G3$ICY6$/: 0B&0K?;^<(RC=Y+>(3< *IJ;/Z>"+ RF27@([9K_>=WP MTG$(\V3CJ$?']^ZBN'CHX")!#-R[I _695&[_E9LVYZHDLIS.]385C JKSQ1 M**/*+$95>RL(RM-[(^I_D7IXA0X,[=Y6$#M>8/S?<+T2,T'YY6];P6B&9$S# M6/7P7!L[64':5;TJB"Q)6]+4"C($KVJ5'%,TMX(PDVE,ZLT2,3B"G\6;:.5>=UL7'0=A<0+<'_;1^^\\X!/NPK\43)7EX=/)UGYMPZI?Z:[Z5<]5;\G' M->22A[&U V2H M6AJ9*.&5WE3YMA--%H7L(]B)T^$U"@03+/]^HDD1&)M MIN56DT[P]@#B/0H6CJ.OZ5NE7F)MHN+6TW)44->QSE"^T>1BB\3C*646;3+I MU+;.MWL/G@!_YY/T\(9YRMI/.FE%3;[:A$5M34SV&OYU$V^CK]7GL:JEB8EB M$\,FQN CH2O7JR3-34P9N3.=X'_]XW7D-4ZXW'@J30M]/P:.9(*E7T\T)80' M$3R]1:%<--6:3'RSNU&,BJD@,8.WV34*=HU/RE56]YKXB2;^05PM1US^Z'OWS0]RIRV?>:IKZ1?F>]3-Z5'L@?@_?_/C;U9'E @& M!_S/W_STFU66P+E&V)GK!.AW%)?J@;!&2@4F 1[8!."6ACG6;(NO Z^7C=\7 MS9[V=G81A.PX3(+'[C4Z$S:) 7LT&4N9]_$B=UCG WA5.8"7R9[N![#B#[EH M+FD[A4M[2;#C*)=^^F$1YV)Q7G%D,7XMW!)RJ^91H_SZ_<(O!;]*CCW*L3\L M'"MQK.)=I%SZX\*E$I?$[D[*K#\MS!(PJ^9XI=SZ\\*M$K?D'F#*L+\L#!-L MKXH?FO+JKPNO1$=1Z1)G"OVBJ0IY)_'',ZY=YCNH+]=D(0&,:XN>+^):)2J! M,6M1\D7,DD1(,*8M>KYPAY6B-!BO%FU?IF$PORSCU*+JBS@EC6!A;%MT?A'; MA#$TC&6+UJ]@&1_)PQBVJ/X*AM4BBIB]=5'Z%5RK!#4QGBTJ?\6"48JL8EQ: M5/PRE^K!7HQ3BWXO?D(J8\\8\Q8]7^P!J<6],88MRKXDOJ06?\M:"4:W\2/#DGM!'%J6P-C.W%\\L,]!A&3D*+7=P'GL!V< M8P DEVJEH(9#H.A@C(@G=J'AR:GVO:BEL6ESPAR>Q=8KH=W=/$R0".-(TLC\ M9,\7TRB?4DVYELV]:&A^TAI%4F1DJ+H:(TP;T;!"57,_XZK>,W !5!H0=G:M M4(]$X1-VL>&N-@.IU'W2C7=<8ZP]1N-^"^("QUJGR+YV_NI=!-4." M5 MWM%3?4'0Q1LB&U0+&8.),P)S4![FADS%B?YQ"B# MT+_O0UK,6 57A6JS1UMVURHQ%"7_<7ULX0D7!ABL_N2$+A7+7*J?QLAZ!JD#-7&/(=ESU99OP,YW?1E5 M&AU-WOZU*HWZXD"WMS'RJJ5L*_//?VTG_]6'1:NK'39;'5NMT0>33METJ UN M=E MD;^A6HUBS>W2?.G+.QA4*/7K5]?T2XVN-CS'^ =5HRA0=;+(<*UML+;" MXMMLU#4WS1MJ),^?2_ENELQ:T<$&7JMWN$WZ+7K!^:3$.W+/X9K >Q"Z\@VC MZF'V'J![0.L*J+4U-O4M.* NOA$9 5SB)**Q>LTC?W7+,7E$:,G1T%6^W$, MZU-*1(4BWFQ1JE1J0.:9L&H=KI"4^#412.RME84))%9LV#2 H8\AJJ@$S WB^W5 M1WG0"-";!0_U[LB&V+]9<*KE)2D+,;QH_.W6MZ-6*.,L6-9.?.G$2LZ";3T? MD'JQF;/@I-Y-4,1^S8(I[82^7K#I1=<3:&](%K->+ 9X%PUK? \H8XXNNE=)-R(EBVD9ADVUWP4!1)3/A MEI[@4H5NS^+LM1-7"C/%L B&MNVF?H]'19#Z1==W:FDZ%$?!SX)#??97AQ#\ MBZZ3U25,;B267)(84[6^Z#)B[?:3/HMGP;2!E%9)+LLH)=F$A]96 %!R M ?JQI2#3Z6D#69J'1M7#'C*4QT76VI[I-Q\491<['FI+ZO.2E3I)#H6>ECDO MEBUIJDL2X9+=99-DJNM7\V+5DH3498=?=.212$A-$%,QN2]2Z(;,?PA5 )KU!W_[)70R MST\+:\YY^"+SM$6:7Y8T. 7D[0V"XB< [GB$Y7<#WD$086@".C\)&>H^YDI! MT5PU=J,U+(:TN34$7#F)[VK.GK0U""#JT@3+%Q"_PW\HO4JRUEVGCXKW?L^D M$)X7+N?[$NW2KY W%'1*-;/F]H9+[^1RLV%7RUJ;]Z$:BR)(XI2;*/Q7,4GX M#X3/XF4NCK*E*YX(XTK4;0?>NEL43L3VHWS'BIJ9E@$Z)W^4J>JM,WS\D)43 M!(=(FYD_/345T^*8D&>H%(09N(/*LBAC-<_Q0D&T\'^>O"9'EY&,D?UW@' K M@+=^AUK>'CQF:(]O=C6EOT&"MQ[&>H)5>DR[,A]]F)?P&<#B\[ MC_(.UNB7-WZ0I5(/NJRUZ?L%L]0/X=,/Q;-JZIGU'@-?V-P'&,H(TQ#DUW=S M)X/A"DFZV:$L7%[9>8D"><"%M(-M HKN9-TPC+:CF"N6!D(XPP"R?^T=_-!' M]T/JOP.UI&KJ98Z<.$H2J([MI(7Y^!;F"GL6EDQHZ#8>)Y,5^P"\Z1ILP]56QJ;[ M&(61\,!+)BYO;]CRAPX1>P#[80:G5_A-KL NB@$' 7O[#=[>40SU$"<^83, M2HI&3^<(OT?8\BBMA^-\T3 ;X63I@EY!A4>N4\A:F]O((&V4N^4V=GA'&YUC M9;Q!I1MJ%J&*3?ZK4CT-L:MH%GQJ\#4A-FFX?V;!J@;?T6RC@[7\/N6D MNV@V-;FB!!R:!5_4ODW$%;G#:5Z,>5!%1G7R$\V"?UU=23QW6WIG+IJO3?[? MRI$5W0D7S9]..KO*)S:+M(<^"GON>[MH3O70LP0^OHMFE8ZNI>MIO&A&-2M? M*BUD7JQ1JE\J%^\LV#2BEB5W,<^"LZWTB$:W]44GO6E?D?(+8@S^!!:PIITX M*X4+C+)E;,/E;'7*FL(4+CI;LMTA:PR7N&A>M3MUBCTX"RZU.H--L2N#9N#^ ME7 L!'M<<=T"GK4[A1I1-&-D+)_?Q2<,SYE%G:-VAZ\>#G31)2W:G39UC-*2 M\BX-<%IXHQ-#-2P@@'U76]L]-&)@URQ*$K3ALR#R:Q8@^IIGMAQ>-ATVOO6< MD;MWF WOLIV!>EQJ;T1EW)O !&H?YHF@N.:9@I]P,)2$#ERFJD:=/DZZUBCG M'88[88I,0Q57*-3\"!6PBX&3@!M _FS"K^D_L)5,N8.ZEK\/27$Z][2-G3"! MDT6B-O3POP(B>+U_90FNR584PVW-J!X?LY)Y3^@'>/+D#1G!E0:I'^-3336N MIP"2-0CW^GS-2O;UX(5YP@03:Z!'U<,RM:?=O=:L4U^VMCCQ M) /LY"%6=1X1#Y-O_U[W[J!K8J\Y;OI5J;'XPD,01F&P4JT8Q:UL1_7&7M:# M,Z[I.#-30ENEIJK&#/?N%(UL)5NT+[N17Y47]4P99!\NFG1_9K?;W=/ITQ9> M@&].N ?)?5BOZWS^9O3F.M?R&T_1USQXZ3D4$%[J2D\&0XFW)Q*%40C77V FY+'Y&:W]LA5)T%Q MUNIF%2%2S''-CN8WV,,90537KTOII&L-K=HVA38N%$B=AK#A.CN?LN1KS_.) MTOWD^-Y]>.T<_=0)E/-7]S%_E&5U_&0GNM;>' F:H+X6P?8^ _@L"H''XLV4 M.T?2> F+T3BHKDLD(?!DCW'UH=7N;_9:(S78;C*4.4-D/2[TMW;A]46J!,O/ MLV9WVPBD1?HZ4RCH;XS$)^>$C1UW4?P,CEGLOCD)P*9_]J20T*;1<6!@6_I% M^0<)7ROS;=75MIV&S\+MX1A$)P!(04TZ>V2@ZW"NY&/91CI9$>E\.QTYQ6CC M[%7%Z6CI+W/L2]VZIE?7GCW\Y0R/2SQ__:E_$ M0K-;>;8XX,W.WWHE][*W=1;L47IL);7N9\4@+2=K*;=8S-&+9E9;=RX#9=;U MG%XT\]0Q-4(!+MZ+\^+2@RIU7:2>C,&>(WE0IDZQ[HR>Q6YK MK3U1[W4D_+PZI9?LTR,N6B7;M0(Z28!*(+Y:\]L-E M2VYMT22+T;AH:.IFF:2OTL^+44K1)$8'N&S.Z.L ^D$ZL\ 7[E7E8B:L:7[D M:85$+4SK$"8U#M#P>7)-)W)K4+18>X$7U QK%SPV*'3L>>^PCD%IHT#"7A0' MFV/;%LC8EK%PXT#)GA?'>H3G+1BSO2+TID29/5?^-44-,A9>]M-T@"VH%WW( MV+D\,+0B%QF[EI?%%%&1C-M+&8O102<_#OJ2@>?E-;HT+@^";3C, MYXX6QU?FG!KT44-<8K?A&=DCE/&<.9<&?"XS>G0TX2RT&,!:S7)_CVG6C#"X@O.R!_ZZ 8-+J:BX8.SL> [P5G8#M MQ/MP%\4'(D :(+(T>QM<-U*X">ERN BD9(G*K>S(ST%J9.CZ 2BY-+<18O13 M'+W[\-1?G;Y E90[,6NH+;U#U;->K4^5DS/4IXPQ[@9 *>GZ>-?!OP> ZHQ\ M75X)([2ZF@<-X2X*?=RZ>A>34!;#;-P. YDC&IXJ.-=[^.Y.\-Q"[\X/'7C4 MPCW6DYIHU>YO+DN27-&X!IQ'C#%0@J 'G'>5I8]1^@^ Y:J$0NWNYA C<-%S M!0 +U\"VTY5OEKZG2S60R95Q ?!PF<G-_6Q;QT( ]%Q'U4#&,5FV$0Y^ MB &<-93FZ0D9(5"]7/2H/J(FL@75'\"B%\13#(Y0LMW0ARVMHLFL,NLD :E, MY'0DR.U=%"L@FP8:='@J<\DL#1= %7UC_S53D=5V%'MDWU66^"& MYY54^$!"G/Y&>IVU&<(B^8X[K=!SYP6$> LK84;P(_^)S[ U38:)V&,'[4X$1Y"8$WDD O:CAM MNJ-8=."8W1&2T,E>R?H9M/*0>XE3%)!?T/EV#7_H2P]78S=S8.TXIV.SN_WF MXM(+STX*-B$Z4>C_2&M]=P* 3<4L!@)+"AEQ3];#HR&,5,+]"NIQX^0@#'WAJ M'MJ$Y2#SG+4O(/2C&!D%1">\1>_S/-)CG%#S[Y[-#IT89.2!CTN GY8-;QQ1 M#XL.'#;A.&[Z=S]]NX:W"U3N8W9H9%AX;4.PEA\O;+&60M M?_Z3'>H\9T/ RR;PKFFH^#JCV*;VZU/:8@ [@B#;Q\'QP9%Z 6:# CY9G-_: M+BBMS,=*P- M=@ZR*R$M -*@P'[V M,K>7SEF);IH%4N14.J;4RED^J&NLP#?'4A% M4\KJ63!R&"VBC4R9,UO;Z :MH\1G(G&'50VTX])GPMVQ'*IY^/LL(*FG;/@MUMM8%1,@!FP>EAU(4VJ02CL#6")A$1K?)"9H%UR<5RN/PU-("F@.],51Y33.I!#6TI&U(J9I%L:BI M+&:*#*]!^6SO[IU4PO[\IW'VKY6([,-;<;1RUF8A']KN6NW(TED4DAMF9[9) M+QR%K;8]7EM'(>C'0TY7FV_RX@S/\#\_HX"5($JR&&SBO1/2R!8N*GG<3Q.4-2F:("8'69L$@8,UTJ4NFI0!*N Y3&BT Q>&G#+(5OBS/Z^07\[_&YESD MC;^-XRB^CN#ZX)I:C24BV@QA$&G@:S%1J!"$\*\NW>.A1V>>1W_@-CX\"U E M2[9PE:Z".J[EH$/;(2NZ;(>RPC4$E^&H: M!(EN;X.89,H)-LD)[>YVR(*6BUGV;NDR:CY'G7O?QR?N83_I"9< OGT&!J.3?4]VZC0[F3UKK;B?^^ T6#&?MR6S%5Q'AU?X\J)/,IR. MQ!'5<&FV',38W2F89[&&33>G9F<[[LUNR\I?G[J\FL\A_Q1%WE<_"!CJQ#W\ M2+A'\0;E>A#G[;C6'LV&M-L^GXMQS$#C'0:9%Y*="6=?.1 M!CP(]'F<>#1C[:,M:6RPG@8_GZ;#*FMMQZE4+T0Y4TE"]7S.V1UL_C_0]]N7W!DJ;@32F<]0G$F"/G)6-NG3CTPWT^^P;I(6UNKOI;949-)U[> MWHZSW+0@I;QW.>T7?/XJ-SV'E7!>1R^?N/;35]7#?%EJ_4>PLHL=QU!C<83H MM3-_$Z]=-SMD6$? EFBD.\3@#:H/_CL@8.CG=$11YD-Z:KH3RXW,50KB>4TV M)$HT;#J,C=WL.)#BI2@EMC32/Y]SB(#$_#2/+&.X *Y_;I>D@A#M:[/=&";/ M;_,T-4YSFT'L.-N=%KER]%NQ;CZ"X 7L$5M,153U/A1T_L_@B/!2PWW#49TXOTV+5$KDT^''?,ZG3K;44Q3XYW=S+UE3\F@O)_&3S8Z+ M\T-U("U-6&IF3SOX^]'>^Z_"Y2NR\-0IH MO(C;Y]@BK]Y ;7O;F(S4YJ"T'L:.RW2TA$1=J3.+^FJC<;DJ M_F91WF,T;NK*YUF T _.Y=;WR2Q 9\?+"&]]KTV'VVG0B][F";1%H//+0^A2 M'D(O[AOPL@#=F-4T:C1_N.4)SBJ/)M:DE/<9\L(%4#]VS\\[FN( MDQ6<2?U;7G\D8V1+BZXW4:G1T1A1)+R'U(CDP,2UY*U>7[.D%14P.U>]V" M<\CF&C'4W1*&KA:Y'0<[,V2)7B+LHBVJG5FI(Q8OVGK:F7.:LO>BC:+]F*5RP+5.!N7..EH+O0?GYN]\0+!\"(?A.887.R=BX>^R M _!:*I;#?,6J+4KF#6ZB@^.'+39KN=_ H25_C^+ @VK9/G8.!RC//X/#*X@K MLU.U-,YBPV!A)F(OA<):A)=5DY 7_2QI%K"R9]T@$FT6O-46;'FP@4S"S(I= MW:'OJH=]5FR3:'A-HJZR(6?!LN9+0206IS.VF'ZA-0$FGN.K;4:PB<5MS2:L M_Y:H]Q@:B;EL'Q%N+34J$1B2,=SE.W(X_WH'-36WTJC@;74[==H^Q9EB1,B>]8+B@1, 0@) MR@K(9*3K"\ M^1+Z:;+^ZL0>K89[:NF[&N8K]L.NS@&#MFE5\5INCB2C8LCMHC&P!4RY/1R# MZ 3 "XC??1>(25D'>!HT )WY6DC>"5[X%@D^ W_/#J51K!SD#_WV%_B'R6'D_;W7@)O%.)CM]IL;9'"#D>SBPS%C0 -MJRR,\"$[!&:;\@R=-]LLE)QN MG!QNW\['<<)5R#C'2\>..AF-T3[Y1ZG+[@J$8.?CQ,;=#L&LO*-?/D-]JTT( M4.=1[3CDFF4T!F/E?+ K&BMMG.-1/ZMZ&]REI%J+0O-OJ5-V&]6.<]]'VI_S>1#\[J'5"AX\G@5>9=A!7(2IQP1\%\% ? ?"#/'R]QT$U,# MO""@3=K,Q$03'*. YY (HQW5;8<.>@3QX0$.#Y^4"4O]>HEVZ5V$(PU\O)Y ? 1IY@3L ME,C/DJRIL87X#,4-O)BUHGJ*ZP]!%<@(?JB"WX1X><1##;=\\OZ8N \\07Q_TVB@N/OGTE.WMT-9U M-"NDL.UN!JF:/0:/@G-BCT*9OV@LW);[1^.%,0;T[5EM M)9TWSAB(MN?'I,:G%F73'X=DTSN(7Z-S/'SJ9Q]EU9\6WT.R]CR?$,PYPL[1 MWP#)0TEY,4F$\9-?KDY;^#E%*KJJATE(E_*DT)24 :J'@9+;P=(+7AY R!] MH%D**KQH67.K"%"C",L[#&S2:CS3,CM]V][#VZW11G7V8+-[!"F=2+)]BZ-L M_W8?>CXJDX?JI(8@$,Z]Y0A3\UWDVVS3<_$<,DVPV;QMVI%1OSQ Z+X=G/B7 M=L*ZVLUGT1):!"*U8:6T!S GCIVCGSH!RK5F]P7*MH;W()VF M3!XW]K.E$J/&0JEZ6+@RQ4Q;+P[7=6!E=^VZ41:F4)%R@?^.7@#%7I KP!J] MS.J0U]'AX&.[-SJ_=P!(X>HDK4TJ6G7U#^WLYK.MT=,JLEAEE1/5?@O\B!84 M*@8Q_19X!DBA0E'I(,9F37CU;UX#GW@^U2^!AKYVDU:82/H0R8UBAZ=;P[I; M04666U''" VPP9^D:WLM57)1F#DO.H2BHR65CPYH9HVV($OG5U:OH?2U=AH:[[H$Z@?UE'>9?KV[(MF M7X_74@NS^44'G_=\(REOVXMF7+>CJW1I7#2_1CVKO"/EHF/]>Q[7YB?%&-RS M24/1.Z[:CK!ELZF/K-3U-D:*R9DQKLTI+;P*EYJ;,\3]H.,H'2-MY]PW7F-* M_L4E.8VTVU3^ZS$2HAH6)ZDVI&6^>:HC1-, XR'*+:95O_ )ML=B_PI\D.DD,VM1]Y'ROT#S[\O'.@ MIES0E]2)TQLG5:6<#OP1T\R:/N/F F\W+2&Q>!?DK_BA3^Y%\WJ)&3FK]]<, MX+%?LN,QP$XM)SYQZFP5:/S:2=[0_U'-BW;W5,<'4&%XRJVB+CO81]2F.DM8$D4[V$=,(*J?3TSZR&D'F='H: M(^O!"3TE6@'7P-@DN?*+-P!>*JY/G3;PGL+7?NBM#ZC\UJ_$YR5CN(3$P88W MA[B703V)A*BSO]X?CG'TCJ]Q-1R%7E_[SMTC:'T_HRY#5_' I;Q!7.@ H=>, MQ*;1:^!YWF5QZ*=0N^,_B0-]Y;-L[&-.:@$G 6]1X&GOR^ M)(!$3G^!2FY\YV.L;SP-1847[;YV6,*U-6AQ/4Q]]IR^C6"Z9!);_8X74V8'^>B=Y&T3/SEQ2O^Q=N%N23!]TL#^]OT-&J(3 M.(D$9=.^PMW,8M%(>MF]!Q?'W_E(=R+;'L\>[EIX:EA6F@\2^+OL )O#E0SW M/FPL+7TSTM?,N6^SUP3\.X,3OWVG D3A+Y.UMFGZ2L^8O+VY:*_ 29+-[B6- MW(9J)/6&!E&*#XW@,X;6$+L_TU+AS M-#N;\UIE*9FB&K*_TLJXV.9N$RHLU02/9*J&"_/$]0!"#$)+F-B)XFFOO7UF2'@3Y$@,-.C"5#Q$4$I*/;7:2N8DHZS:0 M<9G4O! YQ(S^P[UQ).-D<^>%?H;2!9YZ'K N-]>N?X,4ZP>P8N4G+]G4]P M):&ZF\]K&\%)')P0O;WP%$4[KM=X0].&]LM3>;>0^3%;KY""YEYCS+.VKXL? MD'TMG6MS3\O.>XXG4;ZLBH.\C:Y T4LF<0<:?)+%7+]#C64/5'*@;6\[W)NM MO5;EL**1_$&S")AK< >5@JKEKI=+A1-I=MF4D3#K/I)9;*)V?I92,%;5B7'I M.TG;#9+'<>C[(Y:]II!>NGOTTC=@HP-=(?)GM=':>&5XGFDZ/2Y]G[7R_93V MG-RSQ3URZ=SJ]&KH[&2:143] -J)Q,\U"_9UEGEZ2LT8/#S[ M RUV2\XB$Z$Q!J'T.!4\81F7?ICM'2$O>BV[BB^],%3W6W4 S_PLLF"Z:\8R M6]VEUD+JOR<[QE',(JFH\SYLL1R76C=I+,]%<[#+15?^&92M?8-I+KHXT""< M%D?F3%<#Z%SYI@P,HNS[R\(^X8TNBUNB;/OKPC9I#5+=N"EF9[AL^_Z0)U@: MI,58.6^[E_PT]XL<8]R];#-/#^YJQ*XQ'L[[S=W 0XVX.L;'>;\9.UQ [0/Y M&*N7-U";+2N.'F2\G."58ROX1UYT /RK%TWAGHX*D@6)@#5,*(EL[EHP7-$ M!L'$\33D?&E(,=7H:!*U&RW6?0AW =@ZWT!RK2P&)&]O+KK9"? NN_V&7C-P M3D_."=DDZ,3@;QI+'+4:8N!(9>"$G'@5'1*M?F9W%]P<48PE*KXOMF].V$XJZPU@,NLY@A*)3QE@ M=PDQ*DMH:^XWCD"^ 3LH-3V\U_W7#)LFRAM&O";=QC '9X+VR@L\NO&ID32] M/F9):4>$WO1-!&EK*YL5&&:9-C>+B.-N7&NG0,XB#J\=(SOHL;,(+^MUB.NJ M\BQB>WKQ3*J?SR(/\:KZ 9A$=T8V-&F^L M601'=%=?6KSZ9A$OT6T?-CPJYQ$>T8-U*J8-^_ XS^+6A$E1N-^"^+"XE>QS M*SV!$&GAK$;'4P0G!%(_!K1R!_H!P$H3+K(%0BAV4R1H$XZ@1K?-T%\9V)"8 M*R_/< /&[V++=+V100LMD1SYE'@N20NY-O6RS++9N*D:NUECW]0C19N(L[DB M!Q M(Q*SB!Q,>!0-/!-D,(6RLRPI;&E.8[J(8^/N0 M/*'=TS:&*@!D$.35)\Z,U2:V8:KKC6S.AWF0=74"V!B:XERT;IJYSVHD%B#ZJ?E';>U0]^J M&&D_19'WU0\")KD*Y%\"$WS]!O\)DOOPVHGC$ZI:CO-\-KN\8TI<+"C49ANQ M2LAP;T8Q_MD+V*/5.4>;+L>;*ENTS;OMQC!VB;-I-E!A?H(L8>\&Y]H+BS5H M=1E8SXQF?(&:Y]JP7!H#&">R@82?_V")):*3 M!..ORH+@,:RK1WP67^#5G=J@4 S.-;&PFH7QM3,/>XO3B]9Y!]^B.N)Z%D;; MP3@*A?\H]EHB+&_#^M/5]C=$S8!;8>\9/@T01.W.#_T4//COH+9CKDZ?G7]% M,2F!(:\EVG848WI/PT2+:3XZ!W49ZRXCF2M!%CL>0!,1ERF5-AMVPDF<8R ;B9;':#=TLO5U>/O-#3+/#_<-UO/6 MPQ@D6" (],G4ZFP-<7!K=25-V-4.U:*"=E4]8L0EP&N)65IK6+9F+? M&[G9FC=W]DEOBU9R\:*Y..!)5AIC+SHD;<23++7_SIVAM;-=>3#/G3]=-QR? MX#]LN*,P^<=.YM4V5SN&7W2T:-^]U]Y5>(N6C$TZ&9*';XC )[ M>I8ID6O/\PF]7+[I.08QGT^\4_\8-TY]W.RJ,Y5%L:D[V?%VZ9VWT,2:ZI*;#-R'VZ_1]BW*$B?TME_A)$XOX!V$6JO3:JA)C_,UL>#Z[^ 6 M)W.3+/C-;NT1Y5%RTK6Z646(<'>UZ&@5,6OO7UF2HI,@O2):#V&))*C90I2" MX,%\?E9Y0G>.F]=:UY@_U]Q<&BT3+ MT7-2 %O^^..?E)3H]35'6GXZ48&W1_"UF.]3#)_(&;S%\6\53[!V8UBBL5V= MOH3^OS/XV$_WZFBN:G<(-A5C,/RP5Y,C;7V#BV]":,M2I1M"4BU$- M*IIW418/HV=R(UER83*$UF>X]?'^]Z"FXB++W5[/(J8<8.!%(TQ\A$I'"D!X M'0//3]?[& "I*J;=;>"9;K#XVT:L3EYA.'V*_=#UCT[ H"+Q=ME&>.]_C7UD M_!41T7/$H7.I@9M!/FHO@;*]<=[?A[ !_#7M(*1@@%'-52J*(Q< +[F+HP,Z MO8\ SO(^23(D8Z^C1.KCT>AHB1R[BP%4/4+WM-F1IY;O/CFX-HK>0T#>?>#= M6?XNLAX#J@AB]Q*6I3>.&/!9(ENP_;KZH M$F#"X,S1M.\ .C!Z9TMG'/M(+N8(E\<%JJVJU]\2$@MX>J^ES4K:I84PEZ6[!]NB]_OZ^:^<(?Y.>6M G'<(*0C4(L6.BC)W/ +FC(!_[K(EB$#O"YA3A M4>6T^7HXTD7G>3:'-)7R%P4Q1+-@CSH.2;Z#YI#)ON"8U%FQX)CHQ$[ER49# M1#/-AJ.J("<11]N%'5TT&]L&*+&CJQL+-'OFU7=CM^BCBV:D9IR27*O@[2NS MX)0JHJB,VZ05P#,+GG6*^"G!\0F9/@O>M0HAJIY3L<8S&[YIO+(584P7C3^R M@"H9>")P85RSX>C@3P0^8&R&7&RAFZG#SV;(.Z6M5>.2O6AL&^W WI(55F"K M95SZ84X*AD*X:056SF)K:4BR00(\9\A,U2M O$MG>4PUT12!R+/ MD%=#BJQZ7/0,&2K5R%J:C"X:JJS#0T G*'V&/!.*?STOS$7CN/5W R@R!&;( M.JG<2QL4^VO2)"/&M3F] MXI5TV(DZH8Q^;TENHFSK3RMA@[E^=#F^POQK7E(=$IN8RQ M;WE<"%/6&'MF_W;HFBC'_'J7B)I>!DQ_<=^ EP60.X\@O7;B^ 09@:7]9K=] M0X&V?UZ''AJ*A!,M4.H+E/I9 7QWYO@".3P6Y'#G):G)>.6*%*TMF?[TV*\+ MMF!M0>'N1<75XV3K(>XM<&B#SF['Z)PCVQV&I F3;UL5.>6E/XE9]V2 M8/GYY--:G\D(U^PULIE7G8,6YN1<69)8)CB6$CUG8505 J=!HQHE#MZ6B>4Z.ARC$,=:52UH3W@QWD#JNTZPF-,6<]IB3K/7G'9IQH^S M-J9=OZ$YQ,V/HX6P_1BF+;7 #8G+JKM.GV4Q5DP/:);D$15%O!Z]MTF3O[#VL#3BC:/_GA!0;0D:S3D]C9!4+NF;K^M![2\^Q[ AV,39!:[YH!"A"S05A0M;H4FP+ZSA&)DMB, F]1TA2\9,M_%L"A3R2+^IHE9:C M#*QXXS5ZHJ5:U_L8X._*U6ME>W-6C.N3GC6L3J< A#>_CN#-\ ]U%C" MU'\': [R$]AZ#.,,5VR14A-C$R6\RZ'=E1M$W-:P$,'R3$.&\.V,3?GE#2I8 M=;6@$!-7IZ+)$ZF.O?[JQ%Z357Z @6U81_@L\5/X3$%339ZA"A2_ ^\NBN^R M%"I5]TF2H;=-\SIKCC,LR4F<]J;-$*3A%+8>^7M_ UC_ M_YF!X\W?)($ M-\#+%$JX;B]SLI+9*BK7CBHX7-W''"EY(ERCG$YD@EKEQQMN?#L.DV*%Z^V, M3?DJ2^#E"1\F+MQL"7[8X[_"AZ%2&C3W&U@V_#V* ^\ICO:Q5-S@\IFQV]HFC:*,[3Q=G[EMG.3E^:-U^R*D- MO&V>HJ\@3OP#?+3+]TJ]D;G,-7Q%P@^H,M-*;>S=R5(5H" @]+0L1J-\RKS" MR5M*=93-6ON!#\MCAC;_9@?/LQ/\#1Y8>#.C4^T$ 6:RZ.PT]AD^BL4%Q_0V MW,-;!\1*+4/:UIP5[' ,HA-4*T'\[B/GJ6A?Y](2;]YDB^!)^-\CQ>$Q2O\! MT@+?0F9)&^U[E\?")[A#(F2\H3]"[3Y.S5?Q)(PQ^QG./_9=2 ,6.E_@A)+G MER]*,ZBZC[W7E>P*H3K,[3<0NWX"DON0+!)>S_L0TAHFOCN*8M7FTZ.Z44@0 MPB8$^<;GU>LVSA3MD9YOL'.PE2U#$R$IM8NS'>0T M%K3K)/'WH53CZCGHP >6S0;R_=4/"=NABGY J_($U0_^Y\*U[#K*^5WS^#_/ M@*P:4^S(^91I@>-\RX[XNXZ15WEPH]I>-T9T[3N(7R.[@ACE,5/E[(%ZD-(L M(K>5@4ZEM/JVFW$6[!.;SO(3V#X0:E9QQ;1CMW)1)@NBF@6[AHG#XK?>@&=\ M%BO0$/S%LU9C;\^"96.:RG[^.)-\WW$>6%:$M,UD <=0IL1&FUGPL[WF((AU MG 6GA#&3K:1 ITC%*1$,;7A1RJ(52P8M@<-C+GP:] +3C,>+8GO/ M@KGMKQEY!.XL&#:.HCIB8#!=E=]?]JJ,*2,J"L8\&'I>VUP2O$V7Z@_S7JH> MB3C\XC4$@S->7[J>-XDV(G;?+-MY>DM0J_!_ND!_G/<"]90WO?(/V HL4JB[ M%!+X]):-W4_RC)1/0I?E3Y>]+&/N=4D,ZCP8.[S)JDN&$.7UGR^;UV-N8JG3 M=AZL'4=L=\W\HCS_RV7S?-17T +.H]5&&7GZR;]41;_=6%Q:Q;W33UD?MT+ M?^0,KY]T28ADS+YL+[IE9A=U.B9;DD%=3;($0CLQ_E^RP\&)3YN=R"R+N0<5 MES.$_)\@9 OR-X#O$-2)37YZ*#1^$N>7+:U/)PEB,,=G^GWC".T+)/X"B;^ MM"\0Q@M8K1V'J/$&P5Z0W-TW^056^?R"2&IR+_P-JQ+&]D+E\_8R>(%\G7IG MPB?$#O@F-V=]!A?(9LN>,S__X<(Q0<_) -;+\#!QMAK;OF,D9AZ)@RQUXM0F MP^8"D[3 ))D6$>/8R#L*GGDLU>3IJ)?-SP69P?0*7+)^4K6US")OV4#.TH4S M]()/2-4"-6BNY5_)@H9@CV2Y34NZY/:?K00:,(IOR2@^5[$E,$\.FCYKK^2Z MY%6M6R-'24TD!J7;\+S6]?*R;2T/@,._)CMS[:;^.^3$EQ!RYZ3XY<\6^;8JY&/>;YU= BY*UR=(DA3O&#_<5<+UG@#8Z M_/EU%&(B,R?8@OCPDXK!$\]DB7L;^ZC)5X4EZ>.,6:0=[<:)\NT^D4MGNEE. MGR%[:YZA2XKE'&[51PS95W_L$I@W3LR*]#M+[/ 2.WP^L<,]U$-Z]Z 5U50/ ME94$)YZ)O9)->GB$WL(QU)$!9V OFUO1^"F.DL%U%,67SI9MW'TX27%P^??L M96'3\:J!K9DXX^TF86>%:LXTFM,C5:#;#W0)-W?YT$QP05<_>+['E#KWD-71 MY$%M.PU[&=Z>T)$N%=&7SI9M9V&Z,IG1<;:FAG-FFOS)-L6NU/WZ);!WU#U9 M_XX=80I+ULND03MMO,"#@,/V\97.8BF7!*81]G=WU^N06.S:"MV,LAPM2TUK M\. MAZVW^W.D99IA@O"2*KBD"E[6"IR=&MO)D[KDM-FCL0WILEW6U09]37NW M+,MEE2XG=-O/8XW.))OQPE?!B.XQ3L#&DGYZ/AI&RYB196F-*1D-)WQ9F6'U MB0[Q03,!ESCG9W(M;&FI2GT^=U7KP*EE<:UZ8PD#L19<"YN.X&!160NRA7WG M3Q0(MJS3>9U [?BWI?2T56=/$%@WW0J= Q)-[=>TD. YPM 4)M6\XBVIQ"?9 M1:1R*/P;*DOG1OO0_Q5N(BQ$L=M7+[MVR&\9"V"]#^&V@AL&ZF_H"#W0R2K0 M.50]C)&AMQ;[?8PU57WLF_[C6LZ2INU9,[%U8I#^5RR+Y&X5CFW=*5;"EN'W@UX!T%T1 RE]VE3P9'&GN9.! C@ M<'LXM\]._ M(X=]U:&KL9HR@3R"$FGL 9[;V#G[H(PF-\@=TJ-+K:XF6/J8Z MQ"OI2N5A%B%L@^D=XCC"0==O69#N6D_STW0<_LJ*?1ODL,:+04-&S"J?14L] MXYDF4()FP:C);J[!Q<0L@J9:[V,MS7AAG?"6:=2^QXA .9_[1LXY335_.F?U MY.;@0L]\!"GAWT.4)%!R84&'9%R64L'VF!T@M^!C*\&'% [BA_B?7Q)4#@$* M1=]%O_&##"'IB\9;'Z(L3)-SM!R7Z&FP!8K;&GO-EJ:C,V5S4ZUXSHA#AL8_ M\SXANLF*[8LOUX9E&6APZYF#3V)/'I QS)FDG1CE2!6"H\'X+FMNT,X*)3R MNGEXC6J+Q*D/]ANF]"A\ZK)C79B1SJ* M-8)')4O%;:V9NGKGR5K;HA:_H-C.QK VK)O'\;*ECS(3?3>J(=$?6 MLD NVRJG?6PUU*-9&'O&.\A#:&NS6((V9WNHY9H%8[O=X4H=>I14N@@>$9OX M-OGE+M?E9\'O-@) \CR818IG'SY53_ ,;>F%QW(=IKZ'&.*_$W]B'>0X26;N\J8?HY6= D3@)O!K> K&%'=4'J!UX-\Q-B#ON?LKT[B 101VV-^ MT1J[R-G9DL5,;:RFV]AMX/JZ>:0$5[XX]$H_?]X\:PN05G MJI$/O927SEO=2S>O0-#Q^IN%77@"3;99J(P-CF__[NVNDPPHLMEU?NE+8/W= M^3!N3+)-:]%:F$LUN$DX9=!T1VVW RYB)_SI,TI8 M.D-C5$Y607Z#;4#5PW!*;[$Z5R $.[^1A$IK<^89MI/RF:']A-#1_3"#\FIS M1%''"*E#9K#1'\ .::2Q[^IY48+UG4GP14MVM=E/T_EA30.]<'*]0'F\#W=1 M?"!)$HO\'M@:*MR&*#DL=/W QSS-_Q7NL2*&9A6#E)WP1&CY&GKTLSKD@[-V MNN>W:0FP=MWLD.&*-9OT#<3H;1"#-WBC0$XBOR+Z012BR!_X9&EJ?([R0DE4 MX5]M-,BW'<9L*?6W*(!;/"&5,&4>TWI#<_H@_GZ^&94N+G%;@UIPXK?0/4G!![5@Y G(FDO MH'0&,0BR55X 9 C5V*_768R45 +:T+0-AOV&#?M"-F7=+='0WTH9T.V8&UTQ MG1NF TWFLTM[Z*H__]&21VS7!T:MO$F%#S.J7:O4_DO.+TU=>Q;^=2W=O&0D M%;-Y%LSJJ?U+-J&&)KUP5_*X*,L_Y59>>*AYC_1[^\PB0:W+7:/U?)H%]_H> M]/:;?&&KYMD?^ 4\D^IY7<1!TZMY%HF!8U]7_":\]&ID8_.RAJ\P:'DIZW)[ MQWF1__S'<6H$R:MSF78>(P@)'^LX"/R1!-/L0>CZMH>3)''*69_@OPK+$_S' MSP]PZGL\H>O_O[UO;6X=-Q;\*[?R/V C=:#3ZW5Z&5K ZT]\H'#IQX,C3 M[7\7 2W!P4\;&@XRV(:#2QK*<3EZ:Q@#E49)M#8G2WR9CAJ.8/L MP?" ,\NP_-5\V$5W3X<[;^=M@$_BGG,H(.V-E8!A3K0,J&WHEO#=+_?([7W GV#'-94=2:>8H@#ZRTEV&-[/)INUCTW7 M[ZL*8#>'\D.UNFGJ*YD/1[\I,GBTLJPB&;W9D#S2-.!:9RNQ&2E,-AC"_H[A M(1#3'C]+V&^O2VR/-FAE)9X MP ]!E@$5HT 4J*R_DC7G>6K1@U?.*PIQ/%*\ <) *7Q1V0LPD]X7Q9D3[Y<& MI*"@*OA!7?E5R762 WR'X%7S::HD;G^VPQC\C?S*@N/(%;(D(./Z59T;7L5_-LZ_)HR(T='LK=I[FB["?,,61V@S.D14N"3-*\D8W M'FO$8:DX[>R6'CD\J@]N:DZ*!J\&A<2/*8 M#H[47JH+27A2YFKJ#^8LF4TN\Z]97^,Y$J'8>63V!94,],W7+XO%Q M^DA6VZ3(O#A8?< F#@])D:HU:-)8R9S*V5B"M\ 95BC=8:0KQOT,IQC4Y]JD M(HCJ80RT)H+!EH@4SC7!/&H9_^RE_UHE^/\H;Y[7Y;J.]"=4O& M+63-,3D7XUKYKQ?^OXLP(X''Y,<4B?FO?-[$%/9+DD;!.VR$K(IR*5Q"39&SRUB$&JI?@'C$G@?:V# M?T&DX #9!GSSWHL/7Q-OT+]D["H3P_$ 0C#)WRA5=BS3;N+P-Q2P]BL8/1-^ M\=."CD>PSC)V:'@RT9K9K$I'V+T,.Y^"/-PUS@S%SK,/BQOCP!\I.UX&T8T+ M:F(0Z+F3GK(@6],=3Z*\1$QQHE85D'KNV-)E^USLGGMKS%&\?Z0:FJU:%#+^C&+*_:8J-\ 5\L.>X[8GN?R6/=LXA9* M9K9V(G37, 8:K?.9Q&1'"V$>+6.@BYC^%9B75T03.?DRY/]AD[S_,4 AW3?\ MT&P7?JFO'"YSUMODX&,;B.!&E0ANIB0".1X7@*4 8^HA\C8,1'8_/_'A/E<5 MGN^ *0E.N3ONQ)M\"#/?B_X'>>D#_*7/5T4CC6R4XDIMJ^VQ)]KL*O5P;N_K M8?>61(P-=C\_T:;HH_Z"-B$V3%.MD+$WYK"3;O$6X7SIZ!%$Q<__@_H]X?CC M3K3)LF5&QAZ9/)EX3#3[IEHDAZ?AZ^(Z!'K]P2=\N?5J,;E$4R?;9&71RMD4K M&PIY5CGDI%M;>9^/ =R NMN29)^\\2?=]"((4NSMHO]@V\/WW VSQIK8["W\ MN$Q7R4=?AQ.--+%18G%8IL]I\A[&/E^NX@PWL>7G!)[+Z/^%^]LDD&ZX._A4 MDA;^_A1YG UV/C[1EKXF6*/8)C&?-0V&G/AE]Y,4) M: !63V6U2@)Q\$)ZR M>-:)5;S_6W@IR!O1@8I( @6O/_+49AO0BQA8'0TZ\M?M/?^O%&\311YG#&%ML_ Y,'T\3AX"W%^1_PPE>*/C[[_*4 M=#(I_YB I/N9WT?$>OSWWV74C\-S$=6^DS#._QB$N]I#!$)HUS&D[T2HW4(* MQGR!ZVT._AK[@)6Q.67#H5O 9HP$ MQ-;\^UW'EMIKP,*U8;?A9YGGK0:\(H#?!QV8. 4;>#@H8B'($!:6K80X< MU'X,NW'!OP?CV.70I3('^,,GQ!XV<#,G&S@!X.//O><"F@/^'VR&G^-MF@,/ M?W(!#P.'UAR8^-$=3'0\9G/@XC]MQD7/(3<'_'^V&7ZV[V\.-/QD/QH&_L4Y M\/ 7F_' =V'.@8J_VHP*IHMT%NG):K%9Q1$["U:L%BK%_MU9\&&UD"EV'L^" M#ZN%3:9G>A8T6"UI"OW?LZ##:F&3Y5V?!0L.B)QM)_XL.'! WN1&"\R"$*L% M3T$DPBS(<$#T9$0ZS&*\;:\?H^?J&S9^^ LM@5VB?^Y_W<1OGL1PCUO\ULO30]AO"'E.3B@J,UU,<'; MBBQJ=U+ISZ#N MG"-HE 8,DP,8,F*2G\S9]@#(CGJGP+V9SHZK)&VO" 3O1 M/@GEZ<8 O-_MH^2 4%F>9_C^5JKS9SB@T,UTS9 MBO&;EM[RP3"#&Z[K4']-X@VN?$@J49<2''?_XED&&6VRAXT=GD'#(MHF,)H] M*:&'>-0OG&(,D++-4[SYBKP,50SF(+[(DDF&.TN29DH-C^' P!YKCIT&04C- M"\]>&#S&M]X^S+VH=8%Y3%4^T3;BPMW"QM!7:YXE(+V$FVV.6TDCHM4I@=.? M8PX47!-5613AC38IZ^Z!XLO*D56-UXYVS9=]I3.-@?6"&[W%38-6$)J*74'$ MOSNT#OV0!Y7"1).O/Y' ?PGS[6V1Y\T IF]1,'BL HU#J01SNT@>>%%3B.!&' M0:?F@YI[WW%T7,O@"'SO3I?!D9^]W%W<1@#30^XX!G3=YVU\B+BIS6B15@OC MO7Z"]_'LJH.IR0>.>DK A1ZLOCF2?O+@CQ[&@S#>5(I<<1X8>FU )>G(<(4=*H&KA M4X[C2(V7-H$7CI9J'<)NI5B?FYY0K U94[=2#+'L7.4 "H(0W,< M+6K<4BV$S=%"SZ,YJ3#XS7%DZ%T05AB%XPB8R!_F/![4&(0HPL_1^N?CV,*I M5%(S"!BA= CB#QW'BZ+1AAVZZ&@U_"EH8D1$I./8TG&A.]L@8 K2$(UV'"UJ M-*"./$=[)TPL7G%">,^M[AKE@UN4ASZ 8+Q SX"$KT78KL6FKL6F3@Q"-PH5 M6,0R);L,2+3-,TI)5Q4./(J3;2 J=PKJ=)%*F]HLBGP+;]%OS3,A/(G!)*N M> M$83P\=4A<;8.B3KEI,PSR"15]/GC#=9"S1#<=ES Y Z]HR@A"8?E_CA@B.>8 MZP!09C943ZOD,+C#K0'@QLM"7W'W=*S!NE%^F6CSBM)W^$7HE>"-'KM]W)CL M]Q7+)OLBKDW7^ ;@I*PZ(=B8?/RUJLS1OH15^:U *O^!,X*#P2518N8N, MZ? 4CYT8G:LD]Z(*1WPLLH:9IDL5:C1XSJ 9T)-CN%BYPPP^&>\H+M #B(&L MA)DZ]!U';,%_ ;_2[IB5C(']"\(II2A8O,,COBG;OR[7 W%6\NQH+V,]P*)G M2F\-]WCLKZ!O>$5DLC(OBB),+G'PLY?^"[6D2Y[PS)]@C>1S%T9%SO4-\D:; M?F4(2D&%1C&.35.4@(8S)GZV6U]0Y4%7-,Q_Q.63##IBLWRYQGE5[>OXFD1\ M5S)W@FV\M:1D50>S[BKFNC>@&'88 ?H7P2Z,0_RTY>$[$G,JV2QSX*1)EL&; ML.9V"FF/,%=I>)>D>?@;L4X> MQ@5LKW%_W*!UDJ)6^;+[3WB]DQ3D$"\]$"<#3OC#6G]"])'J>+BG-]\WFF^F M6![H#0@\?)F"-]H<(:-[8ZY!CRZ%?4G=6]WZ4D)'DN.HD/F6.H6.V6X< MQS$@\?!@!"@X71Q%@I*]L)N$R<&6HPB0.8 8L+L \031OWPWCLV 3Q;8,\H9 MY#AFQGJ"VGC3=*Y8C3%A%H',S=F[0RSVZ@CPI2=H6NAK!Y/KT>-:PJ3(J>4X M'HZ1)&NWF*,X.$*,8CC6'$6"BBBEZKAS% 5Z(H;(X> M$JGCT5%D*'-2/K=Q%'(]WM'QU#J>>:5%^#+?KZ.XT*-[J7?942SHW0$!W3B> MA:=U(V3N>4=QH73RG^[!94998_QL(3R-;?__'/[K\6&K\6&E4$H>S4DNWT2P\:$],(> M:T-=2P6*:8\S3S ]5&8J1,..6L(& MH<.=8O2QVVLN)J%S>QE9,\4A25_0 MODC]K9>AY;JEU7:ZIME$;NPOUN'R4'A&@QVW+W MSY''4U;&K64;Z/1$N/L==>4$J\U#JX+;(256^5S;CHQ0&/EL2>3D[/X3I7Z8 M<:L)Z:]C&\CT)": 6;20;4"3\WE!69Z&?E[6&5]\>&E 0OY&G#5_+=M I\?$ MVB^(G+.G6]>@LHD;RVD-E6$L]!A?D)]LJ..,$#97FYWY:\T6XF&H M*B3X(4E1N(EI]W'_L$KAW?5\8E") _);Y'7-*X3V^34L9_HR*Y'W3%/=JHC! MYP0X!#,EK=ZV+[:ZED@\I\H!Q6DBF+ M7)F=B"0VNAS!!"M%>EI4S)LO?;J4>1T/:Y5$KNK_=LQL)D,8XLI[*C@.L' :C>CZ'#VO',ZXOMXJ@L;TD\Y#:CP=VFKM9%@)]? M_0#E"\ +4K 9_HD*FJF)6#8CPJ6\EQ-FC*MS?_7($<=1HB$E*H697$3^M$90 MRD7DU*I$L)QUFJU><,Q%9-R.#*>YB%S:T?$V9YUKJQFU[,,,' HRXK683*UYV+4=QMN4H;HH,,):U;2N" M;'?>:'.X]KB.;@>R)+]U M(&?D^:%8E"9_C4%U/F2&RXAMAG\ZY7%J/NXXUI2Y2&W>XW%,JQ&A%,LJ$5%D MEZB'-D?P(8IHG1(ANJ&)]JDKQ(1RT[<07!67,U=L(!336(C'V,?/USMQ,/'%5^TUC"-; MFL?9H"PBL@WBAVBD;FI*Q[VQ,G5<3?U]5Q77'IE4KJRP&6[3)4K[F;0:'THZ M"^NQ[,1U]5#F",0BK40/Y(M+B>JBQV:@9S#J3"337$9FQ 2BS45$T,\H[KAJ M"V%T3<_:;=.S!FSYB5IJYJB-(]R@LOJK#./QO>4&,'P>AB MSD3S<-S42$R3-1P0>2HK:NTW1V7@4SYKXGU6W_*"2"J:?(OB"1/O3MI?=K@_ MV92)=RAN=SC56FE+;6*!0*;]4)E95A%YJDR@MDBALUHF*Y[NH9\ M8#5"I$6'1')DCQ!8>+,:>+DV.X9+C)*L'#6/Z-T:KICFJ,U#&7J!K.=HIKSF MP2N(EH[FR.LA0B*[.IH7KX<#J83L:%+\Z9N..VC$;%+%'N-UDN[(NWJ6#V3?C/+_J@STV2==NPPIJW%7\+L7S>'%7R=("A)-,,>,/"6 MQ.U@!3/. PSS05@W7H3%JM(02>'@>YF<&V%O%"X-R-[7SAA99R6FVJN2DE!B@?E&B&A2?3[%3[<%I3)Y;<%[Z? M%'$.4J&/PG=L/FIH@2_-*\PR*Q#CPHDA\4?@^_N ^%T1.:--RI #CR*A;/G= M5IAI%5A5H8!#J9(T@;\:$ H6,1UZ]X*P8$6+[1%3.#S]R['27"4?"( MM%$C,=<[@@\1P4R)D',@E&MHO4+\4:<&@\2KXC@VE!QVG3=7ZIAQ'"/R4*(N M>:B[=1S-M3A"I]'P"]F,G+DU&>$C93-B)K].0F^;H]DZL]Z?MO?.9OS,?87D MBH'-V)GL'BD[3QU-_YK@+G$=L3:CQ,#U:>S[CF;(3<%W5;S>-J-G+KHY;1K^ M"5()9R(642R!H^F&$V!*,1#!T\H$O/30DAI>B]T._K)<@\X")Y$? M0.G'M>3W>*CA\K75EG"Q[[R]+Y[,H3'1@K82W%T*&P:I3C>9;,7>5]F_7>_$ MZ"3[@)$6RE"9:1]8THH3*C//$RSS2;U?O3@0YE>U!AC;Y,+WBUU!:FG=H7V* M_+#43N'Y(4)%'"QV29J'OU%5G8=X#HB3+6^PI6T8!31.H/KQ<;=/DW?R.HL3 MZ-3FVG?_GA#O/(53IBX$G.SV18[2^CMP"(^T$(;"K(GW^5"D(!>"T-;^2N+_ MY>]2.L<AK9)%"A3N6C&U&:B<+/-E^MO&:(.]6\@=:"$W36*!$+W,',)PPA&X2<4IMKT/*: 7XS'.+\ M!C>(!/3648>/ 5!@N [Q%NE5(SM/$6ZS704KABB#SXH=# =RC3'.5)HD@\PARQR<*5LDC,$64 M9EA\R@_22Z XV9S3K,CI%L4U3GNCC#^BK7>]?+K$QR"?-W7#X(]DM4V*S(N# MU0>0\V$%PU%;'!&T"U:=:^V5$%QPI:G6 C;!73?_^O4>9G'A9N98J^Z_H*D+ M9_3$=_VIP$C!5G+0@;O?26[K/[RH(!(XUIPC1L'2L:O,S;.6\5B.Q9YIC&S: MAG8.K72&3(Q8AC*& XG#>(,%'SO(4M;;B6&N908QM? MH=T^2;WT0-&M<%2B&5.WZBIR8I&^_T2I'V:(YIBP6 AGI$$U&-38%[0O4G_K M9;@E^";U=HLBWR8I?LH7.UP9@I<5ISK;%JIY00'\@7JO0Q\CGU"%&@'Q)D_= M@XS0Z8,7IEBPP@G@V. 0KD-:PB-;KNM]K1+8Q,Z+L1!,MLBBN*/6FQHV3"_/ M76JA^ZOLO$P(Y+/FV.> KIL_4+KF[E4^T[+[7N>!=1^KYB*ODAO4S.)QW(D6 M/\EA+MY!8MD@$1_0G>UL0*NV_Z[MFE;TC-D<>*;@I#X*1;-YV*Q&JE)0K,1[ MU@F@YKMY',&#*/QU"D2<3: KWPW6K9\S]#M9#;C:C9 YICHH8"#*:A3(SU[/ MTMT),NR[C!S'A+)/J0Z+4G?N6(T:I7NBX^KI5 Q5I"]',"1Z4^9%T=F\-M+X M$<'CZ\)]4LZKT IRZR"%_V;9C!C%IDUBUQY+T!=P;,=S(T;I0:.=D8XC:X(' MG./IM!DQ\[,;M7?-\:R2HRP.7;^RS9B8GUJX_-OQ_)KQK'@"M[_-N#N!O,,S MUCB>G32>I$;&6#B>NC2U55@>GN%H#>A)$79L8(>C9:(GP2$[_F,.C/S%$8P( M TOF0,Q?+4>,,*)E%L7#%3^>*?YH%B;8+XMKA5*X67_B2),%'&$55\9$FZ(9& MZ#0%J)@?'U>.@1?&5I4D9W[EX+PZ,6R*4Z<.O!-^+;?3B,HT8_&3V.A,"!%] M#=_;T5AT=S>'G[U_)BF-2>'G?^FN8BNXS3:?O)TX!W',2I<)MOD\S%7J!0AO M2%R0=C!LV@UG:=[:+/S6;!1WDWL!1++K$_<_/>FV?H;#WA4[[L:ZGY\>8PRN MU/W,SD,T?RD>)N$'NJL8S$Q]1U&R!]$7^=LXB9+-@1B$Q"Q!-LM@_7VJ( KP M_PO".T5!*'.]3_.)T M/C=7):AL2O6"(FKEVH9[,3,1S;"1L$2=?*33S%4686E9PG,1S;#Q7%J%C=L% MC/5/BK>0C4#S>XM()MFJ=-U_^E&!BRI7QIEQ&M=P&8, ,QB!.IA*DZT!#DAK M+&C,J2 '&'QZ_B^ M!Y8S1_'",IEVL@K*# $=@9/$(52#/YC:/U/Z[$?02^Y>C M*!HKADQC2+,9:6H]MS6*ZCT6+OE?$T9S*XQ&EYDUQ-(-R M:O2P_3&N!FS?H;?%^/,4ZY9+9('41/L4<;# )K;TC4XXXUTI)M"T*9 M& .OK;^NK;\,M?ZZ!CR?0<"S)INZ3>)WE&(]0AJ,R!T^<=H._8X^)TD$QA\]W4*\H!L&- M(/:N0(_QH([8*WI'[%9Z1RUUTNM\2^T%H ;=K]?(SVE-@N5Z$5 AE7/3E:99 M!0B3NC0F6@5,4P>(^T1H+V$))WCP?'8K".EP(>X E!'PWBGU-0 MW@MXS\FG F%;;PU7[Y'YL^I*DS>';W'X[P+=H@/0N(,HG^SJD')^2$ITFD$Y]9*EKPU5>&\%W@+B94C -'+AP^\C9JA3[C MY%U@,1*?PACE",6W*0K"?+%)$>+*ELK3)MXIK4^\2JI218UE^CD-8S_<>Q&5 M Y=K0BZKA-#^1QH"-ID5/(Y<<>K"'L@O (_*1R <;QSWC]A+ 1^7$Y@03+"J ML2L/8I./4) ]I,D.W]XG!+LD%3*!Q]XFV:"+K\9$2_C80TJJ\?J'Y9KJCJ'_ M[!W:>3MBQ8P_?6+J['XO-HJC4IX%S):\] [8*(L&E>=:[C*:'Y@P*,P MP1(@6D*M$@SM\98(P*6(@F,'JEVVBYSR>KMJ+C+S1:FEK);4"&32X[XJUT9Q M)4OHK[7?%4IW&:FE76[[ >$+HW:W5-:Q#^1FCZ2PG(A4U>9; F*KE*"F#9$] MTQA8L!WZ4&:EX /OIB!*@#M\5NY17^UED6/-$H>\R#D%,--JA .C>&I4EC2'B*RARP+R(*@$W@)3%O__%Q" M9:958-T6:0HG_ADT.5[U!)6 *H B!T;K=!9UXD]YDP$BSA7 MU$ QSJV;6,F(*;,Y=TNYG8P@6HZ/ >R_:[]>J_]>J\5 ARO$""_Q#*W65V, M9HH L3/ ESJP\Q'$H<*2ZCQ(QC(HTZQ3J M8EXO1Q CHI%9,'-.I*,5^-:_5VSYV!&DR%C+I%AQH[C,U+8=@3' 9C1<:^R< M2@5N!4J> :XF5X';P99GA1\-)48CV$8M,T5EZ9^:C359IM1,ZULHA(] M;G/%J2F9J9I7PV9LS&I\%P3A.UIT2Y?KJH?WSX&0GZQ"B$I2P!Q8^(L#6.AD M%[919;O%WRZ]AL&6<*37=K3+_Z6Q04$8#ZA/);+TT/ !5A MDBCHYK]6GK]6GG:@^?2UQ>IH2IZ./Y/2U)J^ULP8'LD8I M;7U8.S_X;=9YHPW6:J_1_36)-]APHI"R+YMU35FU,.CSFK)ZS>"Z)N&<;=K) M-0,S0)?0^^-&LB2W3Z)22Q WT[P[&'3V1;EH>]% M5Z/!U6AP-1I<-=0Q*MX6A_L^QNW@1>*OB1 W3Y@$KS6\L*_^';&BJ\7YKTTN M+KHWQ-44.1U?*;VC4S.7:EG##\<"_S+?T:M\Q=7\9J%EX6I^.T^[@IW6MZ.$ M/L?1=*V2XX"Y\EH:9F8[Y1DFP[ENXI[=$V2GC?MX1>&LC.$3RC527<-YTWF5 M('?_N0<>AEY0A&M?K))K4-W5/GZUCX\!X&H?[QU(C\5@A-]_^E&!,S\6NP0@ M^[X-4N M>#I=3/VQLQHGSIJ]7#=A3*AU.H(XX742"Q9G9;;092L.&1]>X'^_*EL@_&03 MA[^AH+9%].N^7@/WKH:)JV%"&X"K8>(:N'<-W+L&[ED7N'?IUC.' OVNYBS3 MJOG5G'4U9SD06G -<[N&N5W#W ;(N8:Y7Z(T7X33\URU"^9 M07\F,Z<>O:PQE:_9^8&U=Y$A5FFJ#?6.\!6N-]L0+>\P569:8KN]&IPO-*?3 M(1.Z&Y::J1Z&MCR@QENM5D;D\M$E?I-'T#6YN@;0#"D;B"T^0%^6 MJ6 3+&Q,/FYBD*109#PP1)K:=.N;\T.WMKB(@R>@ZN8O*_@I\WPB6(B=[9JK M3"R>DVM:]^3L]R8="N'"\>8TZU9S>Z$>QQAHT!RPVR4QV=%"2"*,@:8#8AH2 M%>C[[+&7=5]_A4?7*R*#5;:?08:7VC=Z@R9F,BT!!U!&!&#<,/S^WP4(-H\Q M;B4?OB.\!S[CT5[#')V1MPF^0!1_U!EC[I4?_?8V ,2!$H7-\E57Q(W[*GNX MDN".=(:8.^G:3-02'02[YH\W!@+ED76U7R&UL<<:EI$(#A5$I/8X&[9\Z^W# MW(MH$]D7E*'T'04/2?I0X(:@5<]R.4B*ZTP+-NK/NY,2*!0\S3T,]10 [X6QSFV<_O 93+#[ MF3'L?H&W$81#S(J+3,CN6".G%GZW:!7NPGBS7,/CG"91=(>"0J!IJ,XR_R3V M'@M1P+UXCAV4(MC^<)P=6]8E;O."WTV1A3'*LH4/A)!14S[^,45B,5@^;^)[ M^TN21L%SFFQ2;X6.R9;Y%Z6KKQ4OJ MX7W"/I@,'M!?4+C9PK^+=Y1Z&T0N"@YWJWV?4UOTI]S:K,89ZH!:QNA^MX^2 M T(=@Z^.B49YI8GA>4X^<(/YW6/L\[=,'YKCHWU^'V^ :!4R..X8\UIM159@384XB %UM6LKQ6YA=DJ M 62V/\?%$IZ2_']0WN36\S3CV;[O_%#X#!228 VU_!,>]_VI\A'O/6OE" MW'^BU \SE#W&%#*"A,<8=,(X"_U9GBV=KS:+V#&'*.Y?51J1J:RS>/V(5@[HI M8!-;Q%!P5^!GBA(L-9UQ)1&^UCIN-7.^IXBLBP+VE2_KR/"<4FJ3;=)K*KF: MELFA)[5,B47T+4*$,2VR+-S$W&?]R$4GOK#5;@#O;V%,T0YRX Z?RC.\<>V_ M,\]R["KN/8OD?R^(GEHE/=#[R1,UYODN9P/,IPM\:X=Z3A@Y9G5TK#PV=&3 M21TR*H[-(D6V3CR26RFHL"ADN,]*JHI4.&5D-HYQ2!"$MC5BK$$9E-1KTWE91:%6; M^#F/D#$5_I>*^A:5FE8OBGS3BSXYX)[(PV(V^62\Z=(#;8 M9GS;<6][+J4Y$/;CE4#U(J]M/@0[J%9B>9L#@?_I.A6?)J3=9M3;0;L,*]@< M2/OS6=#K3)D"-B/<#BKE!';-@;B?7*74T5D;-F/1#O+C6H?G0-U?7"7 H_-H MYL#F7UW'IFI:SBS&1)M"/D9A[]B\GUFP:I._0/^)&9-G- L:G37SSIR_=%YE MOU^+WF6L5\&L5\-'KNY>_J.X1ARL6@AKN>@SJWIL_E)97^W8]KJD5KP5Q-Q>^RQ._E3TOOX, M$?P/\A(:0W#OZ\\0P2#(K5%H$L?#'5S+:%S+:$R+WZ,TK!-'/5=JA^-G=:U- M,$#)M3;!-;/>0?/T2.9Y[H=PS5FVPYM_5DD8YRSA])5EFX_*#M(^0?RT"UY7 M!VB[;Z>P.3?@PH^*8?$X4Q<[^9A"O?!!G0((O\$&TA^^^_XG_&I>_>Q7/[N# M?O:K7]*5BUIRW$40A)2=-JPK6[P!A_9\867]V;[3O0X%)5C+(L]RH)@PWO2J M([P@3.CP]]LD)D 67K1"Z>X'$8)/O!/C+,-ZK^NQ9,\_E2K#BB2N8.%K/4\< MT?B-G#O2S6+Z+- [8_R;^,O. 7GSQ+-QO\?9-[:\-EC(57S9A%TF3KP3>RF5 MJT\P[8-S<-()=V OFK5@_)(FV>1JM.";G$5;B[^=I-$:__OL1:'L>@V2_$W< M<;U-V-F]K&78J^'A"D3Z"YW#R]V]-"=XH/M?Z.XU+0WDV&!B\J+J;L->A.L# M.M.CPOHF9]'&%XY/H76K?OLYH'=6Q7'X/=?PWVOX[S6D=$XOO8Y?9I*J2<=X M+ZP^I&OXZO1D.=Z',65%.F6C_J6>EOC1FLGF?ZG(5G*%S'0 +B2DV!&O>0U% M-BE=C/+;7/@AG>BMG=+U*F'-NLS(KF5EXIS_1=CA/?W4E..+% W!L[F"S\+2UX$;4?V]=A. M)-$R7=XV=_EHGNBL,1_PYYZL./BZKCAM.5E5JTU46]X>?<'WK M;B,NW*(K&PC?O6"*J;_%@C36:4!22VF=\KN,H>XQA@N%ZB9D7\O-"E+71#,L MBS_2"B*R[@R$&9N!(I@N0WL[6RD.8ZMW+[,G3;:\!8:D(V%1LR!-\B7F&@@= MM_N; WL!43NB&;_1,C1*2\Y)ITU[ _)#&.!X6G73;8M+U'M+_&.B6UZ^@N8TZG4=NIR#JCM839 M@FW;) (&D=&2(SQCTW"@L4W3[Z\OD%!_9H^U@;!6J1=G$?6O!?\LLAQK:L+H M \7)!HFI= #TD"XRQ8GG& -%=&5OT#I)T0OR(R_+PG5(G1WEGU?>)P?2HY:T M@6#O\/N)@AL4PP\Y5E\R?<)56<1@"%?W +"XIL#';XLTA=W3\ $9&4S['3;0 M!6_+JB0AF6\E#QAWS8V>F&AC3RA?KL?!5$]UUZ8Y4KKMJ'U: J/K^O,$"&,) MGHZC12B6'-F-"V90_1JGL7ADA,ETW&4W 5(Z3 MVAU'X!CVHR32.QZN-P5A3:P8.([1,90F4Q(_-%G& R_Z%\0;%/G;:U85"'F/@(SL:8&O6+4#=&*U-RAP @@G&U.+! MGD1&?<[@:3>?I7EKX_!;LVGXY=>O0 <;0:V=K/B"P>TD.=][.VP #P\4A4"#J/J4PT3*@GKUP M!$3-+&=M9G+6WWZU>3S69K5>(-"HW-0ZLH'!&VT&6]F:(7XW,?@\KFLS^&*S MEO@=8-6IRD0TGI%7=7<7ND#V]+-6B7[ MZ6'\D.U)#OUE4\=P8 HD>LX%)R-\LP4E&I#&4=Z.0^8M?GJ*)G(<5N"F#Y4 M!:OS0((RP4PBQ#D>D,(E')EH=S[F)ES%,/;#*"P32[^]?EDLGOOA;_1W0@^K MI"::F\?5W>+9PZ%*6Y2'OA==[5*SVZ6VL#_?DAQ87P&$W^JSOOJ 31P>DB)5J]RBL9(E!R*P]S$& M3GP(F-TL8USJ<)70@H=-3.ER79O_<_@I"^&IX!H2QBUD[ @JX7[A_[L(,_H^ MXA]3)+X<\GD3'] O"3S+SVFR2;W=#E#(OP6,E$ =1Y6R_%GCB2<(6HT():<# M7QWBWQ<'J\<)," 1E=MH4" EF5MX8VG&SF> MYCB*RQ:O]/H3-L$\0 M^YGSK$QH9W&\6R_#77_P/S@__-V+2(!#?NNEZ0&.O SP;F2A#]*H&1Z^/WSW MG0)-FP#Z:^B]A1$MFAL'_%J)G1#W9HZ[T K.>>'[N$1M]NP=L-Q4CW0*5$K- M3/"Z=.X45!W2$U*FF_"I7<#G%*T1@$?OJXML1\IKJSL($@("3HM[K*.\?Z;? M.P'K&!8K*)/@+O2"XZ[:!Y12C^ >NP$UG_L^IPGH\OD!5R+"NA.F =)!$.C; M,2 ES'BY)RIRO/F*O Q5@P]/2>P[>:;J-S>)&8S9#2"EC+D57]7PYK;=P@$@ MQW#D%=J!9N>EA[(T5"GSTVX&BSQ/P[BWBU6X K7:GFXI3.#_[,;[U]F'N12T6[AC8 M4NX-FL,>0"W-;Y7IEJT1_LD)D,?PO>*L?ND:Q:K=3 M^/#VK^J/3@#.OZJ/<>[%&TS3= PHNW5^U^ :NP&L3/OM,5^&*.4&G(JBE%KE MTZ: J5,X4+[1%>=N<^S^7?Y/)T#FW^6[TOA<6P+J*WTV(+:D8L:]_;,V=">J M[L"2_OM%'3ICC&U5T97*!$%MKKDRFHH*2;^.IFR:#0#)]V[%-L57@#'09(\I MIJN9?7?9@PWS&R&CN;9]U-HTT['+W#5KI'$J9CMKA;3,G&+N61*Y7=F/D6"& MN>ZAKD7E$F-/)Y1F]-U^7)O2J=80;3.ID^ M3.:NV6.-;7V$&Y()EOXZMMT8,2N33+($F(%G40&6_AR#UU[1<\CA!FJSS0DU M"LY!MF@CGVA2P)3[_W@"IW2FV<:ORF(.;[2Q[3<6<.9^ZX]-7G6Q3XIWQ86S M#%;CE7N7$G3IMKBB#B MW.TFI1M;R-H^#K@*6P1K_ 32&%Z*U@TA=0U_L"2G3E%PX%/!\1)529H:+ MI9[%46#3J_40QC@S\C;)NB[55OCX[U7 O@J&1Y<8;-,>AQURAAOGZ ,J$K+S M_FC;&"(SA;C^8[9#LK7WGR", MPZV'0TD/)&\K$[++ZK$]7'6'+7FPI\DK&A7,+3@G+Q'++0VWU-ENN^B=NQ7!DEB(G9;LFDZ;:)Y$=]=G#* M>)-9&0 S:F6>;S0?.S%\-7@1$ZV1YKR[0^FE[^!MC;BV*#5$5'T&Q".I>IS! MDQ+JQIPS$"\(,9[[HPQ:YOE*$<W LL4Q+8K[)DEKF0"XD"P(ZP$$\RZ[X7 MR/9\/SY_DG/^*T:XBVV.+,86^S$]'2-$]V%WR@BM$\95Z<09R<4@ZE9+?2B#KBO.#5'DWD*=))UK% MPP:\Y!/L^TZ4,5=OT,LEH* MTDU*6VY3$0'G.64"^AEA+3U9_I",9(:I1-P95UU&\=$=%ZEI=WCF7"Q8&Q5' M?)F5R#N* 6EC[YAO[1.)-L^USFKR'@(.;P[<,A_[6X0_1=^ MIR;/^T]_"XH7>H'COU^OD<_VX&D@WBG4<@![C-\!GW**\@[DRJR2LG<7-\.; MA1:;/<0H?'';U@_'U EKV1'SUCJ%VHG9T4W93 ]109B<#?W$N4"D<0R)]K3"\[PP M GX!>V+%"B,Y N_U (= M1M-*%L3Y=BX1XK&Z3"_9FE0&A7]OX8]ABR)^=!83BN0 @U0GXZ5X1T'# XQAN68.>)_,5IU4 1 M#4-1;UB;ML;(7R\3(V7QMTHB81:!:PPY;AO=1R.IOD^TK$P?*VY;_HZ^3/WV M1=\[;9,9C0Y^B>4&,TYK>,==GZ;4*0LQ;C2+F1HQPNI\#7+T>ZZ<+"Q*$QW# MF"G5!4R6)Z^#'9A M 88;;IR>KL8HWO+"3=A&]D+C/EJ9,]:P!S9:T1DL*^% M^@*VG:1 'U<[2=8")AF8+(:$Q]B)<8" MBBTOOZ^B(@D$XP($.A",6L)< B/'Y<\\%,Y@XW2F[%$6DIKJ*A-3VQCG[Y#@ M1JQB27J@R*7+/"_EZ>;:&\WA767B8HYOLN*)'WC1I(][?X;Q$J=\MRCG29=, M,UC.0>#=9,(BFF'\M6"Z)X4O VO&Q*_ $8[#X6,P?C$K[KZ25U#*#U16F?@0 M=9QXPU/3F&TV XOMDF,>"'^\R6H7"NXT)C1*4RT"3,TKI@BJTF(6 <_Q=BE" MRYYM$7@#MY4FQ1HO9:_G>E*$3K"$18 */$DZY,ECN),MNI MD4SG])'0;2CC6#;IY$@:S.[-:?<7&IWHYH"O;P[7G5E4*) ^%V3Y7).5()4) MEF-)4%[ T:?@%3.2]+!<5Y[%ME/1*IZOTN*\%^G+'D_*R3K&RW6![W3>E#OK MY)4"K*V.I(*9H9V&/\4^0$IZU0.%3K*A[>61],=VPDRUO.M%_CJ0[*E/ M\"_) 3 1#LG=C3AG?8!Q$"SP,@+% QK"K1_";#G<+./:"UH7<3#LS,Y(.W,: M!^T'[@ZMX14+V@$RO9O>1\-?S@4-K9#"!![UUN#ZV>MUZOOK^?$ZN.Y)2EYV M,G.U]6+1:W]V$@X9^@K7/CT(:/Y[6XV)$DA93FG&Z(FC ?1DYV$\@-9\DWHF M3S;F*8Z<\>9B8+5D72946DM,'76B)*),,UC]7EQ+97@KU!>9APAKR'9<1JZ]A,J-$)L,QST<^S^Q%4A3/^)=*;0&S M\@M?_.)+,=PY9V%6_9K$FQ5*=ZY848=B0L<=)JH9#W_%?T#D3>X7D>=\A=/F M5C:N"+^M;R;N"9B^J-ZO 6@WF-Y7" MZ6@X+8UV=6]W?;/U=3??5M;5+#/N(\N^"ZR7ECG2&"EHD363.'16L.W5ZJGN MN 'W1QA%U;'T._4.GK#NQU:]9 ]A#!]^#=^)I:NS3TY8IV"&BU&M#*CO/\MB M5=5!L]# A)TQTRED3$H-K0!)66\GFZMMCB60TV+F1,^ $GWT.;]XDHW B,*= MI=,,YA^J4^H@Z5!AJC6 \7BM$FB);#,3R"%X=6PO&Z7:-7;=+M83$^0Z ^KJ9/Y.CC0(5(1=%$=J[$> MCY-Q)!Z 0_8S&&G3MCFTI@H+>[J5A=5XWG'1%'L99*=-_3-*265"7)2PR$M0 MGHH=-L8D*:D)AV 1@ W_2FN;WGA9Z)-J<5$!S)2Y'N &5\JPBJUV-KK(:20* MCC1;)<\>-GJ7 +$83F>N2PSU%[(_>+W?X4@W"([V#:7+=0DJ.:ML6>09//OX M,K+?&9\ZF[RHK+M)9G4QV-2W+(M'+=(45]7;H79_,P<0=@R55&QN&?YIVP M(/R')*9E1J6#K9)%AUML&&N?@@>!7YQYU WV@OS(R[)P'?HT\V7H-G;#I3 6 M17T$X(*F0N*@RY;1O[0+R1!GCO@*+A_"_/ LTI.:$Z@K-.?AW$!\EM9O[2^F2UX[C_SU -V'<8X/A)6)F&= M./,JB2(28-7-9VKR^2LT>&D,X^J5Z7"R=KM>T:#;CE/2Q8D06WT=KU>,6]+% MB9'6\QH<(X1< +;46F(-(T>O**3L[W6/L1>Y=-X(Q6\SE?>Q4J7A)U/CB\#LISE76)\E/\OS>@0/KG M__5'V.W?O/T^!(D?_ZG\0QPGU(=-_H;_A&BFT'^$0;7#3I9T/]P)OAD1?O2[ M_XB]'2!.>3C%,Z:1\&^X[#(P,?A@!7_]W7]DQ5N6ASDI>_ E38I]-;!\^,C/ M>Z(\KL@R05$U*(K#*,)V^+__+D]Q(6L/5L+5(,K?_\@'=/61K+9)D7EQL/J M3PXK.'74JH&3_8RP<;B"5'T\!34 XL$_97\+DIT7QH;!?8:W)\RR)#V0>"[< M< H%)'R!)NZ5S@MN1:#ZQ"=8J$T+NR1&>?G*S8B>M1<11D@FOWD1;K;U]]_Y MI/V9"&UWB5^4>:3W\'#G[82ZP650'&S=5>#Q+PH5[U.'3O$V"N'W>V!-,4(8 MX:\H?0]]U+OBTF%6WNP!8UK&.FR,,]I*4)]1ZF-W[ 8MUT\H?T'O*"Y0!IPX M*3;;QS@(01K(;[?PT*&HX5B:L_J@[^G\D]"V 'AUN:-\FI7'.W23)1E@*^*3 M1Y_Y342Z)Y>8T)O4/_^\^L@T!3!3*;.[ O2IP;5^2(H4]_CL__T54W^/[4V] MK)6\@[39C&$T>:*?@;W[X=Z+.G$PY3.N,'+B*Q/&>.E<_\8$Z$U\87Y)T@A7 M?=NDWFX'6^\>/>]3*T]0O]X:!5)_GBVG*^>'M$ES[8K"%42\''6]._5O5-#, ML%\H13DJ2Z%D-!:YPM:4*UKSL$BO2??.MS@B_1$7F,%HJ)E!%V=C9[M#9ZV. MM]WD?A(6AZM\TA"J6N92'M_1ALC?3H$! :A/M_]=!#1^K\LL&1]8R2=UW_/C MI &K4<&KA3,4$>4#71 +R5G]5Q(%P'1:O <[8;)O,?SU-DS]8H\!J9/%&C$!S@5F%L][_N_"B?X"F M1WQ%<$915,8YEYQ,.JX-9 AJXP;4)L-DWBY=_)JL\P\/![:P[#@J(ZTDTZKH M.CR3;SBE#):C_L(-%2NR,"A]AC][Z;]6"?X_REL:?H6!"1:R1G93, I@>:(1 M,TI]IOE#5UA3'>T0 DII2U,X.[%L-HT13.AOZK!RI:$6,_-CG?&E\GOD*@[= M@M*P6T59X,6R=E7X+GFHCK:80JJ27SBV!,M@+3M^6X\4; M-=4:6I"J\]+#'?CN=&98Y\![\,*4=&.NRWCXR28.?\/APQ0\T0AWCE6O[4W' M^J\JCF+P@3O<9I7DC2[=(U#61U8>#3SL/MJW SP&YB_.YW:"XV7;9R\,.GH< ML(B7NOI]1ZFKH=2=9HU\("?3)8DO7R7UHQ $(8TX[_E>EFMBX%PEC_ XAO!Q M.:&FA2E6\>=K'# . > M&.V_5X'A7&NA=*8U3$&J-+PB'Z3?X)9< IXD*1QCY7$WAFW&#>5\:"4@:CTF MR^ $I;'N\%UJ:*V5\T%:^7*]0KM]D@( \!2!)N#A:AY8D\L/]5D?M89U[G<< MA[E!C_$S; 6[8ZF.3HH&/B=1Z!\&OEN=&?8Z<4N#'*[9/\Z4IS/3&NZMH'DT M00<@I)(XPQRAF-(OZ%3P:_A.> WT%EQGI7R[<@P>?O#X3N2-#5V8+[!DZ^[J!@YV4I$C(YY@T.?*'JNM9+M M**+*!O]B=#ZV$ACL\<:B\I(3^D0ZEK$BI2IPCUC &K%;:C1Y3CXPS>Y Q.C% MU@T_L/*8J7$6>_"W* J6\0W:>M%ZN:Z8%/8"/Q38+UIQJEK$'#'3G8/5Z?!7 M,GN-&>[@ =_BHUB R]=?P3#%-("K&,FMY@I',?ZS9_H,CPX[ID1AH)7'W[4) MU?GOBE+OV-E6HJ)NM4DL!12J;)=G6#:M?)W43$X<)-AM0G"( M@XRB=M3DF)EM\"W)G-&/92 ZZD<*NTIK/\.QJ[CCE0/"]A$*2+T^+G=OYY&W MBR-IS[2&%\H]Z9PDR46YL"R9LAG7X1$V1%"OMF@5X@H(<-F] RZS>(>P:3,< M%M!1&&DOEQ_D/96-,. *^ZAJ3B;.E&+/Z(.\+S\QS/O[F?D[^,!\; M!8867LS\+=IY__O_ U!+ P04 " #2@Z)8+1$;.=(' @+ #P &%L M='(M97@S,5\Q+FAT;>U:;5,;.1+^OK]"MZG=@BK;V+QL;6PN55[B['*U!SDP M5;F/\DR/K4,SFI4T-KY??T]+8VR,28#+"TG(!\B,6MVM[D=/M\0<3GRN7_T@ M#B.*['55@_' 'HT&J7,AD MIO!-I_Y+W4Z[]+UHI^E-V6WWPE@F/KPF#P:@$\J(&<7?P[. M16=/-CO[6W);]$]>B\Y!6C]=G+P>G(GA'P-Q/CBZ.#L>'D-X\.[HC_[)[P/1 M/QJ*TS>B\W)OO_&]QJ]_+OJO3]\.!Z]7T<3A"@C;:^]RB$($^V>_]4\&Y\W3 M=W\._KT(WFZ[O?OPV+U\_';4E'TA]CMNB'](%CUKB?-$EK(A$K)>97/A)])W MORI&_"HST&F)8S&14Q*6IHIFE"+RRHF_*FFQI?0<[[EV"U.(-\;FHM-N_DN8 M3/2UE\J*08$U$5G4='%<)*W><\H^]3IW6^(WZ9 HI"2?B\O"S#2E8VK$S-7Y M2@V4%<8+GBA5(60Q%U7A;45P5WK*H8T3*46.)ZND%IE,\,H*DZ,C\2;*W1(H M*"'GI)VS2"XO"797=#J\2^$,3&KF5;;! HFR295#K,!T>)*2%0A1,A&NXA_+ M^3.R5"OA!>3*:328C+"9\A,LT)64! =9;PG73(IE3C$M%:/Y:AB>X?C)U[GW M'CB2R%2!A#-VE@EN (L0Q[!=&5=%!GZ17D&/*A)=I= )$*UDLP$ *N8D^.\8 MO@QKK9?XK*'AUDS#V52QX@9+5!H" *4!&[AS"UOG['WR=>YWQ+#&XGZ^<75;KOSLN=J>-7=!'.'R3*% MQY##8R$M!;0@^VJDB;,J"! =:>4F+,YB.7B3N9.?4^42;5R%>6S?&AUA4UJ3 M4(K73FP!)2D!=A$*@ZMD(HLQB3[(ZJS2D A-]<$6;8>IH:GFI_BHN(Q#0GN )YBMU6CCA'6W6OM[>W]M&[N:X

C-@F%$,!?WJL_)GUOL#24[!>S/5MS/!QO&[;PLAF9#Z [+A@FR2I+$-CI3IN M4IL;YS' UZ90YA)HJB]\Q-9=JI;X1O#_<&CCV7A)C)=[)G& MDM.88E=1NZ0WAMT#NHE;7>O2-XG6U1OKKBMX> &=>:Z\IP#P3?-&!@T"#Z8* MW@4-6P VV-IQ-OOD8_!B\44,B' M83Y6)XH F[KH7Y^!9B0ON8K'_BS4\=!9A@O3Q572@\!8'U?B5<0&!I0I)CJZ M)L"[@5LWI)@# *)O;,1>PJ&1<%6.V"-,835U\=EXZ_94R?';QR%.1WVT YD% MX32 "@HD"5R%Z^\:@(U82E4Q-7I*7$\+.:YO\6W-JY27VLP)H[.)B60J;\ ; M1,F/K2N_4>NZ^<7G5_:=Y[?/M/B/E,*=]S.VE]^U];M MPRF\=FH$2B,;_.!OA[ ('FUJ.<:]&R=-1U\2!. M\8,C*+<+S7P)$,FSNY"NA2"57F<\Z.ZTH9H_2?)I5+/C[;J^Q<=+')B-P9O! MM>8(='_9#3^;_&*#R7H)(;^M@Q+YX9NTQ>=3]?LV?R0UY5X*+7F=U)CH:\'P M:=-"%,X_03S=!9([\?%Y,O ]A?IHHB@3@RM**KZL$*>Q*7^.^4>C2Q;O*@]- MR9U9V'H;K_%09V^E8OM]N,1$]TZUZLJ+WHX+)[:U\/]MN_?(2>^(_E>.3]L),$&M2D=[X MMG9BEQMP3'&C-F6&5K K]4S.7=BJASO\?>^K'PYWPI?!_P-02P,$% @ MTH.B6$?54-/R!P FR\ \ !A;'1R+65X,S%?,BYH=&WM6FU3&SD2_KZ_ M0KNIW8(JV_@%[A*;2Y4#SBU5NY #4Y7[*,]H/%HTHUE)8^/[]?>T-(,-F,1A MPT((?+"94:O5ZG[4_4C6?NHR]?8'MI\*'N.;[3OIE'@[^MCL=5K=_9WP"(&= M2F)_HN,%LVZAQ+]^RKB9RKS/>.GTCS(KM'$\=X."Q[',IWWVNK@<_.35QG)V MU4GFS53(:>KZ'9FC?7\'K5ZJJ&42G;NFE?\3_4Z[<(,P3M/IHM\>^+:$9U(M M^F.9"!$.Z-S0BC4;]ZW$BK;3IOVK[O\$\ ME4XT;<$CT2^,:,X-+P8W3/GDZ!AZ+F.7]A/IFA$D14Y#CBY3.9&.!9>2AL>P M@M5#[Q2;.KOS^G-CW>WO"*,*'[+.7EP]G1\?CD[9 M^-<1.QL=G)\>C8\@//IX\.OP^-\C-CP8LY/WK/.FM]OX7OTW/&/#PY,/X]'A M*IK(71YAO7:77.0].#Q]-SP>G35//OXV^F_MO&Z[W?URW[VY_W)4(GFD['?4 M8+]SYU((OC-ZGC=8)(R3R8*YE+O^-Y40O\D =%KLB*5\)I@1,RGF(H;GI65_ MEMQ@1:D%WE/I9CIG[[7)6*?=_ _3"1LJQZ5AHQQS$L*@I+.C/&H-7D+VT//L MMM@[;A$HA"1;L(M/Y@I6Y,Z6 N=R)#-HH MD)QE>#*2*Y;P"*\,TQD(B=-![I9 +B)A+3<+$LGXA<"X*SHMWL4P!D,J2JLT M!@E$TD1E!K$('C@\^S]PDX"I;(' $G["P#W 6(8YFL](N\P3Y MA3L)/3*/5!E#)T"T$LT& "@I)\%^2_ E6"NUQ&<%#7MC:!@;2U+<((E200"@ MU$".'\YZ>R)N4Y8H/;P\^S]T6 M&U\+U"^O+KOMSIN!K>!5L0G*'3I))!Y]#(\8-\*C!=&7$R4HJDP HA,E;4KB M))8A;U+NI.=8VDAI6Z(?C6^T"K IC(Y$C->6;0$EL0#L A1&EU'*\ZE@0R2K MTU)!PG/JO2VQ[;MZ3DU/X5$2A1/; MD" &\!395H4Z0EB_U^KU>C_?'.Y;AS!V5(?"P@;$TA?"SP.M034ZXJ7=O L5 MRXD :*J10OG5I8$"Y+&9M#X[0DKD7@_1[V5>7ID:) M' M;K%8RYLX;.K$REMQ(FH ,+,%7BYPTE98JMU^TUI=YGTNU%3#((7=3IP*4 M5$:EXE0","UOQ)(!H$?@$ZLT"/]-! DB9N@OXJ>8E9\_RB%D=-E[J2 \S&=,*YE;GG,H@MUC]Q-!I67,3UTL,BU[RB532 M89$FWZN/U]5BRK,^"?G\$E(D^.,ZWAM(QF4%WZ(T!?*;]20VBK2)O=\I]WVO M_IV*')1<(;O#(:*@LD&>P:XU9'"4%UF WKSD\,>8>K3-1C.N2E_."?(B2;#9 MDC-$S:[9-"VY^ ;\)#RNWTCYY(6.X!8V;-@U6$6-_&#!UW5=LBW[(>F9OON3PAUE%4&H+& M"OM%B#UW\BZI"OR"*7DA5'5R=T.^\=>]]%27PC/#_=Z]CSW\27]< MKYG&,J=1BEU%[3*]$>R^@*W?VA4N;>/8&CIM[!5G\B^@,\ND<\(#?%V_B083 MI<98PCJO80O 1K:V5 WP3;O3>CV*/TL)X_W2*_/('_!MOYQM/-+9QE"! <,* M"13281,=6T52 #95T;\Z8Y@+?D%5/#!B7\?]%L;_(%$?U7X1&*OC@'#4MR8# M\A@=K;A*@'<#M]KYH \ "*;>"%S"@DC8,H/OX28_FZKXK#W5?JK)\?GC< (< M@@XD!@FG 50(GR2!*__S4@7 1BBE,I]I-1-43W,^K7XE,U5>%5FA]$*@=9[J MD$SY-7@#CE^';[2>#E"D6%P),K4W%%Z#D4'0IXD%0NKO7 M:O\\J.1AN>*%%7T;=LDB7/V"FL.ZY@3)X:+O/YOT8LVHU:6UL*]NM>EJVHQ*+)A: M!>Y,QK$2]>VVIK]05HO"T(>\^[)N7:V=[5T!_^55YQ_MP4K4-_)K^^&=BI8: M0/7$6_]$,)D_5F;U0G@J3M]@>=X5@AV[<_TBS!.,1G##<_#VBZ?_+D\?I%(D M[/U5?3L)NY$7GW\U8D3B?>F@*;HS"EL?PM$I G K%-N?B@6^J;P_Z\WT[WS! MN@W6;7=W;Q"?E7OIB1*7S;#]!),G@E)F^0 ;Z0+,IT^M@Y6KZ^W6:X+-'Z6E M77@]EA=KBCR^=JT]-4N,3D7 Z"J0XL0.T8.>0TC3H.!V$)D'J?=QXUWBOZUUWO2;)_?J; M]4N %"@@6L)=4$1D[^R\//.R,[$[L4G$X1OHQ(Q0_(:.X4:PP_YG9Z?=]#JM M\A()6A5%9Z+H'#(S%^RWC83H"RY](+E1O_ D5=H0:8*44,KEA0_[Z2S8*-A2 M?KG8Q*43,WX1&]_C$M<[+5PMJ-*:)E+2.!G_A_F>FYJ@E.,8E?IN4*Q%).%B M[H]YPC(X95,8JH3(FG"BC%&)OX];#9L9APA^(7UM95IYED,M*51":7_3+?Z" M:\0I3+]5,"G98A,E*#/87NO/QP?'QWWNN/CP2F< MG0]'Y]W3,8P'C\?D,2&XNH!X^W#>'#5[31CU>P4HWLZ>VX#N"+H?!V?C_L'IV"1:] M4#$[EH 7DH6&*PE3;F(P,8-/.='H.#&'(;,G :@(NL(0KJ$OT0K&-!X*<"S# M)FS9#6\W9VW7"X.>2E(BY^4E#;8;@&R/E$[ [X=$&RNJU9EEH8+QF$!/U4J-N --=9C@>IW7^5IF\WO7?O@RI+T5Y"56I0 MB>O4%8V-UDJE$=$3(EGF#&:"S:$;%GZQT6K-(<9_5*(T'AN%9#L9H:)VU1%DKG*#W&:8 MEB7GW;VF^VM0T:-?!$DSYFA/5HY3R%S7G"]YAJ.%X&;NU]05$5+1A>$% M;\]%UG;@,K1DTS)ZF=^M$$U1'6>B&?GB%_\=>^,6,=7D5S: 3=?.=Y?V+ R) MJ+R2<$H%JT=$IYC):E+4[):0<)M[S]19/C@B'NSG>Y&LA]QVLVTM6#E@GZUC M?R% M8L_ZC2NV[_,%?MM6:34;1J^][AA7KV-\[8W-NF%<-XPK4^+O:QA/B#$QROZ@ MU52NH#=>WX%Z%]IKI']NNWBT^(5MW2Z^<+OXC2O6[>*/?PC[DOV7GN')!)LYE"NRT3O/+./Y&I!!8W#)+WQ M_DFLK[+O@I59ZI#(,.T3,27SK,C33LN^ W/XIM,JWI[Y%U!+ 0(4 Q0 ( M -*#HEBQ8G0BE)\! %D9'0 1 " 0 !A;'1R+3(P,C0P M,S,Q+FAT;5!+ 0(4 Q0 ( -*#HEB%%6:]R$8! (.\$P 1 M " <.? 0!A;'1R+3(P,C0P,S,Q+GAS9%!+ 0(4 Q0 ( -*#HE@M$1LY MT@< " L / " ;KF @!A;'1R+65X,S%?,2YH=&U02P$" M% ,4 " #2@Z)81]50T_(' ";+P #P @ &Y[@( 86QT M#,Q7S(N:'1M4$L! A0#% @ TH.B6/1!'7/B! 1", \ M ( !V/8" &%L='(M97@S,E\Q+FAT;5!+!08 !0 % #4! #G %^P( ! end XML 78 altr-20240331_htm.xml IDEA: XBRL DOCUMENT 0001701732 altr:AccountsReceivableNetCurrentMember 2024-03-31 0001701732 us-gaap:RestrictedStockUnitsRSUMember altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2023-12-31 0001701732 altr:TwentyNineteenCreditAgreementMember 2024-03-31 0001701732 srt:MaximumMember altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember us-gaap:CommonClassAMember 2024-03-31 0001701732 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001701732 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001701732 altr:SoftwareRelatedServicesMember 2023-01-01 2023-03-31 0001701732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001701732 us-gaap:OtherIntangibleAssetsMember 2023-12-31 0001701732 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourAndTwoThousandTwentySevenMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember 2024-01-01 2024-03-31 0001701732 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2023-12-31 0001701732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember 2024-01-01 2024-03-31 0001701732 altr:ClientEngineeringServicesSegmentMember 2024-01-01 2024-03-31 0001701732 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSharesMember 2023-01-01 2023-03-31 0001701732 us-gaap:RetainedEarningsMember 2023-12-31 0001701732 altr:ComputerEquipmentAndSoftwareMember 2024-03-31 0001701732 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0001701732 us-gaap:CommonClassBMember 2024-03-31 0001701732 altr:WorldProgrammingMember 2023-01-01 2023-03-31 0001701732 altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2023-12-31 0001701732 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-12-31 0001701732 us-gaap:MaintenanceMember 2024-01-01 2024-03-31 0001701732 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001701732 2024-01-01 2024-03-31 0001701732 us-gaap:BuildingAndBuildingImprovementsMember 2024-03-31 0001701732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001701732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001701732 us-gaap:RestrictedStockUnitsRSUMember altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2024-03-31 0001701732 altr:ProfessionalSoftwareServicesMember 2023-01-01 2023-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember 2019-06-30 0001701732 2022-12-31 0001701732 altr:TwoThousandTwentyOneAcquisitionsMember 2024-01-01 2024-03-31 0001701732 altr:OtherProductAndServiceMember 2024-01-01 2024-03-31 0001701732 us-gaap:TradeNamesMember 2023-12-31 0001701732 altr:ClientEngineeringServicesSegmentMember 2023-01-01 2023-03-31 0001701732 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-03-31 0001701732 altr:TermLicensesAndOtherSoftwareProductsMember 2023-01-01 2023-03-31 0001701732 us-gaap:AllOtherSegmentsMember 2024-01-01 2024-03-31 0001701732 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2024-01-01 2024-03-31 0001701732 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001701732 altr:ClientEngineeringServicesMember 2024-01-01 2024-03-31 0001701732 srt:MaximumMember us-gaap:OtherIntangibleAssetsMember 2024-01-01 2024-03-31 0001701732 altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001701732 us-gaap:AllOtherSegmentsMember 2023-01-01 2023-03-31 0001701732 srt:MaximumMember us-gaap:DevelopedTechnologyRightsMember 2023-01-01 2023-12-31 0001701732 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001701732 altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2024-03-31 0001701732 srt:MinimumMember us-gaap:DevelopedTechnologyRightsMember 2023-01-01 2023-12-31 0001701732 us-gaap:LandMember 2023-12-31 0001701732 2024-04-01 2024-03-31 0001701732 altr:SecuredCreditAgreementMember 2024-03-31 0001701732 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-12-31 0001701732 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001701732 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2024-01-01 2024-03-31 0001701732 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2023-01-01 2023-12-31 0001701732 us-gaap:CommonClassBMember 2023-12-31 0001701732 us-gaap:CommonClassAMember 2024-04-17 0001701732 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-03-31 0001701732 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0001701732 altr:PerpetualLicensesMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember 2023-12-31 0001701732 us-gaap:CustomerRelationshipsMember 2023-12-31 0001701732 altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2024-01-01 2024-03-31 0001701732 us-gaap:AccumulatedTranslationAdjustmentMember 2024-01-01 2024-03-31 0001701732 altr:TwoThousandAndSeventeenEquityIncentivePlanMember us-gaap:CommonStockMember 2024-03-31 0001701732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001701732 srt:MaximumMember us-gaap:DevelopedTechnologyRightsMember 2024-01-01 2024-03-31 0001701732 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-03-31 0001701732 altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2023-01-01 2023-12-31 0001701732 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001701732 us-gaap:LicenseMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember us-gaap:CommonClassAMember 2019-06-01 2019-06-30 0001701732 altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember altr:TheTimingOfPayrollDeductionsMember 2023-01-01 2023-12-31 0001701732 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-03-31 0001701732 altr:SoftwareSegmentMember 2023-01-01 2023-03-31 0001701732 altr:TotalSoftwareMember 2024-01-01 2024-03-31 0001701732 us-gaap:OtherIntangibleAssetsMember 2024-03-31 0001701732 us-gaap:CommonClassAMember 2024-03-31 0001701732 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001701732 2023-01-01 2023-03-31 0001701732 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001701732 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-12-31 0001701732 us-gaap:CommonClassBMember 2024-04-17 0001701732 us-gaap:RestrictedStockUnitsRSUMember altr:TwoThousandAndSeventeenEquityIncentivePlanMember 2024-01-01 2024-03-31 0001701732 altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember 2023-01-01 2023-12-31 0001701732 us-gaap:RetainedEarningsMember 2023-03-31 0001701732 altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember altr:TheTimingOfPayrollDeductionsMember 2024-01-01 2024-03-31 0001701732 srt:MinimumMember us-gaap:OtherIntangibleAssetsMember 2023-01-01 2023-12-31 0001701732 altr:ProfessionalSoftwareServicesMember 2024-01-01 2024-03-31 0001701732 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2024-03-31 0001701732 2024-03-31 0001701732 altr:EngineeringServicesAndOtherMember 2024-01-01 2024-03-31 0001701732 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2023-01-01 2023-12-31 0001701732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001701732 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001701732 us-gaap:DevelopedTechnologyRightsMember 2024-03-31 0001701732 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-12-31 0001701732 altr:ConvertibleSharesMember 2024-01-01 2024-03-31 0001701732 us-gaap:CustomerRelationshipsMember 2024-03-31 0001701732 2023-03-31 0001701732 altr:MaintenanceAndOtherServicesMember 2024-01-01 2024-03-31 0001701732 us-gaap:RetainedEarningsMember 2022-12-31 0001701732 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-03-31 0001701732 us-gaap:OtherNoncurrentAssetsMember 2023-12-31 0001701732 us-gaap:LeaseholdImprovementsMember 2024-03-31 0001701732 2023-12-31 0001701732 srt:MaximumMember us-gaap:OtherIntangibleAssetsMember 2023-01-01 2023-12-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember 2022-06-01 2022-06-30 0001701732 us-gaap:RetainedEarningsMember 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember 2023-12-31 0001701732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-12-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember 2019-06-01 2019-06-30 0001701732 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2024-03-31 0001701732 altr:OtherProductAndServiceMember 2023-01-01 2023-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember us-gaap:CommonClassAMember 2019-06-30 0001701732 altr:EmployeeStockOptionAndEmployeeStockPurchasePlanMember 2024-01-01 2024-03-31 0001701732 altr:TwentyNineteenCreditAgreementMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourMember 2024-03-31 0001701732 altr:MaintenanceAndOtherServicesMember 2023-01-01 2023-03-31 0001701732 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2024-03-31 0001701732 us-gaap:CommonClassAMember 2023-12-31 0001701732 altr:ClientEngineeringServicesMember 2023-01-01 2023-03-31 0001701732 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-03-31 0001701732 us-gaap:LandMember 2024-03-31 0001701732 altr:FurnitureEquipmentAndOtherMember 2024-03-31 0001701732 altr:TermLicensesAndOtherSoftwareProductsMember 2024-01-01 2024-03-31 0001701732 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember 2024-03-31 0001701732 srt:MaximumMember altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember us-gaap:CommonStockMember 2024-03-31 0001701732 altr:TwoThousandAndSeventeenEquityIncentivePlanMember us-gaap:CommonClassAMember 2017-09-27 0001701732 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001701732 altr:TotalSoftwareMember 2023-01-01 2023-03-31 0001701732 us-gaap:MaintenanceMember 2023-01-01 2023-03-31 0001701732 altr:SoftwareSegmentMember 2024-01-01 2024-03-31 0001701732 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-12-31 0001701732 altr:TwoThousandAndTwentyOneEmployeeStockPurchasePlanMember 2024-01-01 2024-03-31 0001701732 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001701732 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2023-12-31 0001701732 altr:AccountsReceivableNetCurrentMember 2023-12-31 0001701732 us-gaap:LicenseMember 2023-01-01 2023-03-31 0001701732 altr:PerpetualLicensesMember 2023-01-01 2023-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember us-gaap:CommonClassAMember 2024-03-31 0001701732 altr:EngineeringServicesAndOtherMember 2023-01-01 2023-03-31 0001701732 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2024-03-31 0001701732 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001701732 us-gaap:AccumulatedTranslationAdjustmentMember 2024-03-31 0001701732 altr:SoftwareRelatedServicesMember 2024-01-01 2024-03-31 0001701732 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001701732 us-gaap:CostOfSalesMember 2024-01-01 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentySevenMember 2022-06-30 0001701732 altr:EmployeeStockOptionAndEmployeeStockPurchasePlanMember 2023-01-01 2023-03-31 0001701732 srt:MinimumMember us-gaap:OtherIntangibleAssetsMember 2024-01-01 2024-03-31 0001701732 us-gaap:TradeNamesMember 2024-03-31 0001701732 altr:ConvertibleSeniorNotesDueInTwoThousandTwentyFourAndTwoThousandTwentySevenMember 2023-01-01 2023-03-31 0001701732 srt:MinimumMember us-gaap:DevelopedTechnologyRightsMember 2024-01-01 2024-03-31 0001701732 altr:FurnitureEquipmentAndOtherMember 2023-12-31 0001701732 altr:ComputerEquipmentAndSoftwareMember 2023-12-31 0001701732 us-gaap:OtherNoncurrentAssetsMember 2024-03-31 altr:Segment pure iso4217:USD shares shares altr:Installment iso4217:USD Q1 false 0001701732 --12-31 10-Q true 2024-03-31 2024 false 001-38263 ALTAIR ENGINEERING INC. DE 38-2591828 1820 East Big Beaver Road Troy MI 48083 248 614-2400 Class A Common Stock $0.0001 par value per share ALTR NASDAQ Yes Yes Large Accelerated Filer false false false 56948286 26084574 557605000 467459000 127870000 190461000 18898000 16650000 26026000 26053000 730399000 700623000 38837000 39803000 30175000 30759000 454953000 458125000 75357000 83550000 9699000 9955000 40491000 40678000 1379911000 1363493000 6522000 8995000 35911000 45081000 8330000 8825000 43820000 48398000 120554000 131356000 81617000 81455000 296754000 324110000 226223000 225929000 22508000 22625000 24385000 32347000 47113000 47151000 616983000 652162000 0.0001 0.0001 45000000 45000000 0 0 0 0 0 0 0.0001 0.0001 0.0001 0.0001 513797000 513797000 56912000 56912000 55240000 55240000 5000 5000 41203000 41203000 26084000 26084000 26814000 26814000 3000 3000 904180000 864135000 -113956000 -130503000 -27304000 -22309000 762928000 711331000 1379911000 1363493000 117707000 112409000 40722000 37234000 158429000 149643000 14483000 16391000 172912000 166034000 4490000 4824000 14166000 14426000 18656000 19250000 12237000 13485000 30893000 32735000 142019000 133299000 52333000 53251000 44434000 43492000 17761000 17951000 7438000 7814000 882000 -5605000 121084000 128113000 20935000 5186000 1576000 1526000 3957000 3613000 23316000 7273000 6769000 9232000 16547000 -1959000 0.2 -0.02 0.2 -0.02 82587000 80191000 89806000 80191000 16547000 -1959000 0 0 -5029000 7232000 0 0 -34000 -19000 -4995000 7251000 11552000 5292000 55240000 5000 26814000 3000 864135000 -130503000 -22309000 711331000 16547000 16547000 35000 75000 75000 64000 4127000 4127000 540000 19844000 19844000 303000 730000 -730000 15999000 15999000 -5029000 -5029000 -34000 -34000 56912000 5000 26084000 3000 904180000 -113956000 -27304000 762928000 52277000 5000 27745000 3000 721307000 -121577000 -30002000 569736000 -1959000 -1959000 34000 -91000 4256000 4256000 92000 3648000 3648000 265000 10324000 10324000 336000 240000 -240000 22161000 22161000 7232000 7232000 -19000 -19000 53153000 5000 27505000 3000 753184000 -123536000 -22751000 606905000 16547000 -1959000 9619000 9750000 15999000 22161000 145000 7006000 -580000 -640000 -60245000 -39872000 2679000 -1981000 -9000 1944000 -1667000 -5362000 -8503000 -12283000 -199000 2015000 -16646000 -2678000 73450000 59199000 2766000 1727000 -2000 1405000 -2764000 -3132000 19844000 9872000 2182000 1868000 0 6255000 0 -29000 22026000 5456000 -2592000 379000 90120000 61902000 467576000 316958000 557696000 378860000 46000 3000 2954000 4751000 277000 1559000 <div style="display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">1.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Organization and description of business</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Altair Engineering Inc. (“Altair” or the “Company”) is incorporated in the state of Delaware. The Company is a global leader in computational intelligence enabling organizations across broad industry segments to drive smarter decisions in an increasingly connected world. Altair delivers software and cloud solutions in the areas of simulation, high-performance computing (“HPC”), data analytics, and artificial intelligence (“AI”).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Altair’s products and services leverage computational science to drive innovation and intelligent decisions for a more connected, safe, and sustainable future. The Company is headquartered in Troy, Michigan.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of presentation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying unaudited consolidated financial statements have been prepared in accordance with United States generally accepted accounting principles (“GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial information. Accordingly, the accompanying statements do not include all the information and notes required by GAAP for complete financial statements. The accompanying unaudited consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements (and notes thereto) for the year ended December 31, 2023, included in the most recent Annual Report on Form 10-K filed with the SEC.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of estimates</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the financial statements and reported amounts of revenue and expenses during the reporting periods. On an ongoing basis, management evaluates its significant estimates including the stand alone selling price, or SSP, for each distinct performance obligation included in customer contracts with multiple performance obligations, valuation of acquired intangible assets in business combinations, the incremental borrowing rate used in the valuation of lease liabilities, the determination of the period of benefit for capitalized costs to obtain a contract, fair value of convertible senior notes, provision for credit loss, tax valuation allowances, liabilities for uncertain tax provisions, impairment of goodwill and intangible assets, useful lives of intangible assets, and stock-based compensation. Actual results could differ from those estimates.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Significant accounting policies</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There have been no material changes to our significant accounting policies as of and for the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report on Form 10-K for the year ended December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Change in Presentation of Revenue and Cost of Revenue</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (“FSLIs”) labeled “Software related services”, “Client engineering services” and “Other” into one FSLI labeled “Engineering services and other”. The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue, or total cost of revenue amounts previously reported or have any effect on segment reporting.</span></p></div> <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of presentation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying unaudited consolidated financial statements have been prepared in accordance with United States generally accepted accounting principles (“GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial information. Accordingly, the accompanying statements do not include all the information and notes required by GAAP for complete financial statements. The accompanying unaudited consolidated financial statements should be read in conjunction with the Company’s audited consolidated financial statements (and notes thereto) for the year ended December 31, 2023, included in the most recent Annual Report on Form 10-K filed with the SEC.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of estimates</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the financial statements and reported amounts of revenue and expenses during the reporting periods. On an ongoing basis, management evaluates its significant estimates including the stand alone selling price, or SSP, for each distinct performance obligation included in customer contracts with multiple performance obligations, valuation of acquired intangible assets in business combinations, the incremental borrowing rate used in the valuation of lease liabilities, the determination of the period of benefit for capitalized costs to obtain a contract, fair value of convertible senior notes, provision for credit loss, tax valuation allowances, liabilities for uncertain tax provisions, impairment of goodwill and intangible assets, useful lives of intangible assets, and stock-based compensation. Actual results could differ from those estimates.</span></p> <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Significant accounting policies</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There have been no material changes to our significant accounting policies as of and for the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report on Form 10-K for the year ended December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Change in Presentation of Revenue and Cost of Revenue</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Effective in the first quarter of 2024, the Company changed the presentation of revenue and cost of revenue in its Consolidated Statements of Operations to combine the financial statement line items (“FSLIs”) labeled “Software related services”, “Client engineering services” and “Other” into one FSLI labeled “Engineering services and other”. The change in presentation has been applied retrospectively and does not affect the software revenue, total revenue, software cost of revenue, or total cost of revenue amounts previously reported or have any effect on segment reporting.</span></p> <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">2.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Recent accounting guidance </span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting standards not yet adopted</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Reference Rate Reform</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – In March 2020, the FASB issued ASU 2020-04. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Reference Rate Reform (Topic 848) - Facilitation of the Effects of Reference Rate Reform on Financial Reporting. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This ASU provides optional expedients and exceptions for applying U.S. GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference LIBOR or another rate that is expected to be discontinued. In October 2022, the FASB Board voted to amend the sunset date of ASU 2020-04 to December 31, 2024. The Company is currently evaluating the impact of this new guidance on its consolidated financial statements and related disclosures and does not expect this guidance to have a material effect on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – In November 2023, the FASB issued ASU 2023-07 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting (Topic 280) - Improvements to Reportable Segment Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The update is intended to improve reportable segment disclosure requirements, primarily through enhanced disclosures about significant expenses. The ASU requires disclosures to include significant segment expenses that are regularly provided to the chief operating decision maker (CODM), a description of other segment items by reportable segment, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU also requires all annual disclosures currently required by Topic 280 to be included in interim periods. The update is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted, and requires retrospective application to all prior periods presented in the financial statements. The Company is currently evaluating the impact of adopting the updated standard.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – In December 2023, the FASB issued ASU 2023-09, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which updates income tax disclosures related to the tax rate reconciliation and requires disclosure of income taxes paid by jurisdiction. The amendments are effective for fiscal years beginning after December 15, 2024. Early adoption is permitted. The amendments should be applied prospectively; however, retrospective application is permitted. The Company is currently evaluating this ASU to determine the effect on its related disclosures.</span></p></div> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounting standards not yet adopted</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Reference Rate Reform</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – In March 2020, the FASB issued ASU 2020-04. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Reference Rate Reform (Topic 848) - Facilitation of the Effects of Reference Rate Reform on Financial Reporting. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">This ASU provides optional expedients and exceptions for applying U.S. GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference LIBOR or another rate that is expected to be discontinued. In October 2022, the FASB Board voted to amend the sunset date of ASU 2020-04 to December 31, 2024. The Company is currently evaluating the impact of this new guidance on its consolidated financial statements and related disclosures and does not expect this guidance to have a material effect on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – In November 2023, the FASB issued ASU 2023-07 </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting (Topic 280) - Improvements to Reportable Segment Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The update is intended to improve reportable segment disclosure requirements, primarily through enhanced disclosures about significant expenses. The ASU requires disclosures to include significant segment expenses that are regularly provided to the chief operating decision maker (CODM), a description of other segment items by reportable segment, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU also requires all annual disclosures currently required by Topic 280 to be included in interim periods. The update is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted, and requires retrospective application to all prior periods presented in the financial statements. The Company is currently evaluating the impact of adopting the updated standard.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – In December 2023, the FASB issued ASU 2023-09, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which updates income tax disclosures related to the tax rate reconciliation and requires disclosure of income taxes paid by jurisdiction. The amendments are effective for fiscal years beginning after December 15, 2024. Early adoption is permitted. The amendments should be applied prospectively; however, retrospective application is permitted. The Company is currently evaluating this ASU to determine the effect on its related disclosures.</span></p> <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">3.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue from contracts with customers </span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Disaggregation of revenue</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company disaggregates its revenue by type of performance obligation and timing of revenue recognition as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Term licenses and other software products</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">111,170</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,309</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Perpetual licenses</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,537</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,100</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maintenance</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,643</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,601</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Professional software services</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,079</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,633</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Software related services</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,617</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,100</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Client engineering services</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,457</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,776</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,409</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,515</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,912</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,034</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company derived approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of its total revenue through indirect sales channels for the three months ended March 31, 2024.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Costs to obtain a contract</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2024, and December 31, 2023, respectively, capitalized costs to obtain a contract were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million recorded in Prepaid expenses and other current assets and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million recorded in Other long-term assets in the Company’s consolidated balance sheets. Sales commissions were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, for the three months ended March 31, 2024 and 2023. Sales commissions were included in Sales and marketing expense in the Company’s consolidated statement of operations.</span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contract assets</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2024, and December 31, 2023, respectively, contract assets were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million included in Accounts receivable, net, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million included in Prepaid expenses and other current assets in the Company’s consolidated balance sheets.</span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Deferred revenue</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">66.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of revenue recognized during the three months ended March 31, 2024, was included in deferred revenue at the beginning of the year.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Revenue allocated to remaining performance obligations represents contracted revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Contracted revenue not yet recognized was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">243.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">208.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as of March 31, 2024 and 2023, respectively. Of the amount recorded as of March 31, 2024, the Company expects to recognize approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">70</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> over the next </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> months and the remainder thereafter.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company disaggregates its revenue by type of performance obligation and timing of revenue recognition as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Term licenses and other software products</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">111,170</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">103,309</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Perpetual licenses</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,537</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,100</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Maintenance</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,643</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,601</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Professional software services</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,079</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,633</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Software related services</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,617</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,100</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Client engineering services</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,457</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,776</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,409</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,515</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,912</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,034</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> 111170000 103309000 6537000 9100000 38643000 35601000 2079000 1633000 6617000 7100000 6457000 7776000 1409000 1515000 172912000 166034000 0.108 4600000 4300000 900000 900000 2300000 2000000 5100000 5200000 3100000 2700000 66300000 243500000 208300000 0.70 P12M <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">4.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Supplementary Information</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Acquisitions</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2024 and 2023, respectively, the Company recognized a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million loss and a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million loss from a mark-to-market adjustment of contingent consideration associated with a prior year acquisition. The mark-to-market adjustments were included in Other operating (income) expense, net in the consolidated statements of operations.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Cash, cash equivalents and restricted cash</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company considers all highly liquid investments with original or remaining maturities of 90 days or less at the date of purchase to be cash equivalents. Cash and cash equivalents are recorded at cost, which approximates fair value. Restricted cash is included in Other long-term assets on the consolidated balance sheets. </span><span style="font-size:12pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a reconciliation of cash, cash equivalents and restricted cash reported in the consolidated balance sheets that sum to the total of the amounts reported in the consolidated statement of cash flows (in thousands):</span></span></p><div style="font-size:12pt;font-family:Arial;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:68.32%;"></td> <td style="width:1.52%;"></td> <td style="width:1%;"></td> <td style="width:13.08%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:13.08%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">557,605</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">467,459</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Restricted cash included in other long-term assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and restricted cash</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">557,696</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">467,576</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Restricted cash represents amounts required for the payment of potential health insurance claims and term deposits for bank guarantees.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Property and equipment, net</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment consisted of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,373</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,376</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Building and improvements</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,515</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,528</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer equipment and software</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,154</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,678</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, equipment and other</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,972</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,402</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,602</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,380</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property and equipment</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,616</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,364</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: accumulated depreciation and amortization</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,779</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">54,561</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,837</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39,803</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Depreciation expense was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the three months ended March 31, 2024 and 2023, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other liabilities</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides the details of other accrued expenses and current liabilities (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,152</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,239</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued VAT</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,472</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,710</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Obligations related to acquisition of businesses and technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,012</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,286</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued royalties</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,889</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,313</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued professional fees</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,808</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,436</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Billings in excess of cost</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,401</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,385</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee stock purchase plan obligations</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,210</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,155</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-income tax liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,332</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,473</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued interest</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,242</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">183</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Defined contribution plan liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,110</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,454</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other current liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,192</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,764</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,820</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,398</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:11pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides details of other long-term liabilities (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Pension and other post-retirement liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,219</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,815</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax reserves</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,117</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,254</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,765</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,870</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,012</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,212</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,113</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,151</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other income, net</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other income, net consists of the following (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest income</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,722</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,885</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss (gain)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,765</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">728</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,957</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,613</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table></div> 100000 7000000 <span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides a reconciliation of cash, cash equivalents and restricted cash reported in the consolidated balance sheets that sum to the total of the amounts reported in the consolidated statement of cash flows (in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:68.32%;"></td> <td style="width:1.52%;"></td> <td style="width:1%;"></td> <td style="width:13.08%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:13.08%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">557,605</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">467,459</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Restricted cash included in other long-term assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">92</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">117</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total cash, cash equivalents and restricted cash</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">557,696</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">467,576</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 557605000 467459000 92000 117000 557696000 467576000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Property and equipment consisted of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Land</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,373</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,376</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Building and improvements</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,515</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,528</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Computer equipment and software</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,154</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,678</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Furniture, equipment and other</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,972</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,402</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Leasehold improvements</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,602</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,380</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total property and equipment</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,616</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">94,364</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: accumulated depreciation and amortization</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55,779</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">54,561</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">38,837</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39,803</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 8373000 8376000 17515000 17528000 46154000 45678000 13972000 14402000 8602000 8380000 94616000 94364000 55779000 54561000 38837000 39803000 2200000 1900000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides the details of other accrued expenses and current liabilities (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income taxes payable</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,152</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,239</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued VAT</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,472</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,710</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Obligations related to acquisition of businesses and technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,012</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,286</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued royalties</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,889</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,313</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued professional fees</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,808</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,436</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Billings in excess of cost</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,401</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,385</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Employee stock purchase plan obligations</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,210</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,155</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-income tax liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,332</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,473</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued interest</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,242</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">183</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Defined contribution plan liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,110</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,454</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other current liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,192</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,764</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,820</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">48,398</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 15152000 12239000 4472000 8710000 3012000 3286000 2889000 2313000 2808000 2436000 2401000 2385000 2210000 4155000 1332000 2473000 1242000 183000 1110000 1454000 7192000 8764000 43820000 48398000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table provides details of other long-term liabilities (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Pension and other post-retirement liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,219</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,815</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax reserves</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,117</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,254</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred tax liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,765</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,870</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other long-term liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,012</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,212</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,113</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">47,151</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 16219000 15815000 16117000 16254000 12765000 12870000 2012000 2212000 47113000 47151000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Other income, net consists of the following (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest income</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,722</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,885</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign exchange loss (gain)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,765</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">728</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other income, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,957</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,613</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table> 5722000 2885000 -1765000 728000 3957000 3613000 <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">5.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Goodwill and other intangible assets</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Goodwill</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change in the carrying amount of goodwill, which is attributable to the Software reportable segment, was as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:80.444%;"></td> <td style="width:1.8%;"></td> <td style="width:1%;"></td> <td style="width:15.757%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">458,125</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,172</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">454,953</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:8pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other intangible assets</span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A summary of other intangible assets is shown below (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.75%;"></td> <td style="width:1.121%;"></td> <td style="width:11.207%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.187%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.187%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.187%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31, 2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>amortization period</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross carrying<br/>amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net carrying amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Definite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">141,093</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">95,465</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,628</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,988</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39,427</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,561</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,455</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">626</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">829</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total definite-lived intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">200,536</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">135,518</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,018</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Indefinite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trade names</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,339</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,339</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total other intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210,875</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">135,518</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">75,357</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.27%;"></td> <td style="width:1.12%;"></td> <td style="width:12.002%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.082%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.082%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.082%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>amortization period</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross carrying<br/>amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net carrying<br/>amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Definite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142,368</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">90,729</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,639</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,316</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37,779</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,537</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,459</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">563</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">896</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total definite-lived intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">202,143</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">129,071</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73,072</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Indefinite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trade names</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,478</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,478</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total other intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">212,621</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">129,071</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,550</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Amortization expense related to intangible assets was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the three months ended March 31, 2024 and 2023, respectively.</span></p> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change in the carrying amount of goodwill, which is attributable to the Software reportable segment, was as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:80.444%;"></td> <td style="width:1.8%;"></td> <td style="width:1%;"></td> <td style="width:15.757%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">458,125</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Foreign currency translation</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,172</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">454,953</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 458125000 -3172000 454953000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A summary of other intangible assets is shown below (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.75%;"></td> <td style="width:1.121%;"></td> <td style="width:11.207%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.187%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.187%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.187%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31, 2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>amortization period</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross carrying<br/>amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net carrying amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Definite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">141,093</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">95,465</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,628</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">57,988</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">39,427</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">18,561</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,455</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">626</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">829</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total definite-lived intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">200,536</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">135,518</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">65,018</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Indefinite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trade names</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,339</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,339</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total other intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">210,875</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">135,518</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">75,357</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.27%;"></td> <td style="width:1.12%;"></td> <td style="width:12.002%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.082%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.082%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.082%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>amortization period</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross carrying<br/>amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated<br/>amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net carrying<br/>amount</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Definite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Developed technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">142,368</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">90,729</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,639</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">58,316</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37,779</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,537</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other intangibles</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">-</span><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10 years</span></span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,459</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">563</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">896</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total definite-lived intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">202,143</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">129,071</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">73,072</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-style:italic;min-width:fit-content;">Indefinite-lived intangible assets:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Trade names</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,478</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,478</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total other intangible assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">212,621</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">129,071</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">83,550</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> P4Y P6Y 141093000 95465000 45628000 P7Y P10Y 57988000 39427000 18561000 P4Y P10Y 1455000 626000 829000 200536000 135518000 65018000 10339000 10339000 210875000 135518000 75357000 P4Y P6Y 142368000 90729000 51639000 P7Y P10Y 58316000 37779000 20537000 P4Y P10Y 1459000 563000 896000 202143000 129071000 73072000 10478000 10478000 212621000 129071000 83550000 7400000 7800000 <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">6.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Debt</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Convertible senior notes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2027 Notes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2022, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">230.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.750</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% convertible senior notes due in 2027 (the "2027 Notes"), which includes the initial purchaser’s exercise in full of its option to purchase an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of the 2027 Notes, in a private offering. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net proceeds from the issuance of the 2027 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">224.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million after deducting discounts, commissions and estimated issuance costs. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2027 Notes bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.750</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year, payable </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">semi-annually</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in arrears on June 15 and December 15 of each year, which commenced on</span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> December 15, 2022</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The 2027 Notes mature on June 15, 2027, unless, earlier repurchased or redeemed by the Company or converted pursuant to their terms. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2027 Notes have an initial conversion rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">13.9505</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's Class A common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2027 Notes, which is equivalent to an initial conversion price of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">71.68</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share of its Class A common stock.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Refer to the Company’s consolidated financial statements for the year ended December 31, 2022, for details of the issuance of the 2027 Notes.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company may settle the 2027 Notes in cash, shares of Class A common stock or a combination of cash and shares of its Class A common stock, at the Company’s election, in the manner and subject to the terms and conditions provided in the Indenture.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the period ended March 31, 2024, the conditions allowing holders of the 2027 Notes to convert were not met. Therefore, the 2027 Notes remained classified as long-term debt on the consolidated balance sheet as of March 31, 2024.</span></p><p style="text-indent:-3.448%;padding-left:3.333%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2024 Notes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In June 2019, the Company issued $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">230.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% convertible senior notes due in 2024 (the "2024 Notes" and together with the 2027 Notes, the “Convertible Notes”), which includes the underwriters’ exercise in full of their option to purchase an additional $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">30.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of the 2024 Notes, in a public offering. The net proceeds from the issuance of the 2024 Notes were $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">221.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million after deducting the underwriting discounts and commissions and estimated issuance costs. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2024 Notes bear interest at a rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% per year, payable </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">semi-annually</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in arrears on June 1 and December 1 of each year.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> The 2024 Notes mature on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">June 1, 2024</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, unless, earlier repurchased or redeemed by the Company or converted pursuant to their terms. </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The 2024 Notes have an initial conversion rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.5049</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's Class A common stock per $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> principal amount of 2024 Notes, which is equivalent to an initial conversion price of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">46.50</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share of its Class A common stock.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Refer to the Company’s consolidated financial statements for the year ended December 31, 2023, for details of the issuance of the 2024 Notes.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the year ended December 31, 2022, using proceeds from the issuance of the 2027 Notes, the Company entered into separate privately negotiated transactions with certain holders of the 2024 Notes to repurchase and retire $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">148.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million aggregate principal amount of the 2024 Notes for an aggregate amount of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">192.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of cash including accrued and unpaid interest.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2024, until the close of business on the business day immediately preceding the maturity date, holders may convert their 2024 Notes at any time. Upon conversion, the Company has elected to settle the 2024 Notes par value in cash and to settle the premium in shares of its Class A common stock, subject to the terms and conditions provided in the Indenture. As of March 31, 2024, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">81.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million principal amount of the 2024 Notes remained outstanding and were classified as current liabilities on the consolidated balance sheet.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net carrying value of the 2027 and 2024 Notes was as follows (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.65%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> <td style="width:1.221%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> <td style="width:1.221%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31, 2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2027 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2027 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">230,000</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,729</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">230,000</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,729</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: unamortized debt issuance costs</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,777</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,071</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">274</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net carrying amount</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">226,223</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,617</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">225,929</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,455</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The interest expense related to the 2027 and 2024 Notes was as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.22%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.96%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.82%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contractual interest expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,057</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,061</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,514</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,525</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="margin-left:3.333%;font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2024, the “if converted value” of the 2027 Notes exceeded the principal amount by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">46.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the “if converted value” of the 2024 Notes exceeded the principal amount by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">69.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Revolving credit facility</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has a $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million credit facility with a maturity date of </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">December 31, 2025</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (“2019 Amended Credit Agreement”).</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">As of March 31, 2024, there were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> outstanding borrowings under the 2019 Amended Credit Agreement, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">200.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million available for future borrowing, and the Company was in compliance with all the financial covenants. The 2019 Amended Credit Agreement is available for general corporate purposes, including working capital, capital expenditures, and permitted acquisitions.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">For additional information about the 2019 Amended Credit Agreement, refer to the Company’s consolidated financial statements for the year ended December 31, 2023, included in our Annual Report on Form 10-K.</span></p> 230000000 0.0175 30000000 224300000 The 2027 Notes bear interest at a rate of 1.750% per year, payable semi-annually in arrears on June 15 and December 15 of each year, which commenced on December 15, 2022. 0.0175 semi-annually 2022-12-15 The 2027 Notes have an initial conversion rate of 13.9505 shares of the Company's Class A common stock per $1,000 principal amount of 2027 Notes, which is equivalent to an initial conversion price of approximately $71.68 per share of its Class A common stock. 13.9505 1000 71.68 230000000 0.0025 30000000 221900000 The 2024 Notes bear interest at a rate of 0.25% per year, payable semi-annually in arrears on June 1 and December 1 of each year. 0.0025 semi-annually 2024-06-01 The 2024 Notes have an initial conversion rate of 21.5049 shares of the Company's Class A common stock per $1,000 principal amount of 2024 Notes, which is equivalent to an initial conversion price of approximately $46.50 per share of its Class A common stock. 21.5049 1000 46.5 148200000 192400000 81700000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The net carrying value of the 2027 and 2024 Notes was as follows (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.65%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> <td style="width:1.221%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> <td style="width:1.221%;"></td> <td style="width:1%;"></td> <td style="width:9.167%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31, 2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2027 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2027 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024 Notes</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Principal</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">230,000</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,729</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">230,000</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,729</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Less: unamortized debt issuance costs</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,777</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">112</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,071</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">274</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net carrying amount</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">226,223</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,617</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">225,929</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">81,455</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 230000000 81729000 230000000 81729000 3777000 112000 4071000 274000 226223000 81617000 225929000 81455000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The interest expense related to the 2027 and 2024 Notes was as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.22%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.96%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.82%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contractual interest expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,057</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,061</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amortization of debt issuance costs</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">457</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">464</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,514</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,525</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 1057000 1061000 457000 464000 1514000 1525000 46400000 69700000 200000000 2025-12-31 0 200000000 <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">7.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Fair value measurements</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accounting guidance for fair value, among other things, defines fair value, establishes a consistent framework for measuring fair value and expands disclosure for each major asset and liability category measured at fair value on either a recurring or nonrecurring basis. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the reporting date. The framework for measuring fair value consists of a three-level valuation hierarchy that prioritizes the inputs to valuation techniques used to measure fair value based upon whether such inputs are observable or unobservable. Observable inputs reflect market data obtained from independent sources, while unobservable inputs reflect market assumptions made by the reporting entity. The three-level hierarchy for the inputs to valuation techniques is briefly summarized as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:-2.319%;padding-left:2.267%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Level 1 – Quoted prices in active markets for identical assets and liabilities at the measurement date;</span></p><p style="text-indent:-2.319%;padding-left:2.267%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Level 2 – Observable</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and</span></p><p style="text-indent:-8.381%;padding-left:7.733%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Level 3 – Unobservable inputs in which there is little or no market data, which require the reporting entity to develop its own assumptions.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">An asset’s or liability’s fair value measurement level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of cash and cash equivalents, accounts receivable, net and accounts payable approximate fair value due to their short maturities. Interest on the Company’s line of credit is at a variable rate, and as such the debt obligation outstanding approximates fair value.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The carrying value of the Company’s Convertible Notes are at face value less unamortized issuance costs. The estimated fair values of the Convertible Notes, which the Company has classified as Level 2 financial instruments, were determined based on quoted bid prices of the Convertible Notes on the last trading day of each reporting period. As of March 31, 2024, the estimated fair value of the 2027 Notes and 2024 Notes was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">302.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">150.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, and is presented for required disclosure purposes only. For further information on the Convertible Notes, see Note 6. – Debt.</span></p> 302100000 150900000 <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">8.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2017 stock-based compensation plan</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In 2017, the Company’s Board of Directors adopted the 2017 Equity Incentive Plan (“2017 Plan”), which was approved by the Company’s stockholders. The 2017 Plan provides for the grant of incentive stock options to the Company’s employees and any parent and subsidiary corporations’ employees, and for the grant of nonstatutory stock options, stock appreciation rights, restricted stock, restricted stock units, performance units, performance shares, other cash-based awards and other stock-based awards to the Company’s employees, directors and consultants and the Company’s parent, subsidiary, and affiliate corporations’ employees and consultants. The 2017 Plan has </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,460,908</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> authorized shares of the Company’s Class A common stock reserved for issuance. As of March 31, 2024, the Company had </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,701,748</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock available for future issuances under the 2017 Plan.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the restricted stock units, or RSUs, awarded under the 2017 Plan for the period:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:80.46%;"></td> <td style="width:1.32%;"></td> <td style="width:1%;"></td> <td style="width:16.22%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of RSUs</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,086,351</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">308,671</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">303,210</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited</span></p></td> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,428</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,085,384</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The weighted average grant date fair value of the RSUs was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">79.20</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and the RSUs generally vest in </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">four</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> equal annual installments. Total compensation cost related to nonvested awards not yet recognized as of March 31, 2024, totaled $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">93.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, and is expected to be recognized over a weighted average period of </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2.7</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the stock option activity under the 2017 Plan for the period:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.4%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:9.664%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:8.844000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:9.664%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.184000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of options</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>exercise price per share</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>remaining contractual term (years)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/> intrinsic value<br/> (in millions)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,602,078</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52.81</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">238.3</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">416,608</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">79.19</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">402,890</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">49.40</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,962</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55.23</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,592,834</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">54.43</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240.9</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercisable as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,640,511</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51.42</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.8</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126.4</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The total intrinsic value of the 2017 Plan stock options exercised during the three months ended March 31, 2024, was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">143.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million.</span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2021 Employee Stock Purchase Plan</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has an Employee Stock Purchase Plan (“ESPP”) which allows eligible employees to purchase shares of common stock through payroll deductions and is intended to qualify under Section 423 of the Internal Revenue Code. The maximum number of shares available for issuance under the ESPP is </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,200,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company’s Class A common stock. As of March 31, 2024, the Company had </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,767,911</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of its common stock available for future issuances under the ESPP.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The purchase price for each share of common stock purchased under the ESPP will be </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">85</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the lower of (a) the fair market value per share on the first day of the applicable offering period or (b) the fair market value per share on the applicable purchase date.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company issued </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">64,309</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of common stock under the ESPP during the three months ended March 31, 2024. As of March 31, 2024 and December 31, 2023, respectively, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million had been withheld on behalf of employees for future purchases under the ESPP due to the timing of payroll deductions and was reported in current liabilities. The Company recognized $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million of stock-based compensation expense related to the ESPP for the three months ended March 31, 2024 and 2023, respectively.</span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock-based compensation expense</span></p><div style="font-size:12pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation expense was recorded as follows (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.12%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.940000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.940000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of revenue – software</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,002</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,752</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,360</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,743</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sales and marketing</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,520</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,591</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">General and administrative</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,117</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,075</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,999</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,161</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div> 19460908 6701748 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the restricted stock units, or RSUs, awarded under the 2017 Plan for the period:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:80.46%;"></td> <td style="width:1.32%;"></td> <td style="width:1%;"></td> <td style="width:16.22%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of RSUs</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,086,351</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">308,671</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">303,210</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited</span></p></td> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,428</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,085,384</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 1086351 308671 303210 6428 1085384 79.2 4 93500000 P2Y8M12D <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the stock option activity under the 2017 Plan for the period:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.4%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:9.664%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:8.844000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:1%;"></td> <td style="width:9.664%;"></td> <td style="width:1%;"></td> <td style="width:1.12%;"></td> <td style="width:1%;"></td> <td style="width:9.184000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number of options</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>exercise price per share</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted average<br/>remaining contractual term (years)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate<br/> intrinsic value<br/> (in millions)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,602,078</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52.81</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">238.3</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">416,608</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">79.19</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">402,890</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">49.40</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,962</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">55.23</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,592,834</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">54.43</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7.8</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">240.9</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercisable as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,640,511</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51.42</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.8</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126.4</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 7602078 52.81 P7Y9M18D 238300000 416608 79.19 402890 49.4 22962 55.23 7592834 54.43 P7Y9M18D 240900000 3640511 51.42 P6Y9M18D 126400000 143400000 3200000 2767911 0.85 64309 2200000 4200000 700000 600000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Stock-based compensation expense was recorded as follows (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.12%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.940000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.940000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of revenue – software</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,002</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,752</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,360</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,743</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sales and marketing</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,520</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,591</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">General and administrative</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,117</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,075</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total stock-based compensation expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,999</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,161</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 2002000 2752000 6360000 8743000 4520000 7591000 3117000 3075000 15999000 22161000 <div style="display:flex;margin-top:8pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">9.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Net income (loss) per share</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Basic net income (loss) per share attributable to common stockholders is computed using the weighted average number of shares of common stock outstanding for the period, excluding dilutive securities, stock options, RSUs and ESPP shares. Diluted net income (loss) per share attributable to common stockholders is based upon the weighted average number of shares of common stock outstanding for the period and potentially dilutive common shares, including the effect of dilutive securities, stock options, RSUs and ESPP shares under the treasury stock method.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company applies the if-converted method for convertible instruments when calculating diluted earnings per share. Under the if-converted method, shares related to convertible senior notes, to the extent dilutive, are assumed to be converted into common stock at the beginning of the period.</span></p><div style="font-size:12pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the computation of the numerators and denominators used in the basic and diluted net income (loss) per share amounts (in thousands, except per share data):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Numerator:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income (loss)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,547</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,959</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense related to Convertible Notes, net of tax</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,057</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Numerator for diluted income (loss) per share</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,604</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,959</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for basic income (loss) per share—<br/>   weighted average shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,587</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">80,191</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities, stock options, RSUs and <br/>   ESPP shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,219</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for dilutive income (loss) per share</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,806</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">80,191</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income (loss) per share attributable to common<br/>  stockholders, basic</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.20</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income (loss) per share attributable to common<br/>  stockholders, diluted</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.20</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Anti-dilutive shares excluded from the computation of diluted net income (loss) per share were as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:13.323%;"></td> <td style="width:1%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:13.323%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock options and ESPP shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,883</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,967</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total shares excluded from calculation</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,850</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table sets forth the computation of the numerators and denominators used in the basic and diluted net income (loss) per share amounts (in thousands, except per share data):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Numerator:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income (loss)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,547</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,959</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense related to Convertible Notes, net of tax</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,057</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Numerator for diluted income (loss) per share</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,604</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,959</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator:</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for basic income (loss) per share—<br/>   weighted average shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">82,587</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">80,191</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effect of dilutive securities, stock options, RSUs and <br/>   ESPP shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,219</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Denominator for dilutive income (loss) per share</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">89,806</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">80,191</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income (loss) per share attributable to common<br/>  stockholders, basic</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.20</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net income (loss) per share attributable to common<br/>  stockholders, diluted</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.20</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.02</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table> 16547000 -1959000 1057000 0 17604000 -1959000 82587000 80191000 7219000 0 89806000 80191000 0.2 -0.02 0.2 -0.02 <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Anti-dilutive shares excluded from the computation of diluted net income (loss) per share were as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:13.323%;"></td> <td style="width:1%;"></td> <td style="width:1.02%;"></td> <td style="width:1%;"></td> <td style="width:13.323%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock options and ESPP shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,883</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Convertible shares</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,967</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total shares excluded from calculation</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,850</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 0 2883000 0 4967000 0 7850000 <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">10.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Income taxes </span></div></div><div style="font-size:11pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company’s income tax expense and effective tax rate for the three ended March 31, 2024 and 2023, were as follows (in thousands, except percentages):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.842%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.842%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,769</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,232</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effective tax rate</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">127</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The tax rate is affected by the Company being a U.S. resident taxpayer, the tax rates in the U.S. and other jurisdictions in which the Company operates, the relative amount of income earned by jurisdiction and the relative amount of losses or income for which no benefit or expense is recognized due to a valuation allowance. The change in the effective tax rate for the three months ended March 31, 2024 as compared to March 31, 2023, was primarily attributable to the effects of tax elections made by the Company during the third quarter of 2023 that have a prospective impact on the Company’s tax expense in 2024. The Company's effective tax rate for the three months ended March 31, 2024 and 2023 also includes net discrete benefit of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and expense of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively, primarily related to changes in tax laws, withholding taxes on royalties, changes in reserves, changes in accruals for unremitted earnings and other adjustments.</span></p> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company’s income tax expense and effective tax rate for the three ended March 31, 2024 and 2023, were as follows (in thousands, except percentages):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.842%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.842%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income tax expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,769</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,232</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Effective tax rate</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">127</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">%</span></p></td> </tr> </table> 6769000 9232000 0.29 1.27 -400000 5700000 <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">11.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Accumulated other comprehensive loss</span></div></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of accumulated other comprehensive loss were as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:57.863%;"></td> <td style="width:1.281%;"></td> <td style="width:1%;"></td> <td style="width:10.764000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.281%;"></td> <td style="width:1%;"></td> <td style="width:10.764000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.281%;"></td> <td style="width:1%;"></td> <td style="width:10.764000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Foreign currency translation</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Retirement related<br/>benefit plans</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,473</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">836</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,309</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income before reclassification</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,029</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,029</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amounts reclassified from accumulated other comprehensive income</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax effects</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,029</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,995</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26,502</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">802</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,304</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table></div> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The components of accumulated other comprehensive loss were as follows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:57.863%;"></td> <td style="width:1.281%;"></td> <td style="width:1%;"></td> <td style="width:10.764000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.281%;"></td> <td style="width:1%;"></td> <td style="width:10.764000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.281%;"></td> <td style="width:1%;"></td> <td style="width:10.764000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Foreign currency translation</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Retirement related<br/>benefit plans</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,473</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">836</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,309</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income before reclassification</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,029</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,029</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Amounts reclassified from accumulated other comprehensive income</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tax effects</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other comprehensive income</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,029</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,995</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Balance as of March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26,502</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">802</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27,304</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table> -21473000 -836000 -22309000 -5029000 0 -5029000 0 -34000 -34000 0 0 0 -5029000 34000 -4995000 -26502000 -802000 -27304000 <div style="display:flex;margin-top:8pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">12.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Commitments and contingencies</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Legal proceedings</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">From time to time, the Company may be subject to legal proceedings and claims in the ordinary course of business. The Company has received, and may in the future continue to receive, claims from third parties asserting, among other things, infringement of their intellectual property rights. Future litigation may be necessary to defend the Company, its partners, and its customers by determining the scope, enforceability, and validity of third-party proprietary rights, or to establish and enforce the Company’s proprietary rights.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Effects of proceedings</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The results of any current or future litigation cannot be predicted with certainty and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <div style="display:flex;margin-top:18pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:3.333%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:3.333%;display:inline-flex;justify-content:flex-start;">13.</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Segment information</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company defines its operating segments as components of its business where separate financial information is available and used by the chief operating decision maker (“CODM”) in deciding how to allocate resources to its segments and in assessing performance. The Company’s CODM is its Chief Executive Officer.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company has identified </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> reportable segments for financial reporting purposes: Software and Client Engineering Services (“CES”). The primary measure of segment operating performance is Adjusted EBITDA, which is defined as net income (loss) adjusted for income tax expense (benefit), interest expense, interest income and other, depreciation and amortization, stock-based compensation expense, asset impairment charges and other special items as determined by management. Corporate headquarter costs are allocated to each segment.</span></p><div style="font-size:12pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following tables are in thousands:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.761%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three months ended March 31, 2024</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Software</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">CES</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">All other</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">165,046</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,457</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,409</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,912</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,070</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">67</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,818</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three months ended March 31, 2023</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Software</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">CES</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">All other</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">156,743</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,776</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,515</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,034</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42,772</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">409</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,055</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"> </p><div style="font-size:10pt;font-family:Times New Roman;"> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Reconciliation of Adjusted EBITDA to U.S. GAAP <br/>   income before income taxes:</span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,818</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,055</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,999</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,161</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,576</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,526</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,619</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,750</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Special adjustments, interest income and other </span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,692</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,345</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,316</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,273</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p><div style="margin-left:0.833%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:2.5%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:2.520999929412002%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The three months ended March 31, 2024, primarily includes $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of interest income and $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of currency losses on acquisition-related intercompany loans. </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The three months ended March 31, 2023, includes a $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.0</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.9</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of interest income, and $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of currency gains on acquisition-related intercompany loans.</span></div></div></div> 2 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following tables are in thousands:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:12pt;font-family:Arial;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:50.761%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> <td style="width:1.121%;"></td> <td style="width:1%;"></td> <td style="width:9.189%;"></td> <td style="width:1%;"></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three months ended March 31, 2024</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Software</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">CES</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">All other</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">165,046</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,457</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,409</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">172,912</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">46,070</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">67</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">185</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,818</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three months ended March 31, 2023</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Software</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">CES</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">All other</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Total</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">156,743</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,776</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,515</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">166,034</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42,772</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">409</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,055</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 165046000 6457000 1409000 172912000 46070000 -67000 -185000 45818000 156743000 7776000 1515000 166034000 42772000 409000 -126000 43055000 <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:67.313%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> <td style="width:1.5%;"></td> <td style="width:1%;"></td> <td style="width:12.843%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended <br/>March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Reconciliation of Adjusted EBITDA to U.S. GAAP <br/>   income before income taxes:</span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Adjusted EBITDA</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,818</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,055</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Stock-based compensation expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">15,999</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,161</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Interest expense</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,576</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,526</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Depreciation and amortization</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,619</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,750</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Special adjustments, interest income and other </span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;position:relative;min-width:fit-content;">(1)</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,692</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,345</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:20pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Income before income taxes</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">23,316</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,273</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="margin-left:3.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p><div style="margin-left:0.833%;display:flex;margin-top:0;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:2.5%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:2.520999929412002%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The three months ended March 31, 2024, primarily includes $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.7</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of interest income and $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.9</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of currency losses on acquisition-related intercompany loans. </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;">The three months ended March 31, 2023, includes a $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.0</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.9</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of interest income, and $</span><span style="font-size:8pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> million of currency gains on acquisition-related intercompany loans.</span></div></div> 45818000 43055000 15999000 22161000 1576000 1526000 9619000 9750000 4692000 -2345000 23316000 7273000 5700000 900000 7000000 2900000 1800000 false false false false The three months ended March 31, 2024, primarily includes $5.7 million of interest income and $0.9 million of currency losses on acquisition-related intercompany loans. The three months ended March 31, 2023, includes a $7.0 million loss from the mark-to-market adjustment of contingent consideration associated with the World Programming acquisition, $2.9 million of interest income, and $1.8 million of currency gains on acquisition-related intercompany loans.