0001406666-23-000040.txt : 20231024 0001406666-23-000040.hdr.sgml : 20231024 20231024161701 ACCESSION NUMBER: 0001406666-23-000040 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 67 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231024 DATE AS OF CHANGE: 20231024 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CALIX, INC CENTRAL INDEX KEY: 0001406666 STANDARD INDUSTRIAL CLASSIFICATION: COMMUNICATION SERVICES, NEC [4899] IRS NUMBER: 680438710 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34674 FILM NUMBER: 231342880 BUSINESS ADDRESS: STREET 1: 2777 ORCHARD PARKWAY CITY: SAN JOSE STATE: CA ZIP: 95134 BUSINESS PHONE: 408-514-3000 MAIL ADDRESS: STREET 1: 2777 ORCHARD PARKWAY CITY: SAN JOSE STATE: CA ZIP: 95134 FORMER COMPANY: FORMER CONFORMED NAME: CALIX NETWORKS INC DATE OF NAME CHANGE: 20070713 10-Q 1 calx-20230930.htm 10-Q calx-20230930
0001406666false2023Q312/31http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent00014066662023-01-012023-09-3000014066662023-10-16xbrli:shares00014066662023-09-30iso4217:USD00014066662022-12-31iso4217:USDxbrli:shares00014066662023-07-022023-09-3000014066662022-07-032022-10-0100014066662022-01-012022-10-010001406666us-gaap:CommonStockMember2023-07-010001406666us-gaap:AdditionalPaidInCapitalMember2023-07-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-010001406666us-gaap:RetainedEarningsMember2023-07-0100014066662023-07-010001406666us-gaap:AdditionalPaidInCapitalMember2023-07-022023-09-300001406666us-gaap:CommonStockMember2023-07-022023-09-300001406666us-gaap:RetainedEarningsMember2023-07-022023-09-300001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-022023-09-300001406666us-gaap:CommonStockMember2023-09-300001406666us-gaap:AdditionalPaidInCapitalMember2023-09-300001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001406666us-gaap:RetainedEarningsMember2023-09-300001406666us-gaap:CommonStockMember2022-07-020001406666us-gaap:AdditionalPaidInCapitalMember2022-07-020001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-020001406666us-gaap:RetainedEarningsMember2022-07-0200014066662022-07-020001406666us-gaap:AdditionalPaidInCapitalMember2022-07-032022-10-010001406666us-gaap:CommonStockMember2022-07-032022-10-010001406666us-gaap:RetainedEarningsMember2022-07-032022-10-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-032022-10-010001406666us-gaap:CommonStockMember2022-10-010001406666us-gaap:AdditionalPaidInCapitalMember2022-10-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-10-010001406666us-gaap:RetainedEarningsMember2022-10-0100014066662022-10-010001406666us-gaap:CommonStockMember2022-12-310001406666us-gaap:AdditionalPaidInCapitalMember2022-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001406666us-gaap:RetainedEarningsMember2022-12-310001406666us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-300001406666us-gaap:CommonStockMember2023-01-012023-09-300001406666us-gaap:RetainedEarningsMember2023-01-012023-09-300001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-300001406666us-gaap:CommonStockMember2021-12-310001406666us-gaap:AdditionalPaidInCapitalMember2021-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001406666us-gaap:RetainedEarningsMember2021-12-3100014066662021-12-310001406666us-gaap:AdditionalPaidInCapitalMember2022-01-012022-10-010001406666us-gaap:CommonStockMember2022-01-012022-10-010001406666us-gaap:RetainedEarningsMember2022-01-012022-10-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-10-010001406666us-gaap:CashMember2023-09-300001406666us-gaap:CashMember2022-12-310001406666us-gaap:CommercialPaperMember2023-09-300001406666us-gaap:CommercialPaperMember2022-12-310001406666us-gaap:MoneyMarketFundsMember2023-09-300001406666us-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:USGovernmentDebtSecuritiesMember2023-09-300001406666us-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:CorporateDebtSecuritiesMember2023-09-300001406666us-gaap:CorporateDebtSecuritiesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:USGovernmentDebtSecuritiesMember2023-09-300001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-09-300001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001406666us-gaap:CommercialPaperMember2023-09-300001406666us-gaap:CommercialPaperMember2022-12-310001406666us-gaap:CorporateDebtSecuritiesMember2023-09-300001406666us-gaap:CorporateDebtSecuritiesMember2022-12-310001406666us-gaap:MunicipalNotesMember2023-09-300001406666us-gaap:MunicipalNotesMember2022-12-310001406666us-gaap:USGovernmentDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2023-09-300001406666us-gaap:CommercialPaperMembercalx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2023-09-300001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesMember2023-09-300001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:CorporateDebtSecuritiesMember2023-09-300001406666calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2023-09-300001406666us-gaap:USGovernmentDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2022-12-310001406666us-gaap:CommercialPaperMembercalx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2022-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:CorporateDebtSecuritiesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:MunicipalNotesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:CommercialPaperMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:CommercialPaperMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMember2023-09-300001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:CommercialPaperMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:CommercialPaperMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalNotesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalNotesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalNotesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMember2022-12-310001406666srt:MinimumMember2023-09-30xbrli:pure0001406666srt:MaximumMember2023-09-300001406666us-gaap:EquipmentMember2023-09-300001406666us-gaap:EquipmentMember2022-12-310001406666us-gaap:ComputerEquipmentMember2023-09-300001406666us-gaap:ComputerEquipmentMember2022-12-310001406666calx:SoftwareMember2023-09-300001406666calx:SoftwareMember2022-12-310001406666us-gaap:LeaseholdImprovementsMember2023-09-300001406666us-gaap:LeaseholdImprovementsMember2022-12-310001406666us-gaap:FurnitureAndFixturesMember2023-09-300001406666us-gaap:FurnitureAndFixturesMember2022-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2020-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2023-09-300001406666us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-310001406666calx:SanJoseCaliforniaMember2023-09-300001406666us-gaap:InventoriesMember2023-09-300001406666us-gaap:InventoriesMember2022-12-310001406666us-gaap:InventoriesMember2023-01-012023-09-300001406666calx:A2019EquityIncentiveAwardPlanMember2023-09-300001406666us-gaap:EmployeeStockOptionMembercalx:A2021PerformanceTargetsMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-09-300001406666us-gaap:EmployeeStockOptionMembercalx:A2021PerformanceTargetsMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-01-012023-09-300001406666calx:A2021PerformanceTargetsMembersrt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMember2023-02-012023-02-280001406666calx:A2021PerformanceTargetsMembersrt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-02-012023-02-280001406666calx:A2021PerformanceTargetsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMembercalx:PerformanceBasedStockOptionsMember2023-02-012023-02-2800014066662023-02-280001406666calx:A2021PerformanceTargetsMembersrt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMember2023-07-022023-09-300001406666calx:A2021PerformanceTargetsMembersrt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMember2023-01-012023-09-30calx:plan0001406666us-gaap:EmployeeStockMember2023-09-30calx:period0001406666us-gaap:EmployeeStockMember2023-01-012023-09-300001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2023-09-300001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2023-01-012023-09-300001406666us-gaap:CostOfSalesMember2023-07-022023-09-300001406666us-gaap:CostOfSalesMember2022-07-032022-10-010001406666us-gaap:CostOfSalesMember2023-01-012023-09-300001406666us-gaap:CostOfSalesMember2022-01-012022-10-010001406666us-gaap:SellingAndMarketingExpenseMember2023-07-022023-09-300001406666us-gaap:SellingAndMarketingExpenseMember2022-07-032022-10-010001406666us-gaap:SellingAndMarketingExpenseMember2023-01-012023-09-300001406666us-gaap:SellingAndMarketingExpenseMember2022-01-012022-10-010001406666us-gaap:ResearchAndDevelopmentExpenseMember2023-07-022023-09-300001406666us-gaap:ResearchAndDevelopmentExpenseMember2022-07-032022-10-010001406666us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-09-300001406666us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-10-010001406666us-gaap:GeneralAndAdministrativeExpenseMember2023-07-022023-09-300001406666us-gaap:GeneralAndAdministrativeExpenseMember2022-07-032022-10-010001406666us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-09-300001406666us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-10-0100014066662022-07-310001406666country:US2023-07-022023-09-300001406666country:US2022-07-032022-10-010001406666country:US2023-01-012023-09-300001406666country:US2022-01-012022-10-010001406666srt:EuropeMember2023-07-022023-09-300001406666srt:EuropeMember2022-07-032022-10-010001406666srt:EuropeMember2023-01-012023-09-300001406666srt:EuropeMember2022-01-012022-10-010001406666calx:AmericasNonUSMember2023-07-022023-09-300001406666calx:AmericasNonUSMember2022-07-032022-10-010001406666calx:AmericasNonUSMember2023-01-012023-09-300001406666calx:AmericasNonUSMember2022-01-012022-10-010001406666calx:MiddleEastAndAfricaMember2023-07-022023-09-300001406666calx:MiddleEastAndAfricaMember2022-07-032022-10-010001406666calx:MiddleEastAndAfricaMember2023-01-012023-09-300001406666calx:MiddleEastAndAfricaMember2022-01-012022-10-010001406666srt:AsiaPacificMember2023-07-022023-09-300001406666srt:AsiaPacificMember2022-07-032022-10-010001406666srt:AsiaPacificMember2023-01-012023-09-300001406666srt:AsiaPacificMember2022-01-012022-10-0100014066662023-10-012023-09-300001406666us-gaap:FinanceReceivablesMembercalx:CustomerOneMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001406666calx:CustomerTwoMemberus-gaap:FinanceReceivablesMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001406666us-gaap:FinanceReceivablesMembercalx:CustomerOneMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, DC 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended September 30, 2023
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-34674
Calix, Inc.
(Exact Name of Registrant as Specified in Its Charter)
Delaware 68-0438710
(State or Other Jurisdiction of
Incorporation or Organization)
 (I.R.S. Employer
Identification No.)
2777 Orchard Parkway, San Jose, CA 95134
(Address of Principal Executive Offices) (Zip Code)
(408) 514-3000
(Registrant’s Telephone Number, Including Area Code)
Securities registered pursuant to Section 12(b) of the Act:
Title of Each Class
Trading SymbolName of Each Exchange on Which Registered
Common Stock, par value $0.025 per share
CALXNew York Stock Exchange
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:  x    No:  o
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:  x    No:  o
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 FilerAccelerated Filer
Non-accelerated filerSmaller 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. o


Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes:     No:  x
As of October 16, 2023, there were 65,867,044 shares of the Registrant’s common stock, par value $0.025, outstanding.


CALIX, INC.
FORM 10-Q
TABLE OF CONTENTS
 
3

PART I. FINANCIAL INFORMATION
 
ITEM 1.Financial Statements
CALIX, INC.
CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except par value) 
September 30,
2023
December 31,
2022
 (Unaudited) (See Note 1)
ASSETS
Current assets:
Cash and cash equivalents$135,675 $79,073 
Marketable securities114,417 162,642 
Accounts receivable, net80,661 93,804 
Inventory150,033 149,160 
Prepaid expenses and other current assets106,839 62,691 
Total current assets587,625 547,370 
Property and equipment, net29,123 25,834 
Right-of-use operating leases9,964 9,283 
Deferred tax assets162,901 167,031 
Goodwill116,175 116,175 
Other assets20,872 19,142 
$926,660 $884,835 
LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
Accounts payable$22,134 $41,407 
Accrued liabilities82,078 90,474 
Deferred revenue34,944 33,541 
Total current liabilities139,156 165,422 
Long-term portion of deferred revenue25,413 25,072 
Operating leases8,446 8,442 
Other long-term liabilities2,700 6,332 
Total liabilities175,715 205,268 
Commitments and contingencies (See Note 6)
Stockholders’ equity:
Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of September 30, 2023 and December 31, 2022
  
Common stock, $0.025 par value; 100,000 shares authorized; 65,950 shares issued and outstanding as of September 30, 2023, and 65,735 shares issued and outstanding as of December 31, 2022
1,649 1,644 
Additional paid-in capital1,104,435 1,070,100 
Accumulated other comprehensive loss(1,359)(2,473)
Accumulated deficit(353,780)(389,704)
Total stockholders’ equity750,945 679,567 
$926,660 $884,835 




See accompanying notes to condensed consolidated financial statements.
4

CALIX, INC.
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands, except per share data)
(Unaudited)
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Revenue$263,835 $236,334 $774,859 $623,324 
Cost of revenue123,286 117,762 369,789 312,780 
Gross profit140,549 118,572 405,070 310,544 
Operating expenses:
Sales and marketing52,356 46,134 158,817 123,363 
Research and development46,963 33,196 135,477 93,443 
General and administrative25,301 19,237 73,100 54,179 
Total operating expenses124,620 98,567 367,394 270,985 
Operating income15,929 20,005 37,676 39,559 
Interest income and other expense, net:
Interest income, net2,658 595 6,553 870 
Other expense, net(444)(134)(448)(474)
Total interest income and other expense, net2,214 461 6,105 396 
Income before income taxes18,143 20,466 43,781 39,955 
Income taxes1,190 7,023 7,857 10,872 
Net income$16,953 $13,443 $35,924 $29,083 
Net income per common share:
Basic$0.26 $0.21 $0.54 $0.45 
Diluted$0.24 $0.19 $0.52 $0.42 
Weighted-average number of shares used to compute
net income per common share:
Basic66,288 65,355 66,201 64,892 
Diluted69,579 69,174 69,644 68,587 
Net income$16,953 $13,443 $35,924 $29,083 
Other comprehensive income (loss), net of tax:
Unrealized gain (loss) on available-for-sale marketable securities, net263 (488)1,185 (1,956)
Foreign currency translation adjustments, net(33)(335)(71)(808)
Total other comprehensive income (loss), net of tax230 (823)1,114 (2,764)
Comprehensive income$17,183 $12,620 $37,038 $26,319 











See accompanying notes to condensed consolidated financial statements.
5

CALIX, INC.
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(In thousands, unaudited)

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of July 1, 202366,320 $1,658 $1,112,434 $(1,589)$(370,733)$741,770 
Stock-based compensation— — 16,026 — — 16,026 
Issuance of common stock under equity incentive plans, net of forfeitures359 9 8,366 — — 8,375 
Repurchases of common stock(729)(18)(32,391)— — (32,409)
Net income— — — — 16,953 16,953 
Other comprehensive income— — — 230 — 230 
Balance as of September 30, 202365,950 $1,649 $1,104,435 $(1,359)$(353,780)$750,945 

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of July 2, 202265,241 $1,631 $1,032,833 $(2,261)$(415,074)$617,129 
Stock-based compensation
— — 11,027 — — 11,027 
Issuance of common stock under equity incentive plans, net of forfeitures201 5 6,966 — — 6,971 
Net income— — — — 13,443 13,443 
Other comprehensive loss— — — (823)— (823)
Balance as of October 1, 202265,442 $1,636 $1,050,826 $(3,084)$(401,631)$647,747 

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of December 31, 202265,735 $1,644 $1,070,100 $(2,473)$(389,704)$679,567 
Stock-based compensation
— — 50,090 — — 50,090 
Issuance of common stock under equity incentive plans, net of forfeitures1,169 29 26,630 — — 26,659 
Repurchases of common stock(954)(24)(42,385)— — (42,409)
Net income— — — — 35,924 35,924 
Other comprehensive income— — — 1,114 1,114 
Balance as of September 30, 202365,950 $1,649 $1,104,435 $(1,359)$(353,780)$750,945 

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of December 31, 202164,274 $1,607 $997,855 $(320)$(430,714)$568,428 
Stock-based compensation
— — 31,502 — — 31,502 
Issuance of common stock under equity incentive plans, net of forfeitures1,168 29 21,469 — — 21,498 
Net income— — — — 29,083 29,083 
Other comprehensive loss— — — (2,764)— (2,764)
Balance as of October 1, 202265,442 $1,636 $1,050,826 $(3,084)$(401,631)$647,747 







See accompanying notes to condensed consolidated financial statements.
6

CALIX, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands, unaudited)
 Nine Months Ended
September 30,
2023
October 1,
2022
Operating activities:
Net income$35,924 $29,083 
Adjustments to reconcile net income to net cash provided by operating activities:
Stock-based compensation50,090 31,502 
Depreciation and amortization12,181 10,837 
Deferred income taxes4,294 5,225 
Net accretion of available-for-sale securities(3,119)(533)
Changes in operating assets and liabilities:
Accounts receivable, net13,143 (15,308)
Inventory(873)(52,236)
Prepaid expenses and other assets(48,532)(32,854)
Accounts payable(19,756)36,170 
Accrued liabilities(141)9,825 
Deferred revenue1,745 9,112 
Other long-term liabilities(3,629)(9,745)
Net cash provided by operating activities41,327 21,078 
Investing activities
Purchases of property and equipment(13,883)(9,260)
Purchases of marketable securities(133,521)(142,280)
Maturities of marketable securities185,888 134,325 
Net cash provided by (used in) investing activities38,484 (17,215)
Financing activities:
Proceeds from common stock issuances related to employee benefit plans26,659 21,498 
Repurchases of common stock(42,409) 
Payments related to financing arrangements(7,560)(995)
Net cash provided by (used in) financing activities(23,310)20,503 
Effect of exchange rate changes on cash and cash equivalents101 (527)
Net increase in cash and cash equivalents56,602 23,839 
Cash and cash equivalents at beginning of period79,073 51,333 
Cash and cash equivalents at end of period$135,675 $75,172 










See accompanying notes to condensed consolidated financial statements.
7

CALIX, INC.
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)
1. Company and Basis of Presentation
Company
Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of a platform (cloud, software and systems) and managed services that focus on the subscriber-facing network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. This platform and managed services enable broadband service providers (“BSPs”) of all sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from the Calix platform to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.
The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.
The Company’s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31st. As a result, the Company had one less day in the nine months ended September 30, 2023 than for the nine months ended October 1, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.
2. Significant Accounting Policies
The Company’s significant accounting policies are disclosed in its Annual Report on Form 10-K for the year ended December 31, 2022. The Company’s significant accounting policies did not change during the nine months ended September 30, 2023.
Newly Adopted Accounting Standard
The Company did not adopt any new accounting standards during the nine months ended September 30, 2023 that were significant to the Company.

Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended September 30, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.
8

3. Cash, Cash Equivalents and Marketable Securities
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.
Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. There were no realized gains and losses for the three and nine months ended September 30, 2023 and October 1, 2022, respectively.
Cash, cash equivalents and marketable securities consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Cash and cash equivalents:
Cash$30,264 $39,189 
Commercial paper38,093 33,199 
Money market funds35,720 555 
U.S. government securities31,598 5,990 
Corporate debt securities 140 
Total cash and cash equivalents135,675 79,073 
Marketable securities:
U.S. government securities57,134 106,750 
U.S. government agency securities44,370 23,632 
Commercial paper8,358 28,992 
Corporate debt securities4,555 3,168 
Municipal securities 100 
Total marketable securities114,417 162,642 
$250,092 $241,715 
The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities.
9

The amortized cost and fair value of marketable securities were as follows (in thousands):
As of September 30, 2023Amortized CostUnrealized LossesFair Value
U.S. government securities$88,922 $(190)$88,732 
Commercial paper46,473 (22)46,451 
U.S. government agency securities44,801 (431)44,370 
Corporate debt securities4,590 (35)4,555 
$184,786 $(678)$184,108 

As of December 31, 2022Amortized CostUnrealized LossesFair Value
U.S. government securities$114,119 $(1,379)$112,740 
Commercial paper62,262 (71)62,191 
U.S. government agency securities23,876 (244)23,632 
Corporate debt securities3,312 (4)3,308 
Municipal securities101 (1)100 
$203,670 $(1,699)$201,971 
4. Fair Value Measurements
The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.
Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.

The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of September 30, 2023Level 1Level 2Total
Money market funds$35,720 $ $35,720 
U.S. government securities88,732  88,732 
Commercial paper 46,451 46,451 
U.S. government agency securities 44,370 44,370 
Corporate debt securities 4,555 4,555 
$124,452 $95,376 $219,828 

10

As of December 31, 2022Level 1Level 2Total
Money market funds$555 $ $555 
U.S. government securities112,740  112,740 
Commercial paper 62,191 62,191 
U.S. government agency securities 23,632 23,632 
Corporate debt securities 3,308 3,308 
Municipal securities 100 100 
$113,295 $89,231 $202,526 
5. Balance Sheet Details

Accounts receivable, net consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Accounts receivable$80,986 $94,201 
Allowance for doubtful accounts(325)(397)
$80,661 $93,804 
Inventory consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Raw materials$11,696 $640 
Finished goods138,337 148,520 
$150,033 $149,160 
Prepaid expenses and other current assets consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Supplier deposits    $65,891 $39,064 
Prepaid expenses and other current assets40,948 23,627 
$106,839 $62,691 
Notes Receivable
The Company has notes receivable with one customer related to the sale of hardware. The notes receivable are secured by the underlying hardware and have original terms of three years at interest rates ranging from 5% to 8%. The Company assesses the credit worthiness of this customer on a periodic basis and did not have an allowance for credit losses against these notes as of September 30, 2023. As of September 30, 2023, there was $13.0 million outstanding, of which $5.2 million is included in “Prepaid expenses and other current assets” and $7.8 million in “Other assets” in the accompanying Condensed Consolidated Balance Sheets.
Property and equipment, net consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Test equipment$50,023 $44,106 
Computer equipment13,637 13,396 
Software12,505 10,389 
Leasehold improvements1,990 1,730 
Furniture and fixtures1,261 1,153 
Total79,416 70,774 
Accumulated depreciation and amortization(50,293)(44,940)
$29,123 $25,834 
11

Accrued liabilities consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Compensation and related benefits$24,666 $27,813 
Component inventory held by suppliers13,428 10,280 
Professional and consulting fees6,977 7,307 
Current portion of warranty and retrofit5,795 6,377 
Customer advances or rebates5,449 5,653 
Taxes payable4,742 4,581 
Revenue share payments4,186 7,210 
Operating leases3,996 3,949 
Product returns2,723 2,961 
Business events1,967 3,167 
Insurance1,698 1,785 
Freight1,146 3,649 
Other5,305 5,742 
$82,078 $90,474 

Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Balance at beginning of period$8,306 $8,654 $8,386 $9,594 
Accruals for product warranty and retrofit
1,081 219 2,899 396 
Cost of warranty and retrofit claims
(995)(566)(2,893)(1,683)
Balance at end of period$8,392 $8,307 $8,392 $8,307 

In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. As of September 30, 2023, the liability, including accrued interest, was $4.2 million, which is included in “Accrued liabilities” in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2022, the liability, including accrued interest, was $11.4 million, of which $7.2 million was included in “Accrued liabilities” and $4.2 million in “Other long-term liabilities.”
12

6. Commitments and Contingencies
Lease Commitments
The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of September 30, 2023 (in thousands):
PeriodFuture Minimum Lease Payments
Remainder of 2023$1,108 
20244,664 
20254,466 
20261,485 
2027 and thereafter1,785 
Total future minimum lease payments13,508 
Less imputed interest(1,066)
$12,442 

As of September 30, 2023, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,996 
Operating leases8,446 
$12,442 
The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $5.5 million and are included in the table above.
The weighted average discount rate for the Company’s operating leases as of September 30, 2023 was 5.4%. The weighted average remaining lease term as of September 30, 2023 was 3.3 years.
For the three and nine months ended September 30, 2023, total rent expense of the Company was $1.2 million and $3.6 million, respectively. For the three and nine months ended October 1, 2022, total rent expense of the Company was $1.2 million and $3.4 million, respectively. Cash paid within operating cash flows for operating leases was $3.4 million for the nine months ended September 30, 2023 and October 1, 2022 for each respective period.
Purchase Commitments
The Company’s suppliers, including contract manufacturers (“CMs”) and original design manufacturers (“ODMs”), place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of September 30, 2023 and December 31, 2022, the Company had approximately $227.2 million and $340.6 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within two years.
The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $13.4 million and $10.3 million as of September 30, 2023 and December 31, 2022, respectively. The Company records the related charges in cost of revenue in its Condensed Consolidated Statements of Comprehensive Income.
13

Litigation
From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceeding that, if determined adversely to the Company, in management’s opinion, is currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.
7. Stockholders’ Equity
2019 Equity Incentive Award Plan
Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (“the 2019 Plan”). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 1.5 million shares. As of September 30, 2023, there were 5.4 million shares available for issuance under the 2019 Plan.
During the three months ended September 30, 2023, stock option awards exercisable for up to an aggregate of 0.3 million shares of common stock were granted with a grant date weighted-average exercise price of $41.18 per share. During the nine months ended September 30, 2023, stock option awards exercisable for up to an aggregate of 0.9 million shares of common stock were granted with a grant date weighted-average exercise price of $46.25 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.
In February 2023, performance-based stock option awards exercisable for up to an aggregate of 1.2 million shares of common stock were granted to certain Company executives with a grant date exercise price of $51.57 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net operating income for 2023 (collectively, the “2023 Performance Targets”) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company’s Board of Directors upon the achievement of the 2023 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. If the non-GAAP net operating income target and the bookings target are each achieved below 80% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If either target is achieved at the minimum threshold of 80% of target, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 125% of the granted shares for each target. Each target result is then weighted by 50% and the combined total determines the percent of target shares. The maximum combined award is 100%. The probability of meeting a portion of the performance conditions related to these performance-based stock option awards was assessed to be probable as of September 30, 2023 based on adjusted targets, and stock-based compensation expense of $2.8 million was recognized for the three months ended September 30, 2023. For the nine months ended September 30, 2023, stock-based compensation expense of $9.7 million was recognized.
During the three months ended September 30, 2023, 61,000 shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $9.01 per share. During the nine months ended September 30, 2023, 0.3 million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $11.93 per share. As of September 30, 2023, unrecognized stock-based compensation expense of $84.6 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.1 years.
Employee Stock Purchase Plans
The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”).
The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations.
The offering periods under the ESPP are two six-month offering periods from August 15th through February 14th and February 15th through August 14th of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. As of September 30, 2023, there were 4.5 million shares available for issuance under the ESPP. During the nine months ended September 30, 2023, 0.2 million shares were purchased under the ESPP. As of September 30, 2023, unrecognized stock-based
14

compensation expense of $1.2 million related to the ESPP is expected to be recognized over a remaining service period of 0.4 years.
The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible recurring compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides quarterly offering periods from February 8th through May 7th, May 8th through August 7th, August 8th through November 7th and November 8th through February 7th of each year, with a maximum of 0.25 million shares allocated per purchase period.
At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 1.2 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 7.5 million shares. As of September 30, 2023, there were 3.6 million shares available for issuance under the NQ ESPP. During the nine months ended September 30, 2023, 0.6 million shares were purchased and issued. As of September 30, 2023, unrecognized stock-based compensation expense of $11.4 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.8 years.
Stock-Based Compensation
The following table summarizes stock-based compensation expense (in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Cost of revenue$734 $698 $2,314 $1,964 
Sales and marketing4,333 3,082 13,818 8,412 
Research and development4,245 2,808 13,417 8,812 
General and administrative6,714 4,439 20,541 12,314 
$16,026 $11,027 $50,090 $31,502 
Income tax benefit recognized$2,578 $1,691 $9,685 $7,818 
Stock Repurchase Program
The Company has in place a stock repurchase program for up to $100 million of the Company’s common stock. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases depends on prevailing stock prices, general economic and market conditions, and other considerations consistent with the Company’s capital allocation strategy. The repurchase program does not obligate the Company to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. For the nine months ended September 30, 2023, the Company purchased 1.0 million shares of common stock for $42.4 million at an average price per share of $44.47. As of September 30, 2023, the remaining balance under this authorization was $57.6 million.
8. Revenue from Contracts with Customers
The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
15

Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
United States$235,128 $215,857 $695,491 $565,420 
Europe19,377 7,178 46,483 16,705 
Americas ex U.S.7,414 11,557 26,280 31,236 
Middle East & Africa1,740 1,223 5,888 8,940 
Asia Pacific176 519 717 1,023 
$263,835 $236,334 $774,859 $623,324 
Contract Asset
Contract assets include amounts recognized as revenue prior to the Company’s contractual right to bill the customer. Amounts are billed in accordance with the agreed-upon contractual terms. The closing balance as of September 30, 2023 was $5.5 million of which the Company expects to bill 47% of the balance during the remainder of 2023. The contract asset balance may fluctuate depending on the timing of fulfilling the related performance obligations with the Company's customers.
Contract Liability
Deferred revenue was $60.4 million, $67.2 million and $58.6 million as of September 30, 2023, July 1, 2023 and December 31, 2022, respectively. The decrease in the deferred revenue balance for the three months ended September 30, 2023 was the result of revenue recognized of $16.7 million that was included in the deferred revenue balance at the beginning the period offset by cash payments received or due in advance of satisfying the Company’s performance obligations. The increase in the deferred revenue balance for the nine months ended September 30, 2023 was driven by cash payments received or due in advance of satisfying the Company’s performance obligations and balances reclassified to contract assets during the period offset by $26.1 million of revenue recognized that was included in the deferred revenue balance at the beginning of the period.
Revenue allocated to remaining performance obligations (“RPOs”) represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods but excludes variable consideration where the monthly invoicing is based on usage or where actual usage exceeds the minimum commitment. RPOs were $219.5 million as of September 30, 2023, and the Company expects to recognize as revenue 39% of this amount over the next 12 months and the remainder thereafter.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of September 30, 2023 and December 31, 2022, the unamortized balance of deferred commissions was $10.9 million and $11.2 million, respectively. For the three and nine months ended September 30, 2023, the amount of amortization was $1.7 million and $4.6 million, respectively, compared to $1.0 million and $2.6 million for the three and nine months ended October 1, 2022, respectively. There was no impairment loss in relation to the costs capitalized for either period.
Concentration of Customer Risk
No customer accounted for more than 10% of the Company’s revenue for the three or nine months ended September 30, 2023 and October 1, 2022.
Two customers represented 16% and 13%, respectively, of the Company’s accounts receivable as of September 30, 2023. One customer represented 11% of the Company’s accounts receivable as of December 31, 2022.
9. Income Taxes
The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Income before income taxes$18,143 $20,466 $43,781 $39,955 
Income taxes$1,190 $7,023 $7,857 $10,872 
Effective tax rate6.6 %34.3 %17.9 %27.2 %
The Company’s income taxes for the three and nine months ended September 30, 2023 and October 1, 2022 were determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The Company’s
16

effective tax rate for the three and nine months ended September 30, 2023 and October 1, 2022 differed from the statutory federal corporate tax rate of 21% primarily due to state taxes, the effect of non-deductible stock-based compensation for executive officers offset by the favorable impact of U.S. federal research tax credits, excess tax benefits from stock-based compensation and the U.S. tax impact of foreign operations. For the three and nine months ended September 30, 2023, the Company recognized a tax benefit of $3.6 million related to the finalization of its 2022 tax returns.
The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards, capitalized research and development costs and tax credits. The Company’s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations. Management believes that it is more likely than not that the Company will utilize a significant portion of its deferred tax assets.
The Company maintained a valuation allowance for the three and nine months ended September 30, 2023 and October 1, 2022 of $29.9 million and $30.9 million, respectively, on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.
The Company considered scheduled reversals of deferred tax liabilities, historic profitability, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company’s financial position and net income in the period of the adjustment.
10. Net Income Per Common Share
The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Numerator:
Net income$16,953 $13,443 $35,924 $29,083 
Denominator:
Weighted-average common shares outstanding used to compute basic net income per share66,288 65,355 66,201 64,892 
Effect of dilutive common stock equivalents3,291 3,819 3,443 3,695 
Weighted-average common shares outstanding used to compute diluted net income per share69,579 69,174 69,644 68,587 
Net income per common share:
Basic net income per common share$0.26 $0.21 $0.54 $0.45 
Diluted net income per common share$0.24 $0.19 $0.52 $0.42 
Potentially dilutive shares excluded, weighted average4,958 1,724 4,022 1,803 
Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.
17

ITEM 2.Management’s Discussion and Analysis of Financial Condition and Results of Operations
This report includes “forward-looking statements” within the meaning of Section 27A of the Securities Act and Section 21E of the Securities and Exchange Act of 1934, as amended, or the Exchange Act. All statements other than statements of historical facts are “forward-looking statements” for purposes of these provisions, including any projections of earnings, revenue or other financial items, any statement of or concerning the following: the plans and objectives of management for future operations, proposed new products or licensing, product development, anticipated customer demand or capital expenditures, anticipated growth and trends in our business and industry, future economic and/or market conditions or performance and assumptions underlying any of the above. In some cases, forward-looking statements can be identified by the use of terminology such as “could,” “may,” “will,” “would,” “expects,” “believes,” “intends,” “plans,” “anticipates,” “estimates,” “projects,” “predicts,” “potential,” or “continue” or the negative thereof or other comparable terminology. Readers are cautioned that these forward-looking statements are only predictions and are subject to risks, uncertainties and assumptions that are difficult to predict. Although we believe that the expectations reflected in the forward-looking statements contained herein are reasonable, there can be no assurance that such expectations or any of the forward-looking statements will prove to be correct, and actual results could differ materially from those projected or assumed in the forward-looking statements. Our future financial condition and results of operations, as well as any forward-looking statements, are subject to inherent risks and uncertainties, including those identified in the Risk Factors discussed in Part II, Item 1A, of this report on Form 10-Q, as well as in other sections of this report and in our Annual Report on Form 10-K for the year ended December 31, 2022. All forward-looking statements and reasons why results may differ included in this Quarterly Report on Form 10-Q are made as of the date hereof, and we assume no obligation to update these forward-looking statements or reasons why actual results might differ.
Overview
We are the leading global provider of a broadband delivery platform (cloud, software and systems) and managed services that enable service providers of all types and sizes to innovate and transform their businesses. For our customers to successfully transform their businesses into the innovative BSPs of the future, they require actionable data for critical business functions such as network operations, customer support and marketing. However, this data is often trapped in disparate systems or departmental silos. Our Calix platform, which includes Calix Cloud, Revenue EDGE and Intelligent Access EDGE, gathers, analyzes and applies machine learning to deliver real-time insights seamlessly to each key business function. Our customers utilize these insights and data to simplify network operations, marketing and customer support and deliver experiences that excite their subscribers. This enables BSPs to grow their brand through increased subscriber acquisition, loyalty and revenue and to reduce their operating costs, creating value for their businesses and the communities they serve.
We market our Calix platform and managed services to communication service providers globally through our direct sales force as well as select resellers. Our customers range from smaller, regional service providers to some of the world’s largest service providers. Customers are defined into small (less than 250,000 subscribers), medium (250,000 to 2.5 million subscribers) or large (greater than 2.5 million subscribers). We have enabled approximately 1,900 customers purchasing directly and through partners to deploy passive optical, Active Ethernet and point-to-point Ethernet fiber access networks.
Our revenue and potential revenue growth will depend on our ability to develop, market and sell our platform and managed services to strategically aligned customers of all types such as WISPs, fiber overbuilders, cable MSOs, municipalities and electric cooperatives in the United States and internationally. Our growth is also highly dependent on the speed and willingness of customers to adopt the Calix platform and managed services.
Revenue fluctuations result from many factors, including, but not limited to: increases or decreases in customer orders for our products and services, market, financial or other factors that may delay or materially impact customer purchasing decisions, non-availability of products due to supply chain challenges, including component and labor shortages and increasing lead times as well as disruptions as a result of pandemics or natural disasters, contractual terms with customers that result in delayed revenue recognition and varying budget cycles and seasonal buying patterns of our customers. More specifically, our customers have in the past spent less in the first quarter as they are finalizing their annual budgets, and in certain regions, customers are challenged by winter weather conditions that inhibit fiber deployment in outside infrastructure. Our revenue is also dependent upon our customers’ timing of purchases, capital expenditure plans and decisions to upgrade their networks or adopt new technologies, including adoption of our software and cloud platform solutions, as well as our ability to grow our customer base.
Cost of revenue is strongly correlated to revenue and tends to fluctuate due to all of the above factors that may cause revenue fluctuations. Factors that have impacted our cost of revenue for the three and nine months ended September 30, 2023, or that we expect will impact cost of revenue in future periods, also include: changes in the mix of products delivered, customer location and regional mix, changes in the cost of our inventory, including higher costs due to materials shortages including components, supply constraints, investments to support expansion of cloud and customer support offerings as well as our customer success organization, changes in product warranty, incurrence of retrofit costs, amortization of intangibles, support fees for silicon-related development work for our products, changes in trade policies, allowances for obligations to our suppliers and inventory
18

write-downs. In addition, we periodically elect to ship by air versus by ocean in order to meet delivery commitments to our customers, which is more costly. Cost of revenue also includes fixed expenses related to our internal operations, which could increase our cost of revenue as a percentage of revenue if our revenue declines.
Our gross profit and gross margin fluctuate based on timing of factors such as changes in customer mix and changes in the mix of products demanded and sold (and any related write-downs of existing inventory or accrual for supplier commitments) and have in the past been and may be negatively impacted by increases in mix of revenue from channel sales rather than direct sales or other unfavorable customer or product mix, shipment volumes and any related volume discounts, changes in our product and services costs, pricing decreases or discounts, new product introductions or upgrades to existing products, customer rebates and incentive programs due to competitive pressure or materials shortages, supply constraints, investments to support expansion of cloud and customer support offerings, tariffs or unfavorable changes in trade policies.
Our operating expenses fluctuate based on the following factors among others: changes in headcount and personnel costs, which comprise a significant portion of our operating expenses; variable compensation due to fluctuations in shipment volumes or level of achievement against performance targets; timing of research and development expenses, including investments in innovative solutions and new customer segments, prototype builds and outsourced development resources; investments in marketing programs; asset write-offs; investments in our business and information technology infrastructure; and fluctuations in stock-based compensation expenses due to timing of equity grants or other factors affecting vesting.
Further, as a result of factors contributing to the fluctuations described above among other factors, many of which are outside our control, our quarterly operating results fluctuate from period to period. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance.
Critical Accounting Policies and Estimates
Our financial statements are prepared in accordance with U.S. GAAP. These accounting principles require us to make certain estimates and judgments that can affect the reported amounts of assets and liabilities as of the date of the financial statements, as well as the reported amounts of revenue and expenses during the periods presented. Management bases its estimates, assumptions and judgments on historical experience and on various other factors that are believed to be reasonable under the circumstances. To the extent there are material differences between these estimates and actual results, our financial statements may be affected. Our management evaluates its estimates, assumptions and judgments on an ongoing basis.
Our critical accounting policies and estimates, which are revenue recognition, inventory valuation and supplier purchase commitments and income taxes, are described under “Critical Accounting Policies and Estimates” in “Management’s Discussion and Analysis of Financial Condition and Results of Operations” included in our Annual Report on Form 10-K for the year ended December 31, 2022. For the nine months ended September 30, 2023, there have been no significant changes in our critical accounting policies and estimates.
Recent Accounting Pronouncements
There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended September 30, 2023 as compared to the recent accounting pronouncements described in our Annual Report on Form 10-K for the year ended December 31, 2022 that are significant or expected to be significant to us.
Results of Operations
Comparison of the Three and Nine Months Ended September 30, 2023 and October 1, 2022
Revenue
The following table sets forth our revenue (dollars in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
Revenue$263,835 $236,334 $27,501 12 %$774,859 $623,324 $151,535 24 %
Our revenue increased by $27.5 million and $151.5 million for the three and nine months ended September 30, 2023, respectively, as compared to the corresponding periods in 2022. The increase in revenue was primarily due to higher revenue from our growing base of small and medium BSP customers and the continuation of BSPs seeking to provide their subscribers a better experience by adopting our platform and managed services. During the second half of 2022, we added a new medium-
19

sized customer that began to receive significant shipments during the second half of 2022 and the nine months ended September 30, 2023.
For the three and nine months ended September 30, 2023, United States revenue was $235.1 million and $695.5 million, or 89% and 90% of our revenue, compared to $215.9 million and $565.4 million, or 91% of our revenue for the same periods in 2022. International revenue was $28.7 million and $79.4 million, or 11% and 10% of our revenue, for the three and nine months ended September 30, 2023, as compared to $20.5 million and $57.9 million, or 9% of our revenue, for the same periods in 2022.
No customer accounted for more than 10% of the Company’s revenue for the three and nine months ended September 30, 2023 and October 1, 2022.
Gross Profit and Gross Margin
The following table sets forth our gross profit and gross margin (dollars in thousands):
 Three Months EndedNine Months Ended
 September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
Gross profit$140,549 $118,572 $21,977 19 %$405,070 $310,544 $94,526 30 %
Gross margin53.3 %50.2 %52.3 %49.8 %
Gross profit increased to $140.5 million and $405.1 million for the three and nine months ended September 30, 2023, from $118.6 million and $310.5 million during the corresponding periods in 2022. The increase in gross margin of 310 and 250 basis points for the three and nine months ended September 30, 2023, respectively, compared to the corresponding periods in 2022, was mainly due to increased contributions from our platform and managed services, a shift in product mix and the sell through of a lower amount of excessively priced components acquired in the secondary market during the supply-chain disruption partially offset by excess and obsolete inventory charges.
Operating Expenses
Sales and Marketing Expenses
The following table sets forth our sales and marketing expenses (dollars in thousands):
 Three Months EndedNine Months Ended
 September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
Sales and marketing expenses$52,356 $46,134 $6,222 13 %$158,817 $123,363 $35,454 29 %
Percent of revenue20 %20 %20 %20 %
Sales and marketing expenses for the three months ended September 30, 2023 increased by $6.2 million compared with the corresponding period in 2022 primarily due to increases in personnel expenses of $5.8 million mainly related to sales headcount and higher sales incentive compensation and in stock-based compensation of $1.3 million, partially offset by lower marketing expenses of $1.4 million.
Sales and marketing expenses for the nine months ended September 30, 2023 increased by $35.5 million compared with the corresponding period in 2022 primarily due to increases in personnel expenses of $25.8 million mainly related to sales headcount and higher sales incentive compensation, stock-based compensation of $5.4 million and travel expenses of $2.2 million.
We expect our investments in sales and marketing will increase in absolute dollars, but be relatively consistent as a percentage of revenue, as we extend our market reach and grow our business in support of our key strategic initiatives.
20

Research and Development Expenses
The following table sets forth our research and development expenses (dollars in thousands):
 Three Months EndedNine Months Ended
 September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
Research and development expenses$46,963 $33,196 $13,767 41 %$135,477 $93,443 $42,034 45 %
Percent of revenue18 %14 %17 %15 %
Percentage of gross profit33 %28 %33 %30 %
Research and development expenses for the three months ended September 30, 2023 increased by $13.8 million as compared with the corresponding period in 2022 mainly due to increases in personnel expenses of $10.7 million, stock-based compensation of $1.4 million, prototypes and test equipment expenses of $0.9 million, and depreciation and amortization of $0.9 million.
Research and development expenses for the nine months ended September 30, 2023 increased by $42.0 million as compared with the corresponding period in 2022 mainly due to increases in personnel expenses of $27.9 million, stock-based compensation of $4.6 million, prototypes and test equipment expenses of $3.2 million, depreciation and amortization of $2.4 million and outside services of $1.9 million.
We expect our investments in research and development to increase in absolute dollars, but remain relatively consistent as a percentage of gross profit, as we seek to expand the functionality and capabilities of our platforms.
General and Administrative Expenses
The following table sets forth our general and administrative expenses (dollars in thousands):
 Three Months EndedNine Months Ended
 September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
General and administrative expenses$25,301 $19,237 $6,064 32 %$73,100 $54,179 $18,921 35 %
Percent of revenue10 %%%%
General and administrative expenses for the three months ended September 30, 2023 increased by $6.1 million as compared with the corresponding period in 2022 mainly due to increases in personnel expenses of $3.2 million and stock-based compensation of $2.3 million. We plan to continue to invest in our information technology infrastructure and headcount due to the growth of our business.
General and administrative expenses for the nine months ended September 30, 2023 increased by $18.9 million as compared with the corresponding period in 2022 mainly due to increases in personnel expenses of $9.0 million, stock-based compensation of $8.2 million and outside services of $1.1 million.
We expect our general and administrative investments to increase in absolute dollars but decline slightly as a percentage of revenue over time in relation to increased revenue.
21

Interest and Other Expense, net
The following table sets forth our interest and other expense, net (dollars in thousands):
 Three Months EndedNine Months Ended
 September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
Interest and other expense, net$2,214 $461 $1,753 380 %$6,105 $396 $5,709 1,442 %
Percent of revenue%— %%— %
Interest and other expense, net increased by $1.8 million and $5.7 million as compared with the corresponding periods in 2022 mainly due to a higher rate of interest earned on our cash, cash equivalents and marketable securities as well as a larger cash and investments balance year over year.
Income Taxes
The following table sets forth our income taxes (dollars in thousands):
 Three Months EndedNine Months Ended
 September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
September 30,
2023
October 1,
2022
Variance
in
Dollars
Variance
in
Percent
Income taxes$1,190 $7,023 $(5,833)(83)%$7,857 $10,872 $(3,015)(28)%
Effective tax rate6.6 %34.3 %17.9 %27.2 %
For the three and nine months ended September 30, 2023, our income tax expense was $1.2 million and $7.9 million for an effective tax rate of 6.6% and 17.9%, respectively, which differed from the statutory rate of 21% primarily due to state taxes, the effect of non-deductible stock-based compensation for executive officers offset by the favorable impact of U.S. federal research tax credits, excess tax benefits from stock-based compensation and the U.S. tax impact of foreign operations. The effective tax rates for the three and nine months ended September 30, 2023 are lower than the similar periods in 2022 primarily as a result of additional U.S. federal research tax credits and the U.S. tax impact of foreign operations. For the three and nine months ended September 30, 2023, we recognized a tax benefit of $3.6 million related to the finalization of our 2022 tax returns.
Our income taxes may be subject to fluctuation during the year and in future years as new information is obtained. This may affect the assumptions used to estimate the annual effective tax rate, including factors such as actual results differing from our estimates of pre-tax earnings in the various jurisdictions in which we operate, which could impact the recognition of our deferred tax assets, further benefits from stock option exercises, investments in our foreign operations, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where we conduct business.
Liquidity and Capital Resources
Historically, we have funded our operations and investing activities primarily through sales of our common stock, cash flow generated from operations and various borrowing arrangements. For the past few years, we have generated cash flow from our operations as our business has grown. As of September 30, 2023, we had cash, cash equivalents and marketable securities of $250.1 million, which consisted of deposits held at banks and major financial institutions and highly liquid marketable securities such as U.S. government agency securities and commercial paper.
Operating Activities
Net cash provided by operating activities was $41.3 million for the nine months ended September 30, 2023 and consisted of net income of $35.9 million and non-cash charges of $63.4 million offset by cash flow decreases of $58.0 million reflected in the net change in assets and liabilities. Non-cash charges primarily consisted of stock-based compensation of $50.1 million and depreciation and amortization of $12.2 million.
Cash flow decreases resulting from the net change in assets and liabilities primarily consisted of an increase in prepaid expenses and other assets of $48.5 million mainly due to advanced payments to supply chain partners, an increase in prepaid taxes and reclassification of contract assets from deferred revenue; a decrease in accounts payable of $19.8 million related to the timing of vendor payments; and a decrease in accrued liabilities of $3.8 million due to the payout of incentive compensation and payments related to our Calix ConneXions 2022 Customer Success and Innovation conference. These changes were partially offset by a decrease in accounts receivable of $13.1 million, mainly due to increased linearity of shipments in the third quarter of 2023 resulting in higher collections in the quarter.
22

Net cash provided by operating activities was $21.1 million for the nine months ended October 1, 2022 and consisted of net income of $29.1 million and non-cash charges of $47.0 million offset by cash flow decreases of $55.0 million reflected in the net change in assets and liabilities. Non-cash charges primarily consisted of stock-based compensation of $31.5 million, depreciation and amortization of $10.8 million and deferred income taxes of $5.2 million. Cash flow decreases resulting from the net change in assets and liabilities primarily consisted of an increase in inventory of $52.2 million to improve our responsiveness to customer demand, an increase in prepaid expenses and other assets of $32.9 million mainly due to advanced payments to supply chain partners and an increase in accounts receivable of $15.3 million in line with our revenue growth. These changes were partially offset by an increase in accounts payable of $36.2 million due to increased inventory purchases and an increase in deferred revenue of $9.1 million due to Calix Cloud and Revenue Edge subscriptions.
Investing Activity
For the nine months ended September 30, 2023, cash used in investing activities of $38.5 million consisted of net purchases of marketable securities of $52.4 million and capital expenditures of $13.9 million, consisting primarily of purchases of test and computer equipment and software.
For the nine months ended October 1, 2022, cash used in investing activities of $17.2 million consisted of net purchases of marketable securities of $8.0 million and capital expenditures of $9.3 million, consisting primarily of purchases of test and computer equipment.
Financing Activities
Net cash used in financing activities of $23.3 million for the nine months ended September 30, 2023 primarily consisted of purchases of our common stock of $42.4 million and payments related to a financing arrangement of $7.6 million. This was partially offset by proceeds from the issuance of common stock related to our equity plans of $26.7 million.
Net cash provided by financing activities of $20.5 million for the nine months ended October 1, 2022 primarily consisted of proceeds from the issuance of common stock related to our equity plans of $21.5 million partially offset by payments related to a financing arrangement of $1.0 million.
Working Capital and Capital Expenditure Needs
Our material cash commitments include non-cancelable firm purchase commitments, normal recurring trade payables, compensation-related and expense accruals, operating leases and revenue-share obligations. We believe that our outsourced approach to manufacturing provides us significant flexibility in both managing inventory levels and financing our inventory. Furthermore, our Board of Directors has authorized a common stock repurchase program for up to $100 million of which $57.6 million remained available as of September 30, 2023. Our stock repurchase program does not require us to purchase a specific number of shares and may be modified, suspended or terminated at any time.
We believe, based on our current operating plan and expected operating cash flows, that our existing cash, cash equivalents and marketable securities will be sufficient to meet our anticipated cash needs for at least the next twelve months. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to terminate our stock repurchase program, limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which may adversely impact our business and potential growth.
Contractual Obligations and Commitments
Our principal commitments as of September 30, 2023 consisted of our contractual obligations under non-cancelable outstanding purchase obligations, operating lease obligations for office space and a revenue share obligation. The following table summarizes our contractual obligations as of September 30, 2023 (in thousands):
Payments Due by Period
TotalLess Than 1 Year1-3 Years3-5 YearsMore Than 5 Years
Non-cancelable purchase commitments (1)
$275,666 $178,537 $82,816 $9,882 $4,431 
Operating lease obligations (2)
13,508 4,592 6,847 1,735 334 
Revenue share obligation (3)
4,217 4,217 — — — 
$293,391 $187,346 $89,663 $11,617 $4,765 

(1) Represents outstanding purchase commitments to be delivered by our third-party manufacturers or other vendors. See Note 6, “Commitments and Contingencies” of the Notes to Condensed Consolidated Financial Statements included in Part I,
23

Item 1 of this Quarterly Report on Form 10-Q for further discussion regarding our outstanding purchase commitments related to our third-party manufacturers.
(2) Future minimum operating lease obligations in the table above primarily include payments for our office locations, which expire at various dates through 2029. See Note 6 “Commitments and Contingencies” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q for further discussion regarding our operating leases.
(3) Represents remaining payments related to a revenue-share obligation, including imputed interest associated with developed software product and related enhancements by an engineering service provider. See Note 5 “Balance Sheet Details” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q for further discussion regarding our outstanding liability.
ITEM 3. Quantitative and Qualitative Disclosures About Market Risk
Interest Rate Risk
The primary objectives of our investment activity are to preserve principal, provide liquidity and maximize income without significantly increasing risk. By policy, we do not enter into investments for trading or speculative purposes. As of September 30, 2023, we had cash, cash equivalents and marketable securities of $250.1 million, which was held primarily in cash, money market funds and highly liquid marketable securities such as U.S. government agency securities and commercial paper. Due to the nature of these money market funds and highly liquid marketable securities, we believe that we do not have any material exposure to changes in the fair value of our cash equivalents and marketable securities because of changes in interest rates.
Foreign Currency Exchange Risk
Our primary foreign currency exposures are described below.
Economic Exposure
The direct effect of foreign currency fluctuations on our sales and expenses has not been material because our sales and expenses are primarily denominated in U.S. dollars, or USD. However, we are indirectly exposed to changes in foreign currency exchange rates to the extent of our use of foreign CMs whom we pay in USD. Increases in the local currency rates of these vendors in relation to USD could cause an increase in the price of products that we purchase. Additionally, if the USD strengthens relative to other currencies, such strengthening could have an indirect effect on our sales to the extent it raises the cost of our products to non-U.S. customers and thereby reduces demand. A weaker USD could have the opposite effect. The precise indirect effect of currency fluctuations is difficult to measure or predict because our sales are influenced by many factors in addition to the impact of such currency fluctuations.
Translation Exposure
Our sales contracts are primarily denominated in USD and, therefore, most of our revenue is not subject to foreign currency risk. We are directly exposed to changes in foreign exchange rates to the extent such changes affect our expenses related to our foreign assets and liabilities with our subsidiaries in China, India and the United Kingdom, whose functional currencies are Chinese Renminbi, or RMB, Indian Rupee, or INR, and British Pounds Sterling, or GBP.
Our operating expenses are incurred primarily in the United States, in China associated with our research and development operations that are maintained there, in India for our center of excellence and in the United Kingdom for our international sales and marketing activities. Our operating expenses are generally denominated in the functional currencies of our subsidiaries in which the operations are located. The percentages of our operating expenses denominated in the following currencies for the indicated periods were as follows:
 Nine Months Ended
 September 30,
2023
October 1,
2022
USD91 %92 %
RMB%%
INR%%
GBP%%
100 %100 %
24

If USD had appreciated or depreciated by 10%, relative to RMB, INR and GBP, our operating expenses for the first nine months of 2023 would have decreased or increased by approximately $3.4 million, or approximately 1%.
Foreign exchange rate fluctuations may also adversely impact our financial position as the assets and liabilities of our foreign operations are translated into USD in preparing our Condensed Consolidated Balance Sheets. The effect of foreign exchange rate fluctuations on our consolidated financial position for the nine months ended September 30, 2023 was a net translation loss of $71,000. This loss is recognized as an adjustment to stockholders’ equity through “Accumulated other comprehensive loss.”
Transaction Exposure
We have certain assets and liabilities, primarily accounts receivable and accounts payable (including inter-company transactions) that are denominated in currencies other than the relevant entity’s functional currency. In certain circumstances, changes in the functional currency value of these assets and liabilities create fluctuations in our reported consolidated financial position, cash flows and results of operations. Periodically, we use derivatives to hedge against fluctuations in foreign exchange rates. We do not enter into derivatives for speculative or trading purposes. We use foreign currency forward contracts to mitigate variability in gains and losses generated from the re-measurement of certain assets denominated in foreign currencies. These foreign exchange forward contracts typically have maturities of approximately one to two months. As of September 30, 2023, we had no forward contracts outstanding. Transaction gains and losses on these foreign currency denominated assets and liabilities are recognized each period within “Other expense, net” in our Condensed Consolidated Statements of Comprehensive Income. During the nine months ended September 30, 2023, the net loss we recognized related to these foreign currency denominated assets and liabilities was approximately $0.2 million.
ITEM 4.Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Based on their evaluation as of September 30, 2023, our Chief Executive Officer and Chief Financial Officer, with the participation of our management, have concluded that our disclosure controls and procedures (as defined in Rules 13a–15(e) and 15d–15(e) under the Exchange Act) were effective at the reasonable assurance level.
Limitations on the Effectiveness of Controls
Our disclosure controls and procedures provide our Chief Executive Officer and Chief Financial Officer reasonable assurance that our disclosure controls and procedures will achieve their objectives. The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive and principal financial officers, as appropriate, to allow timely decisions regarding required disclosure. Our management, including our Chief Executive Officer and Chief Financial Officer, does not expect that our disclosure controls and procedures or our internal control over financial reporting can or will prevent all human error. Our management recognizes that a control system, no matter how well designed and implemented, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Furthermore, the design of a control system must reflect the fact that there are internal resource constraints, and the benefit of controls must be weighed relative to their corresponding costs. Because of the limitations in all control systems, no evaluation of controls can provide complete assurance that all control issues and instances of error, if any, within our company are detected. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur due to human error or mistake. Additionally, controls, no matter how well designed, could be circumvented by the individual acts of specific persons within the organization. The design of any system of controls is also based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated objectives under all potential future conditions.
Changes in Internal Control over Financial Reporting
There was no change in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
25

PART II. OTHER INFORMATION

ITEM 1. Legal Proceedings
For a description of our material pending legal proceedings, please refer to Note 6 “Commitments and Contingencies – Litigation” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q, which is incorporated by reference.
ITEM 1A. Risk Factors
We have identified the following additional risks and uncertainties that may affect our business, financial condition and/or results of operations. The risks described below include any material changes to and supersede the description of the risk factors disclosed in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2022, as filed with the Securities and Exchange Commission on February 21, 2023. Investors should carefully consider the risks described below, together with the other information set forth in this Quarterly Report on Form 10-Q, before making any investment decision. The risks described below are not the only ones we face. Additional risks not currently known to us or that we currently believe are immaterial may also significantly impair our business operations. Our business could be harmed by any of these risks. The trading price of our common stock could decline due to any of these risks, and investors may lose all or part of their investment.
Business and Operational Risks
We face risks associated with being materially dependent upon third-party vendors; certain factors that affect our business as a result of those dependencies have and could continue to disrupt our business and adversely impact our gross margin and results of operations.
We materially depend upon third-party vendors for our complex global supply-chain operations, including for services to develop, design and source components and materials, as well as manufacture, transport and deliver our products. If any of these vendors stop providing their services, for any reason, we would have to obtain similar services from other sources, which may not be available on commercially reasonable terms, if at all. We also have limited control over disruptions that may occur at the facilities of those providers, such as supply interruptions, labor shortages, strikes, shipping backlogs at ports and similar disruptions to transportation infrastructure, design and manufacturing failures, quality control issues, systems failures or even facility closures arising from pandemics or natural disasters. In addition, switching development firms or manufacturers could delay the manufacture and availability of products and/or require us to re-qualify our products with our customers, which would be costly and time-consuming. Any interruption in the development, supply or distribution of our products would adversely affect our ability to meet scheduled product deliveries to our customers and could result in lost revenue or higher costs, which would negatively impact our gross margin and operating results and harm our business.
Particular risks associated with management of our global supply chain operations include the following:
Manufacturing constraints, shortages and other disruptions. We do not have internal manufacturing capabilities and rely solely on a small number of contract manufacturers, or CMs, and original design manufacturers, or ODMs, to manufacture and supply our products. Our business operations and ability to supply our products are highly dependent upon our ability to secure adequate third-party manufacturing capabilities and capacity and to effectively manage those third parties to meet our business needs. Our dependence solely on third-party manufacturers makes us vulnerable to possible supply and capacity constraints and reduces our control over manufacturing disruptions due to component availability, extended lead times delivery schedules, quality, manufacturing yields and increased costs. Some of these risks occur from time to time in our business, including recent increases in component costs. If these disruptions and constraints are prolonged, or if these manufacturers do not have the ability or business continuity plans to fulfill their obligations to us, our business could be disrupted. If we cannot effectively manage our vendors or if we fail to invest adequate resources to manage our supply chain operations, our ability to meet customer orders and generate revenue may be negatively impacted. A substantial portion of our manufacturing is done at facilities outside of the U.S., largely in Asia, which presents increased supply risk, including the risk of supply interruptions, delays, shortages or reductions in manufacturing quality or controls. In addition, these supply interruptions, delays and shortages could impair our ability to meet our customer requirements, require us to pay higher prices or incur expedite fees, which would harm our business and negatively impact our gross margin and results of operations. Our international manufacturing also creates risks and uncertainties associated with regulatory changes or government actions such as local business requirements, trade restrictions and tariffs, economic sanctions or related legislation, which may complicate our export and import activities, be disruptive to the operations of our manufacturers and logistics partners or result in higher product and shipping costs and variability of supply. For example, in 2022, substantially all our silicon suppliers extended their lead times and increased prices. Prices remain high, and while many silicon suppliers have begun
26

reducing their lead-times, we continue to face extended lead times. Manufacturing in Asia further heightens our risk of meeting customer delivery requirements as we rely upon third-party logistics companies to transport and import significant volumes of products to the U.S. where we generate a substantial majority of our revenue. These supply chain risks are further increased by periodic shipping backlogs at ports and similar disruptions to transportation infrastructure.
Limited sources and sole-sourced supply. We are dependent upon sole-source or limited-source suppliers for some key product components such as chipsets and certain of our application-specific integrated circuit processors and resistor components, including certain components sourced solely through suppliers located in China and other Asian countries. Any of these suppliers could stop producing our components, raise the prices they charge us, be subject to higher product tariffs, epidemics or other conditions that disrupt their operations, cease operations or enter into exclusive arrangements with our competitors, consequently affecting our operations and results. For example, we have experienced disruptions in our supply of certain components that we source from suppliers in China and other Asian countries due to production disruptions, factory closures and longer lead times for components and from uncertainty around trade and tariff policies between the U.S. and China, which caused delays in our product supply. Being dependent upon a limited number of suppliers constrains our ability to mitigate these disruptions in our supply chain, particularly if such disruptions are prolonged. This may adversely affect our ability to obtain components and materials needed to manufacture our products at acceptable prices or at all. These risks would adversely affect our ability to meet scheduled product deliveries to our customers, increase costs and in turn harm our business and results of operations.
Limitations on ability to manage third-party risks. Our business with certain third-party manufacturers may represent a relatively small percentage of their revenue. Consequently, our orders may not be given adequate priority if such manufacturers have to allocate limited capacity among competing customers. This could delay supplies of product to us or limit our ability to ramp product volumes within desired timeframes. If any of our manufacturing partners are unable or unwilling to continue manufacturing our products in required volumes and at high quality levels, we would have to identify, qualify and select acceptable alternative manufacturers. The time it takes to qualify new third-party manufacturers could disrupt our ability to maintain continuous supply of product to meet customer requirements. An alternative manufacturer may not be available to us when needed or may not be in a position to satisfy our production requirements at commercially reasonable prices and quality. In addition, we and/or our manufacturers may not be able to negotiate commercially reasonable terms and sufficient quantities of component supplies with component and materials suppliers to meet our manufacturing needs because our purchase volumes may be too low for us to be considered a priority customer for securing supplies, particularly when there are shortages or limited availability of key components and materials. As a result, suppliers could stop selling to us and our manufacturers at commercially reasonable prices, or at all. While we have worked to mitigate the cost impact of recent price increases, those efforts may not be successful. Any such interruption or delay may force us and our manufacturers to seek components or materials from alternative sources, which may not be available, or result in higher prices. Switching suppliers could also force us to redesign our products to accommodate new components and could require us to re-qualify our products with our customers, which would be costly and time consuming. A significant interruption in manufacturing or supply availability for any of these reasons would reduce supply to our customers, which would result in lost revenue and harm our customer relationships.
Ability to forecast and manage inventory liability with vendors. We have experienced increases in demand from many customers, in part as a result of higher consumer demand for internet services and improved Wi-Fi; in turn, this has resulted in our shipments being delayed. If we underestimate product demand from our customers, our manufacturers may have inadequate component inventory to meet our demand. If we are not able to adequately anticipate demand, this could interrupt our product manufacturing, increase our cost of revenue associated with expedite fees and air freight and/or result in delays or cancellation of customer orders. If we are unable to deliver products timely to our customers, we may lose customer goodwill or our customers may choose to purchase from other vendors, all of which may have a material negative impact on our revenue and operating results. If we overestimate our product demand, our third-party manufacturers may purchase excess components and build excess inventory, and we could be required to pay for these excess parts or products and their storage costs. For example, as of September 30, 2023, we have provided inventory deposits totaling $65.9 million. Long lead times for component supply, which have been exacerbated by higher demand for certain components, and demand for our products has and is expected to continue to impact our ability to accurately forecast our production requirements. We may incur liabilities for certain component inventory purchases that have been rendered excess or obsolete, which may have an adverse effect on our gross margin, financial condition and results of operations.
27

Security breaches and data loss may expose us to liability, harm our reputation and adversely affect our business.
As part of our business operations, we collect, store, process, use and/or disclose information, including sensitive data relating to our business and personal information about individuals such as our employees and our customers’ subscribers. We process this information to operate our business, including in connection with the provision of our cloud services and by relying on our information systems and data centers (including third-party data centers). We also engage third-party providers to support various internal functions, such as human resources, finance, information technology and electronic communications, as well as the development and delivery of our products and cloud services, which includes collecting, handling, processing and/or storage of data on our behalf. These internal and external functions involve an array of software and systems (including cloud-based) that enable us to conduct, monitor and/or protect our business, operations, systems and information technology assets. Our cloud-based solutions enable us to host our customers’ subscriber data in third-party data centers. Hackers could steal proprietary or personal information related to our business, products, employees, customers, and our customers’ subscribers; hold data ransom; or otherwise interrupt our systems and services or those of our supply chain partners, vendors, customers or others. There have been increasing instances of cybersecurity attacks and security breaches, including sophisticated supply chain attacks. As we and our third-party providers continue to increase our reliance on virtual environments and communications systems and cloud-based solutions to support our work-from-anywhere culture and overall business needs, our exposures to third-party vulnerabilities and security risks also increase. Despite our on-going enhancement of security precautions, hackers are increasingly more sophisticated and aggressive, and our efforts may be inadequate to prevent all incidents of data breach or theft due, for example, to the increased use by attackers of tools and techniques that are specifically designed to circumvent controls, to avoid detection, and to remove or obfuscate forensic evidence.
We and certain of our third-party providers have been subject to cyberattacks and security incidents. The theft, loss or misuse of proprietary or personal data collected, stored or processed by us or our service providers to run our business could result in significant security and remediation costs, regulatory fines and penalties, and/or litigation costs. Even if we and our third-party providers allocate, implement and manage reasonable security and data protection measures, we could experience data loss, unauthorized data disclosure or a breach of our systems, products or those of our third-party data centers that materially impact our business. The continued growth of our cloud-based platform and managed services portfolio and increased reliance on third-party development partners and third-party software and cloud-based solutions increases the likely risks arising from security breaches or data loss. Any data loss or compromise of our systems that collect and process personal information (including personal information of our customers’ subscribers), or third-party data centers where that personal information is stored, could result in loss of confidence in the security of our offerings and loss of customers or customer goodwill. Further, security incidents could subject us to obligations under privacy and data security laws and regulations around the world (including to notify governmental authorities, regulatory bodies and/or affected individuals), lead to liability given the increasing development of such strict laws and regulations, increase the risk of litigation and governmental or regulatory investigation, require us to notify our customers or other counterparties in relation to such incidents, damage our reputation, and adversely affect our business, financial condition, operating results and cash flows. Although we maintain insurance that may apply to cybersecurity risks and liabilities, there can be no guarantee that any or all costs or losses incurred will be partially or fully insured.
If we do not successfully increase our sales through adoption of our new platform and managed service offerings, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.
We have platform and managed service offerings that are new and early in their life cycles and subject to uncertain market demand. If our customers are unwilling to adopt these new offerings, install our new products or deploy our new services, or if we are unable to achieve market acceptance of our products and platform, our business and financial results may be harmed. Moreover, adoption of our cloud product offerings, such as our Revenue EDGE, is dependent upon the success of our customers in investing, marketing, selling and deploying broader services—including managed services—to their subscribers, and our ability to differentiate our products from competing or substitutive product and service offerings. For example, our managed services include managed Wi-Fi, network security, parental controls and an ecosystem of services from partners including Arlo, Bark and Servify. However, if subscriber demand for such services does not grow as expected or declines, or our customers are unable or unwilling to invest in our platform to deploy and market these services, demand for our products may not grow at rates as we anticipate.
Changing market and customer requirements may adversely affect the valuation of our inventory as well as our supplier purchase commitments.
Customer demand for our products can change rapidly in response to market and technology developments. We may, from time to time, adjust inventory valuations downward or end of life certain of our products in response to our assessment of our business strategy as well as consideration of demand from our customers for specific products or product lines. We also periodically evaluate our supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply-chain environment. We record a liability for excess and obsolete components based on our estimated future
28

demand for our products, potential obsolescence of technology and product life cycles. If we fail to accurately plan our inventory levels, which becomes more challenging as component lead times increase, we may have to increase write offs for excess or obsolete inventory, or accrue additional liabilities for component inventory held by our suppliers, both of which could have a material adverse effect on our financial condition and results of operations.
Business and operational risks associated with expanding our international operations could harm our business.
We are subject to business and operational risks associated with our international operations, including our global supply-chain operations and our international offices located in Nanjing, China and Bangalore, India. In addition, we are exposed to risk arising from dependence upon third-party development contractors in India and our Bangalore staff, as well as dependence upon our international sales operations. The risks associated with our international operations also include costs of complying with differing and changing laws and regulatory requirements, tariffs, export quotas, custom duties and other trade restrictions; effects of inflation, currency controls and/or fluctuations in currency exchange rates; limited, inadequate or non-existent IP protection; and uncertainties associated with political conflicts and instabilities, variable economic conditions, terrorist attacks or acts of war. Our development operations and activities in China and India involve these and other significant risks, including: local labor conditions and regulations; knowledge transfer related to our technology and exposure to misappropriation of IP or confidential information, including information that is proprietary to us, our customers and third parties; heightened exposure to changes in the economic, security, political and pandemic conditions; international trade agreements and U.S. tax provisions that could adversely affect our international operations; complexities of managing development timelines and deliverables from abroad; and differences in local business practices and customs that may not align with our expectations and standards.
Along with the foregoing risks, our international sales operations involve risks associated with greater costs and complexity localizing and supporting our products and platform in local markets; evolving privacy regulations, trade regulations, compliance requirements and incremental costs applicable to the qualification, production, sale and delivery of our products; longer collection periods, financial instability and other difficulties impacting collection of accounts receivable in certain jurisdictions; more intense competition including from local equipment suppliers; and our reliance on value added resellers to sell and support our products in international markets given our limited presence and infrastructure outside the U.S. To expand our international operations, we will need to invest resources to attract key talent, build operational infrastructure, execute on our international strategy and drive international market demand for our products. If we invest substantial resources to expand our international operations and are unable to do so successfully and in a timely manner, our financial condition and results of operations may suffer.
If we do not successfully execute our business strategy to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.
Our growth depends upon our ability to increase sales to existing and new service providers of all types and sizes, and the execution of our strategy to increase sales to BSPs involves significant risk. The majority of our revenue is not recurring, and our customers generally have no committed purchase requirements, may cancel orders or cease purchasing our products at any time. If our customers stop purchasing our products for any reason, our business and results of operations would be harmed. If we are unable to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted. Our strategy includes investing in regional sales teams and select channel partners to sell to smaller regional BSPs. A large portion of our current sales are to customers with smaller regional networks and limited capital expenditure budgets. The spending patterns of many of these customers are generally less formal than larger service providers and often characterized by small and sporadic purchases, and the potential revenue from any one of these customers is limited. We rely primarily on channel partners, including value added resellers, internationally and for certain U.S. markets. We face fierce competition for business with key channel partners. If we are unable to engage channel partners, we may fail to grow our sales or our sales may be reduced. Furthermore, we rely on our channel partners to promote and sell our products. The loss of a key channel partner or the failure of our partners to provide adequate services could have a negative effect on customer satisfaction and could cause harm to our business.
Our selling efforts to larger BSPs require substantial investments of technical, marketing and sales resources through lengthy equipment qualification and sales cycles without any assurance of generating sales. We may be required to invest in costly upgrades to meet more stringent performance criteria and interoperability requirements, develop new customer-specific features or adapt our products to meet required standards. We have invested and expect to continue to invest considerable time, effort and expenditures, including investment in product research and development, related to these opportunities without any assurance that our efforts will result in revenue.
The quality of our support and services offerings is important to sustain and increase our sales to new and existing customers. Our services to customers include services to help them deploy our products within their networks. Once our products are deployed within our customers’ networks, they depend on our support organization to resolve any issues relating to those products. If we do not effectively assist our customers in deploying our products, succeed in helping them quickly resolve post-deployment issues or provide effective support, it could adversely affect our ability to sell our products to existing customers
29

and harm our reputation with potential new customers. As a result, our failure to maintain high quality support and services could result in the loss of customers, which would harm our business.
We may have difficulty evolving and scaling our business and operations to meet customer and market demand, which could result in lower profitability or cause us to fail to execute on our business strategies.
In order to grow our business, we will need to continually evolve and scale our business and operations to meet customer and market demand. Evolving and scaling our business and operations places increased demands on our management as well as our financial and operational resources to effectively manage organizational change; design scalable processes; accelerate and/or refocus research and development activities; expand our manufacturing, supply chain and distribution capacity; increase our sales and marketing efforts; broaden our customer-support and services capabilities; maintain or increase operational efficiencies; scale support operations in a cost-effective manner; implement appropriate operational and financial systems; and maintain effective financial disclosure controls and procedures. If we cannot evolve and scale our business and operations effectively, we may not be able to execute our business strategies in a cost-effective manner and our business, financial condition, profitability and results of operations could be adversely affected.
Our business and results of operations have been, and may continue to be, negatively affected global macroeconomic conditions and supply chain constraints, and the demand for broadband products may not be sustained.
Global macroeconomic, financial and supply chain disruptions have impacted most regions in which we sell our products and services and conduct our business operations. For example, BSPs may not invest in our platform or delay infrastructure improvements due to the resulting uncertainty in the global economy. There are no assurances that the demand for our products will remain strong, including as a result of return to office policies and initiatives of various employers. To the extent we experience a renewed or worsening disruption to our business and operations and other adverse residual impacts of a pandemic or further future disruptions, it could have a material adverse effect on our business, results of operations and financial condition.
Litigation and regulatory proceedings could harm our business or negatively impact our results of operations.
In the ordinary course of business, we are subject to legal claims, litigation and regulatory proceedings related to disputes over commercial, competition, IP, labor and employment and other matters. Regardless of the merits of any such claims, litigation and regulatory proceedings are inherently uncertain, and can be costly, disruptive to our business and operations, harmful to our reputation, and distracting to management. In particular, as a technology company, we are subject to IP claims asserting patent, copyright, trademark and/or other infringement claims that are costly to defend and could limit our ability to use some technologies in the future. The risk of such claims is heightened as we expand our products and services and rely on more technologies, including third-party IP rights that we license and incorporate into our products and services. Third parties from whom we license IP may be unable or unwilling to indemnify us for such claims or offer any other remedy to us. Increasingly, patent infringement claims are asserted by patent assertion entities and non-practicing entities, or NPEs, that do not conduct business as an operating company and hold and own patents only for the purpose of aggressively pursuing royalties through infringement assertions or patent infringement litigation. Further, in our industry, the number of assertions by NPEs has continued to increase due in part to patent sales by operating companies to NPEs and availability of litigation financing. We have received and expect to continue to receive assertions from NPEs and other third parties alleging that we may be infringing their patents or other IP rights; offering licenses to such IP; and/or threatening litigation. If our products are found to infringe, these claims could also result in the suspension of our ability to import, market and sell our products and services, product shipment delays or requirements to modify our products or enter into costly settlements or licensing agreements. Such royalty or licensing agreements, if required, may not be available to us on acceptable terms, if at all. Furthermore, we may additionally be financially responsible for claims made against our customers, including costs of litigation and damages awarded, under indemnity obligations which could further negatively impact our results of operations. Protracted litigation could cause us to incur significant defense costs, which would negatively impact our results of operations.
We have a history of fluctuations in our gross margin and operating results, which can make it difficult to predict our future performance and could cause the market price of our stock to decline.
We have a history of fluctuations in our quarterly and annual gross margin and operating results, including fluctuations due to factors outside of our control. Factors that impact variability of our operating results include our ability to predict our revenue and reduce and control our costs, our ability to predict product functions and features desired by our customers, the impact of global economic conditions, our ability to effectively manage our global supply chain operations, our ability to effectively manage third parties upon whom we depend to conduct our business, our customers’ spending patterns and purchasing decisions, the impact of competition, customer adoption of our products, our ability to manage our legal, contractual and regulatory obligations and liabilities, and other risk factors identified in the lead-in to “Management’s Discussion and Analysis of Financial Condition and Results of Operations” above and in this “Risk Factors” section. Our gross margin is further impacted by customer, geographic and product mix, the impact of competition on our prices, our ability to manage our costs
30

associated with components and materials, excess and obsolescence, expedite fees and logistics-related activities, contractual commitments and other product costs. Fluctuating results make it difficult to predict our future performance and could cause the market price of our stock to decline. We expect to continue to incur significant expenses and cash outlays as we seek to expand our business and operations and target new customer opportunities. Given our growth objectives and the intense competitive pressures we face, we may be unable to adequately control our operating expenses or maintain positive operating income. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance. If our revenue or operating results fall below the expectations of investors or securities analysts, or below any guidance we may provide to the market, the market price of our stock would likely decline.
We are exposed to customer credit risks that could adversely affect our operating results and financial condition.
We generally extend credit terms for sales to our customers which exposes us to credit risk. If we are unable to collect our accounts receivable balances as anticipated, our operating results and financial condition will be harmed. A number of factors contribute to this risk, including our ability to adequately assess a customer’s creditworthiness and financial condition, changes in a customer’s financial condition and/or liquidity, our ability to timely collect our accounts receivable from customers, disagreements with customers on invoiced balances and economic downturns or other unanticipated events impacting a customer’s ability to pay. Furthermore, some of our international customers operate in countries with developing economies, volatile financial markets or currency regulations that impact their ability to make payments in U.S. dollars. While we take measures to pursue collections on our accounts receivable, we have from time to time written down accounts receivable and written off doubtful accounts and may need to do so in future periods. The determination of allowances for doubtful accounts involves significant judgment, and if we underestimate our allowance for doubtful accounts, we will have to make further write-downs. Such write-downs or write-offs could negatively affect our operating results for the period in which they occur and could harm our cash flow or our financial condition.
If we lose any of our key personnel, or are unable to attract, train and retain qualified personnel, our ability to manage our business and continue our growth would be negatively impacted.
Our success depends, in large part, on the continued contributions of our key personnel who are highly skilled and would be difficult to replace. Competition for skilled personnel, particularly in software and cloud development and engineering, is intense. We cannot be certain that we will be successful in attracting and retaining qualified personnel, or that newly hired personnel will function effectively, both individually and as a group. If we are unable to effectively recruit, hire and utilize new employees to align with our company objectives, execution of our business strategy and our ability to react to changing market conditions may be impeded, and our business, financial condition and results of operations may suffer. We have operated using a “work-from-anywhere” model since the first half of 2020, and if we do not continue to effectively manage our distributed workforce, we could face challenges maintaining our corporate culture, which could increase attrition or limit our ability to attract personnel. None of our key personnel are bound by a written employment contract to remain with us for a specified period. In addition, we do not currently maintain key person life insurance covering our key personnel. If we lose the services of any key personnel, our business, financial condition and results of operations may suffer.
If we experience disruptions with our enterprise resource planning system, we may not be able to effectively transact business or produce financial statements, which would adversely affect our business, results of operations and cash flows.
In January 2020, we migrated our Oracle enterprise resource planning, or ERP, system to Oracle’s cloud platform. In 2022, we implemented a software billing application on Salesforce.com. With these implementations, we are highly dependent upon Oracle and Saleforce.com to host, manage and maintain our ERP system and supporting applications. Any disruptions to their business or processes, or delays in their ability to provide services to us, may in turn disrupt our business operations or increase costs. Furthermore, we receive quarterly system updates and enhancements on the cloud platform according to Oracle’s release timeline and change management processes, which if not managed properly may disrupt our business operations and delay our ability to process transactions and produce reports necessary to conduct our business. We are highly dependent upon our ERP system for critical business functions, including order processing and management, supply chain and procurement operations, financial planning, accounting and reporting; accordingly, protracted disruption in functionality or processing capabilities of the ERP system could materially impair our ability to process transactions timely or produce accurate financial statements on a timely basis. If our systems suffer prolonged interruption, our results of operations and cash flows would be adversely affected.
31

Risks Related to Our Products
Our products are highly technical and may contain undetected hardware or software defects or software bugs, which could harm our reputation and adversely affect our business.
Our products, including our platform (cloud, software and systems) and managed services, are highly technical and, when deployed, are critical to the operation of many networks. Our products have contained and are subject to defects, bugs or security vulnerabilities, which risks may be exacerbated as we continue to expand our cloud and software portfolio and include services from third-party partners. Some defects in our products may only be discovered after a product has been installed and used by customers and may in some cases only be detected under certain circumstances or after extended use. Any errors, bugs, defects or security vulnerabilities discovered in our products after commercial release could result in loss of revenue or delay in revenue recognition, loss of customers and increased service and warranty and retrofit costs, any of which could adversely affect our business, operating results and financial condition. In addition, we are subject to claims for security and data breach, product liability, tort or breach of warranty. Our contracts with customers contain provisions relating to warranty disclaimers and liability limitations, which may not be upheld. Defending a lawsuit, regardless of its merit, is costly and may divert management’s attention and adversely affect the market’s perception of us and our products. In addition, if our business liability insurance coverage proves inadequate or future coverage is unavailable on acceptable terms or at all, our business, operating results and financial condition could be adversely impacted.
If we are unable to ensure that our products interoperate properly and as required within our customers’ networks, our business will be harmed.
Our products must interoperate with our customers’ existing and planned networks, which often have varied and complex specifications, utilize multiple protocol standards, include software applications and customizations and products from multiple vendors and contain multiple generations of products that have been added over time. As a result, we must continually ensure that our products interoperate properly with these existing and planned networks. To meet these requirements, we must undertake development efforts, including test protocols, that require substantial capital investment and employee resources. We may not accomplish these development goals quickly or cost-effectively, if at all. If we fail to maintain interoperability, we may face substantially reduced demand for our products, which would reduce our revenue opportunities and market share. We rely upon interoperability arrangements with equipment and software vendors for the use or integration of their technology with our products. If these relationships fail, we may have to devote substantially more resources to developing alternative products and processes and our efforts may not be as effective as the combined solutions under our current arrangements. In some cases, these other vendors are either direct competitors or companies that have extensive relationships with our existing and potential customers and influence the purchasing decisions of those customers. Some of our competitors have stronger relationships with some of our interoperability partners, and as a result, our ability to have successful interoperability arrangements with these companies may be harmed, which in turn may harm our ability to successfully sell and market our products.
Our estimates regarding warranty or product obligations are highly subjective. If our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue.
Our products are highly complex, and our product testing may not be adequate to detect all defects, errors, failures and quality issues. Accordingly, our estimates regarding future warranty or product obligations are highly subjective, and if our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue. Quality or performance problems for products covered under warranty could adversely impact our reputation and negatively affect our operating results and financial position. The development and production of new products with high complexity often involves problems with software, components and manufacturing methods. Any significant warranty or other product obligations due to reliability or quality issues arising from defects in software, faulty components or improper manufacturing methods could negatively impact our operating results and financial position due to costs associated with fixing software or hardware defects; high service and warranty expenses; high inventory obsolescence expense; delays in collecting accounts receivable; payment of liquidated damages for performance failures; and loss of customer goodwill and future sales.
Our business and operations depend on proprietary technologies, and our financial performance may suffer if we cannot protect and enforce our IP rights.
Our success and ability to compete depend on proprietary technology. We rely significantly upon patent, copyright, trademark, trade secret and other IP laws, IP registration rights and agreements with our employees, customers, partners, suppliers and other parties, to establish and maintain IP rights necessary for our business and operations. U.S. IP laws afford us only limited protection, and the laws of some foreign countries do not protect proprietary rights to the same extent or at all. Our patent applications may not result in issued patents, and our issued patents may not be enforceable. Our IP rights could be challenged, invalidated, infringed or circumvented, any of which could impair or harm our business and operations and be costly to defend. Our failure to adequately protect our IP rights could result in our competitors offering similar products, resulting in the loss of our competitive advantage and decreased sales.
32

We and our third-party providers may be unable to adequately prevent unauthorized third-party copying or use of our IP. For example, contractual provisions protecting our IP are subject to breach, and our IP is subject to reverse engineering and unlawful distribution. It may become more difficult to adequately protect our IP as we expand our reliance on third parties for the design, development and/or manufacture of our products. In addition, we may become subject to increased risks arising from or related to security breaches, data loss or theft of our data or our IP, and have greater difficulty protecting our IP as our work-from-anywhere workforce and work product become more distributed. Policing the unauthorized use and distribution of our IP is difficult and costly. Litigation, which could result in substantial costs, diversion of resources and harm to our business, may be necessary to enforce our IP rights, protect our trade secrets or determine the validity and scope of proprietary rights.
If we are unable to obtain third-party technology licenses needed for our products and platform solutions, our business and operations will be impaired, and our operating results could be adversely affected.
We increasingly rely on technology licensed from third parties for our products and platform solutions. We may not be able to secure or maintain necessary technology licenses from these third parties on commercially reasonable terms or at all. Third parties may also choose to not renew licenses with us, demand unreasonable license fees or cease to offer technologies that we require. The inability to obtain necessary third-party licenses or to secure reasonable license terms at a cost acceptable to us could harm the competitiveness of our products and solutions, result in lost revenue and adversely affect our operating results. For example, we may be forced to forego product features or platform offerings, including features and offerings we believe are critical to our strategy, accept substitute technology of lower quality or performance standards or incur higher costs, or the time-to-market of our products or product features could be delayed. Furthermore, our ability to utilize third-party technology may be disrupted by disputes over IP rights, including claims of IP infringement, which could prevent us from offering or selling the products that utilize the disputed technology and adversely affect our operating results.
Our use of open-source software could impose limitations on our ability to commercialize our products.
We incorporate open-source software into our products. The terms of many open-source software licenses have not been interpreted by the courts, and there is a risk that such licenses could be construed in a manner that could impose unanticipated conditions or restrictions on our ability to sell our products. In such event, we could be required to make our proprietary software generally available to third parties, including competitors, at no cost, to seek licenses from third parties in order to continue offering our products, to re-engineer our products or to discontinue the sale of our products in the event re-engineering cannot be accomplished on a timely basis or at all, any of which could adversely affect our revenue and operating expenses.
Macroeconomic and Industry Risks
Adverse global economic, market and industry conditions, geopolitical issues and other conditions that impact our increasingly global operations could have a negative effect on our business, results of operations and financial condition and liquidity.
As a global company, our performance is affected by global economic, market and industry conditions (including the current inflationary economic environment, rising interest rates and disruptions related to the banking industry) as well as geopolitical issues and other conditions with global reach. In recent years, concerns about the global economic outlook have adversely affected market and business conditions in general. Macroeconomic weakness and uncertainty make it more difficult for us to manage our operations and accurately forecast revenue, gross margin and operating expenses. Further, recent bank failures and other adverse developments that affect financial institutions, transactional counterparties, or other third parties, or concerns or rumors about these events, have led to market-wide liquidity problems. While we have no borrowings with or deposit exposure to these recently failed banks and have not experienced an adverse impact to our liquidity or to our business operations, financial condition, or results of operations as a result of these recent events, uncertainty may remain over liquidity concerns in the broader financial services industry, and there may be unpredictable impacts to our business and our industry.
Geopolitical issues, such as the Russian invasion of Ukraine, armed conflict between Israel and groups based in surrounding regions, relations between the U.S. and China, tariff and trade policy changes, and increasing potential of conflict involving countries in Asia that are critical to our supply-chain operations, such as Taiwan and China, have resulted in increasing global tensions and create uncertainty for global commerce. In addition, rising inflation in the United States has affected businesses across many industries, including ours, by increasing the costs of labor, employee healthcare, components and freight and shipping, which may further constrain our customers’ or prospective customers’ budgets. To the extent there is a sustained general economic downturn, and our platform and services are perceived by customers or potential customers as costly, or too difficult to deploy or migrate to, our revenue may be disproportionately affected by delays or reductions in spending. Sustained or worsening of global economic conditions and geopolitical issues may increase our cost of doing business, materially disrupt our supply chain operations, cause our customers to reduce or delay spending and intensify pricing pressures. We cannot predict the timing, strength or duration of any economic slowdown, instability or recovery, generally or within any particular industry. If the economic conditions of the general economy or markets in which we operate worsen from present levels, demand for our products, and our business, financial condition and results of operations, could be adversely affected.
33

We face intense competition that could reduce our revenue and adversely affect our financial results.
The market for our products is highly competitive, and we expect competition from both established and new companies to increase. Our ability to compete successfully depends on a number of factors, including our ability to successfully develop new products and solutions that anticipate BSP and market requirements and changes in technology and industry standards; BSP acceptance and adoption of our products and solutions; our ability to differentiate our products from our competitors’ offerings based on performance, features, cost-effectiveness or other factors; our product capabilities to meet customer network requirements and preferences; and our success in marketing and selling our products and platform solutions.
Many of our current or potential competitors have longer operating histories, greater name recognition, broader product lines, larger customer bases and significantly greater financial, technical, sales, marketing and other resources than we do and are better positioned to acquire and offer complementary products and services. As the broadband access equipment market has undergone and continues to undergo consolidation, our competitors have merged, grown and been able to offer more comprehensive solutions than they individually had offered. Potential customers may also prefer to purchase from their existing suppliers rather than a new supplier, regardless of product performance or features, because the products that we and our competitors offer require a substantial investment of time and funds to qualify and install. The demand on network capacity due to remote workforces may attract new market entrants with competitive or substitutive products, which may lead to increased sales cycles, cause pricing pressure and impact adoption of our platform due to the broader availability of product offerings. Some of our competitors may offer substantial discounts or rebates to win or retain customers. If we are forced to reduce prices to retain existing customers or win new customers, we may be unable to sustain gross margin at desired levels or profitability. Competitive pressures could result in increased pricing pressure, reduced profit margin, increased sales and marketing expenses and failure to increase, or the loss of, market share, any of which could reduce our revenue and adversely affect our financial results.
Historically, our customer base has been concentrated, and the loss of any of our key customers may adversely impact our revenue and results of operations, and any delays in payment by a key customer could negatively impact our cash flows and working capital.
Historically, a large portion of our sales has been, and in the future may be, to a limited number of large customers. Changes in the BSP market, such as financial difficulties, spending cuts or corporate consolidations that impact purchasing decisions by these customers have and may again negatively impact our revenue, and as a result, revenue from such customers may remain flat or continue to decline. For example, sales to Lumen, our only greater than 10% customer in 2020, declined in 2021 and sales to other BSP customers increased such that Lumen was not a 10% customer in 2021 or 2022. There are no assurances that the demand for our products will remain strong from our key customers, and any decrease or delay in purchases of any of our key customers, particularly if prolonged or sustained, or our inability to grow our sales with them, may have a material negative impact on our revenue and results of operations.
In addition, some larger customers may demand discounts and rebates or desire to purchase their access systems and software from multiple providers. As a result of these factors, our future revenue opportunities may be limited, and we may face pricing pressures, which in turn could adversely impact our gross margin and our profitability. The loss of, reduction in, or pricing discounts associated with orders from any larger customer could significantly reduce our revenue and harm our business. Furthermore, delays in payment and/or extended payment terms from any of our larger customers could have a material negative impact on our cash flows and working capital to support our business operations.
Our industry is characterized by rapid technological advancements, and if we fail to develop new products or enhancements that meet changing BSP requirements, we could experience lower sales.
Our industry is characterized by rapid technological change, changing needs of BSPs, evolving industry standards and frequent introductions of new products and platform offerings. We invest significant amounts to pursue innovative technologies that we believe will be adopted by BSPs. For example, we have invested and plan to continue to invest resources in our platform offerings. In addition, on an ongoing basis, we expect to reposition our product and service offerings and introduce new offerings as we encounter rapidly changing BSP requirements and increasing competitive pressures. If we cannot increase sales of our new platform and services, keep pace with rapid technological developments to meet customer needs and compete with evolving standards or if the technologies we choose to invest in fail to meet customer needs or are not adopted by customers in the timeframes that we expect, our financial condition and results of operations would be adversely affected.
Developing our products is complex and involves uncertainties, including pricing risks for key materials, component shortages and limited suppliers. We may experience design, manufacturing, software development quality, support, marketing and other difficulties that could delay or prevent the development, introduction or marketing of new products and enhancements. If we fail to meet our development targets, demand for our products will decline. If we are unable to anticipate and develop new products or enhancements to our existing products on a timely and cost-effective basis, our products may become technologically obsolete more rapidly than anticipated over time, resulting in lower sales which would harm our business.
34

Furthermore, the introduction of new or enhanced products also requires that we manage the transition from older products in accordance with customer requirements. If we fail to maintain compatibility requirements in our customers’ networks, demand for our products would decline, which would reduce our revenue opportunities and market share.
We use third-party development partners both for their key skills and to augment our employee developers. Using third-party development partners for our broadband platform and managed services allow us to accelerate development and leverage the third parties’ expertise, but increases our risks due to reduced direct control over the third party’s work. This product development approach may cause unforeseen issues in product design, as well as challenges arising from integration and support of third-party features in our products. In addition, our revenue based on the third parties’ product development work may take several years to cover our out-of-pocket expenses, if ever.
Our sales cycles can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, our sales are difficult to predict and may vary substantially, which may cause our operating results to fluctuate significantly.
The timing of our revenue is difficult to predict. Our sales efforts often involve educating BSPs about the use and benefits of our platform (cloud, software and systems) and managed services. BSPs typically undertake a significant evaluation process, which frequently involves not only our platform and managed services, but also those of our competitors and results in a lengthy sales cycle. Sales cycles for larger customers are relatively longer and require considerably more time and expense. We spend substantial time, effort and money in our sales efforts without any assurance that our efforts will produce sales. In addition, product purchases are frequently subject to budget constraints, multiple approvals and unplanned administrative, processing and other delays. The timing of revenue related to sales of products and services that have installation requirements may be difficult to predict due to interdependencies that may be beyond our control, such as BSP testing and turn-up protocols or other vendors’ products, services or installations of equipment upon which our products and services rely. Such delays may result in fluctuations in our quarterly revenue. If sales expected from a specific customer for a particular quarter are not realized in that quarter or at all, we may not achieve our revenue forecasts, and our financial results would be adversely affected.
Our business depends upon the capital spending patterns and decisions of BSPs, and any decrease or delay in capital spending by BSPs due to the timing and availability of capital and other causes would reduce our revenue and harm our business.
Demand for our products depends on the magnitude and timing of capital spending by BSPs as they construct, expand, upgrade and maintain their access networks as well as BSPs’ adoption of our platform and managed services. Capital spending is cyclical in our industry, sporadic among individual BSPs and can change on short notice, which gives us little visibility into changes in spending behavior in any particular quarter. Capital spending for network infrastructure projects could be delayed or canceled in response to factors outside our control, such as reduced consumer spending, challenging capital markets or declining liquidity trends. BSP spending is also affected by reductions in budgets, including as a result of a general economic downturn, delays in purchasing cycles, access to government funding programs or capital markets, and seasonality and delays in capital allocation decisions. Historically, our customers may spend less or have less deployments in the first quarter due to pending annual budgets or, in certain regions, due to weather conditions that inhibit outside fiber deployment, resulting in weaker demand for our products in the first quarter. Softness in demand in any of our customer markets, including due to macroeconomic conditions beyond our control or uncertainties associated with regulatory reforms, has and could in the future lead to unexpected decline or slowdown in customer capital expenditures. Further, BSPs may pursue capital investment in network technologies other than those offered by us or may choose not to adopt our products and platform solutions in their networks. Reductions in capital expenditures by BSPs would have a material negative impact on our revenue and results of operations and slow our rate of revenue growth. As a consequence, our results for a particular period may be difficult to predict, and our prior results are not necessarily indicative of results in future periods.
Government-sponsored programs and U.S. federal government shutdowns could impact the timing and buying patterns of BSPs, which may cause fluctuations in our operating results.
We sell to BSPs, including U.S.-based independent operating companies, or IOCs, which rely significantly upon interstate and intrastate access charges and federal and state subsidies in the form of grants and other funding, such as the Federal Communications Commission’s, or FCC’s, Rural Digital Opportunity Fund, the CARES Act or the American Rescue Plan Act. The FCC and some states may change such payments and subsidies, which could reduce IOC revenue. Furthermore, many IOCs use or expect to use government-supported loan programs or grants, such as U.S. Department of Agriculture’s Rural Utility Service or the U.S. Department of Commerce National Telecommunications and Information Administration’s, or NTIA’s, Broadband Equity, Access and Deployment, or BEAD, Program loans and grants, to finance capital spending. These government-supported loan programs and grants generally include conditions such as deployment criteria, domestic preference provisions and other requirements that apply to the project and selected equipment as conditions for funding. For example, the U.S. government recently passed The Infrastructure Investment Jobs Act (“IIJA”), which charged the NTIA with establishing the BEAD Program and ensuring that BEAD-funded infrastructure projects comply with the Buy America Domestic Content Procurement Preference (“Buy America Preference”) of the Build America, Buy America Act (“BABA”). In accordance with
35

BABA, the US Department of Commerce has proposed to issue a limited, general applicability, nonavailability waiver of the Buy America Preference to recipients of Federal financial assistance under the NTIA’s BEAD Program. Changes to the terms or administration of these programs, including uncertainty from government and administrative change, increasing focus on domestic requirements by the U.S. that may require re-assessment of compliance, potential funding limitations that impact our ability to meet program requirements or delays due to U.S. federal government shutdowns could reduce the ability of IOCs to access capital or secure funding under these programs to purchase our products and services and thus reduce our revenue opportunities. In addition, compliance with these requirements may significantly increase our record-keeping, accounting and production costs. As a result of these risks, the domestic content requirements may have a material adverse impact on our U.S. sales, business and results of operations. Customers may curtail purchases if they receive less funding than planned, are negatively impacted by federal government shutdowns or changes in government regulations and subsidies, or as funding winds down, any of which could have an adverse effect on our operating results and financial condition.
Government and Regulatory Risks
Increasing data privacy regulations could impact our business and expose us to increased liability.
Government authorities in the United States and around the world have implemented and are continuing to implement broader and more stringent laws and regulations concerning data protection. The interpretation and application of these data protection laws and regulations are often uncertain and changing, and it is possible that they may be interpreted and applied in a manner that is inconsistent with our data practices. For example, the General Data Protection Regulation, or EU GDPR, adopted by the European Union, or EU, and the UK General Data Protection Regulation, or UK GDPR, adopted by the United Kingdom, or UK, (the EU GDPR and UK GDPR hereinafter referred to as the GDPR) and national data protection supplementing laws in these jurisdictions impose specific duties and requirements upon companies that are subject to their provisions and collect, process or control personal data of individuals, including a principle of accountability and the obligation to demonstrate compliance through policies, procedures, training and audit. Although we currently do not have material operations or business in the EU or the UK, we are in the process of expanding in these jurisdictions, and we have incurred and will continue to incur substantial costs in this respect. Furthermore, the GDPR imposes significant penalties for noncompliance which can amount to €20 million (for the EU GDPR) or £17.5 million (for the UK GDPR), or in the case of an undertaking, up to 4% of the total worldwide annual turnover of the preceding financial year, whichever is higher; thus, any non-compliance with the GDPR could result in a material adverse effect on our business, financial condition and results of operations.
The EU GDPR and UK GDPR regulate cross-border transfers of personal data out of the European Economic Area, or the EEA, and the UK. Case law from the Court of Justice of the European Union, or the CJEU held that transfers must be assessed on a case-by-case basis and reliance on standard contractual clauses (a standard form of contract approved by the European Commission as an adequate mechanism for personal data transfers) may not be sufficient in all circumstances. On October 7, 2022, President Biden signed an Executive Order on Enhancing Safeguards for United States Intelligence Activities. This introduced new binding safeguards to address the concerns raised by the CJEU in relation to data transfers from the EEA to the United States and formed the basis of the new EU-US Data Privacy Framework, or DPF, which was released on December 13, 2022. The European Commission adopted its Adequacy Decision in relation to the DPF on July 10, 2023, rendering it effective as an EU GDPR transfer mechanism to U.S. entities self-certified under the DPF; further, on October 12, 2023, the UK Extension to the DPF came into effect (as approved by the UK Government), as a UK GDPR data transfer mechanism to U.S. entities self-certified under the UK Extension to the DPF. We currently rely on the standard contractual clauses and the UK International Data Transfer Agreement (or Addendum) to transfer personal data outside the EEA and the UK respectively, including to the U.S. The data transfers enforcement landscape and the DPF’s longer term stability remain uncertain and we expect the existing legal complexity and uncertainty regarding international personal data transfers to continue. As the regulatory guidance and enforcement landscape in relation to data transfers further develops, our business, operations and financial condition could be adversely affected. Our current contracts may not be sufficient and we could suffer additional costs, complaints and/or regulatory investigations or fines. We may also have to stop using certain tools and vendors and make other operational changes. We have had to and will have to implement standard contractual clauses and/or the UK equivalent mechanism for intragroup, customer and vendor arrangements. Further, our customers may not use our services in a manner that is compliant with applicable data privacy laws and regulations and our services may not be competitive in certain markets.
36

We and/or our customers are also subject to evolving EU and UK privacy laws on cookies, tracking technologies, e-marketing and electronic communications. Recent European court and regulator decisions are driving increased attention to cookies and tracking technologies. If the trend of increasing enforcement by regulators of the strict approach to opt-in consent for all but essential use cases, as seen in recent guidance and decisions continues, this could lead to substantial costs, require significant systems changes, limit the effectiveness of marketing activities conducted on behalf of our customers, divert the attention of our technology personnel, adversely affect our margins, and subject us to additional liabilities. In addition, new security regulations, such as the EU’s Network and Information Security 2 Directive (NIS2) and the UK’s Telecommunications (Security) Act 2021 together with its implementing regulations impose further security obligations, including on electronic communications networks and services. We may be required to implement (and contractually commit to) additional security measures to remain a competitive vendor, as customers will need to ensure their vendors are able to meet the obligations that they are themselves subject to, or customers may choose different vendors due to our security measures. This could result in additional costs and require operational changes which could adversely affect our business, operations and financial condition.
In light of the complex and evolving nature of EU, EU Member State and UK privacy and security laws, there can be no assurances that we will be successful in our efforts to comply with such laws; violations of such laws could result in regulatory investigations, fines, orders to cease/change our use of technologies and/or our processing activities, enforcement notices and assessment notices (for a compulsory audit), as well as lead to civil claims including class actions, and reputational damage.
Since 2020, a number of U.S. states, including California, Colorado, Connecticut, Iowa, Utah and Virginia, have enacted laws and regulations to protect consumers’ personal information, and efforts to enact a comprehensive federal privacy law have intensified. Most of the new or proposed laws include restrictions on processing consumer information for targeted advertising, which could negatively affect our marketing cloud product. Complying with new and changing laws could cause us to incur substantial costs in order to market and sell our cloud-based solutions in the U.S. and internationally, deter customers from adopting our cloud-based solutions or require us to redesign our platform in order to meet customer requirements related to such laws. Regulatory actions or claims involving our practices in the collection, storage, processing, use or disclosure of consumer information or other personal data, even if unfounded, could damage our reputation and adversely affect our operating results. The failure or perceived failure to comply may result in government or civil proceedings or actions against us, or could cause us to lose customers, which could have an adverse effect on our business.
If we fail to comply with evolving industry standards, sales of our products would be adversely affected.
Our products are subject to a significant number of domestic and international standards, which evolve as new technologies are developed and deployed. As we expand into new global markets, we are likely to encounter additional standards. Our products must comply with these standards in order to be widely marketable. In some cases, we are required to obtain certifications or authorizations before our products can be introduced, marketed or sold in new markets or to new customers. For example, our ability to maintain Operations System Modification for Intelligent Network Elements certification for our products will affect our ongoing ability to continue to sell our products to large BSPs. In addition, our ability to expand our international operations may be limited by standards in countries or may require us to redesign our products or develop new products to meet local standards. We may not be able to design our products to comply with local requirements, which would impede or prevent our ability to grow our business in those locations. Moreover, as we expand our business and operations globally, we must increase investments to maintain compliance with evolving standards across all of our markets. The costs of complying with evolving standards or failure to obtain timely authorizations or certification could prevent us from selling our products where these standards or regulations apply, which would result in lower revenue and lost market share.
Our failure or the failure of our manufacturers to comply with environmental and other legal regulations could adversely impact our results of operations.
The manufacture, assembly and testing of our products may require the use and disposal of hazardous materials that are subject to environmental, health and safety regulations, or materials subject to laws restricting the use of conflict minerals. We substantially depend upon our third-party manufacturers to comply with these requirements. Any failure by us or our third-party manufacturers to comply with these requirements could result in regulatory penalties, legal claims or disruption of production of our products. In addition, any failure to properly manage the use, transportation, emission, discharge, storage, recycling or disposal of hazardous materials could subject us to increased costs or liabilities. Existing and future environmental regulations and other legal requirements may restrict our use of certain materials to manufacture, assemble and test products. Any of these consequences could adversely impact our results of operations by increasing our expenses and/or requiring us to alter our manufacturing processes.
We are subject to governmental export and import controls that could subject us to liability or impair our ability to compete in additional international markets.
Our products are subject to U.S. export and trade controls and restrictions. International shipments of certain of our products may require export licenses or are subject to additional export requirements. In addition, the import laws of other countries may
37

limit our ability to distribute our products, or our customers’ ability to buy and use our products, in those countries. Changes in our products or changes in export and import regulations or duties may create delays in the introduction of our products in international markets, prevent our customers with international operations from deploying our products or, in some cases, prevent the export or import of our products to certain countries altogether. Any change in export or import regulations, duties or related legislation, shift in approach to the enforcement or scope of existing regulations, or change in the countries, persons or technologies targeted by such regulations, could negatively impact our ability to sell, profitably or at all, our products to existing or potential international customers.
Regulatory and physical impacts of climate change and other natural events may affect our customers and our manufacturers, resulting in adverse effects on our operating results.
As emissions of greenhouse gases continue to alter the composition of the atmosphere, affecting large-scale weather patterns and the global climate, any new regulation of greenhouse gas emissions may result in additional costs to our customers and our manufacturers. In addition, the physical impacts of climate change and other natural events, including changes in weather patterns, drought, rising ocean and temperature levels, earthquakes and tsunamis may impact our customers, suppliers and manufacturers, and our operations. These potential physical effects may adversely affect our revenue, costs, production and delivery schedules, and cause harm to our results of operations and financial condition.
Our customers are subject to government regulation, and changes in current or future laws or regulations that negatively impact our customers could harm our business.
Many of our customers are subject to state and federal regulation of their businesses, and adoption of regulations that affect providers of broadband Internet access services could impede the penetration of our customers into certain markets. For example, the FCC has jurisdiction over many of our U.S. customers, and FCC regulatory policies that create disincentives for investment in access network infrastructure or impact the competitive environment in which our customers operate may harm our business. Moreover, various international regulatory bodies have jurisdiction over certain of our customers outside the U.S. Changes in any of these standards, laws and regulations, or judgments in favor of plaintiffs in lawsuits against BSPs based on changed standards, laws and regulations could adversely affect the development of broadband networks and services. This, in turn, could directly or indirectly adversely impact the industries in which our customers operate.
Risks Related to Ownership of Our Common Stock and Other Risks
Our stock price may continue to be volatile, and the value of an investment in our common stock may decline.
The trading price of our common stock has been, and is likely to continue to be, volatile, which means that it could decline substantially within a short period of time and could fluctuate widely in response to various factors, some of which are beyond our control. These factors include those discussed above and others such as quarterly variations in our results of operations or those of our competitors; failure to meet any guidance that we have previously provided regarding our anticipated results; changes in earnings estimates or recommendations by securities analysts; failure to meet securities analysts’ estimates; announcements by us or our competitors of new products, significant contracts, commercial relationships, acquisitions or capital commitments; developments with respect to IP rights; our ability to develop and market new and enhanced products on a timely basis; our commencement of, or involvement in, litigation and developments relating to such litigation; changes in governmental regulations; and a slowdown in the communications industry or the general economy.
The stock market in general, and the market for technology companies in particular, has experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of those companies. Broad market and industry factors may seriously affect the market price and volatility of our common stock, regardless of our actual operating performance. Historically, following periods of volatility in the market price of a company’s securities, there is increased risk that stockholders may initiate securities class action litigation against the company. Such litigation, if instituted against us, could result in substantial costs and a diversion of our management’s attention and resources.
Provisions in our charter documents and under Delaware law could discourage a takeover that stockholders may consider favorable and may lead to entrenchment of our management and Board of Directors.
Our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that could have the effect of delaying or preventing changes in control or changes in our management or our Board of Directors. These provisions include: (1) a classified Board of Directors with three-year staggered terms, which may delay the ability of stockholders to change the membership of a majority of our Board of Directors; (2) no cumulative voting in the election of directors, which limits the ability of minority stockholders to elect director candidates; (3) the exclusive right of our Board of Directors to elect a director to fill a vacancy created by the expansion of the Board of Directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our Board of Directors; (4) the ability of our Board of Directors to issue shares of preferred stock and to determine the price and other terms of those shares, including preferences and voting rights, without stockholder approval, which could be used to significantly dilute the ownership of a hostile acquirer; (5) a
38

prohibition on stockholder action by written consent, which forces stockholder action to be taken at an annual or special meeting of our stockholders; (6) the requirement that a special meeting of stockholders may be called only by the chairman of the Board of Directors, the chief executive officer or the Board of Directors, which may delay the ability of our stockholders to force consideration of a proposal or to take action, including the removal of directors; and (7) advance notice procedures that stockholders must comply with in order to nominate candidates to our Board of Directors or to propose matters to be acted upon at a stockholders’ meeting, which may discourage or deter a potential acquirer from conducting a solicitation of proxies to elect the acquirer’s own slate of directors or otherwise attempting to obtain control of us. We are also subject to certain anti-takeover provisions under Delaware law, which prohibits a corporation, in general, from engaging in a business combination with any holder of 15% or more of its capital stock unless the holder has held the stock for three years or, among other things, the Board of Directors has approved the transaction.
We may need additional capital in the future to finance our business.
While our working capital needs to support our business operations and growth have been funded from operating cash flows in the near term, we may need additional capital if our current plans and assumptions change. In January 2022, we terminated our loan and security agreement with Bank of America, N.A. If our financial position deteriorates, we may not be able to secure a similar source of financing to support our working capital needs on acceptable terms or at all. If future financings involve the issuance of equity securities, our then-existing stockholders will suffer dilution. If we raise additional debt financing, we may be subject to restrictive covenants that limit our ability to conduct our business. If we are unable to sustain positive operating income and cash flows from operations, our liquidity, results of operations and financial condition may be adversely affected. Furthermore, if we are unable to generate sufficient cash flows to support our operational needs, we may need to cease our repurchase program or seek additional sources of liquidity, including borrowings, to support our working capital needs, even if we believe we have generated sufficient cash flows to support our operational needs. There is no assurance that any other sources of liquidity may be available to us on acceptable terms or at all. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which would adversely impact our business and growth.
We do not currently intend to pay dividends on our common stock and, consequently, our stockholders’ ability to achieve a return on their investment will depend on appreciation in the price of our common stock.
We do not currently intend to pay a cash dividend on our common stock for the foreseeable future. We currently intend to invest our future earnings, if any, to fund our growth. Therefore, our stockholders are not likely to receive any dividends on our common stock for the foreseeable future.
Our failure to adequately address and resolve risks and uncertainties associated with acquisitions could have a material adverse impact on our financial condition and results of operations.
We may acquire businesses, products or technologies to expand our product offerings and capabilities, customer base and business. We have evaluated and expect to continue to evaluate a wide array of potential strategic transactions. Such investments may involve significant risks and uncertainties, including distraction of management from current operations, unanticipated costs, and legal and regulatory challenges, all of which could have a material adverse impact on our financial condition and results of operations. In addition, the anticipated benefit of any acquisition may never materialize or the process of integrating acquired businesses, products or technologies may create unforeseen operating difficulties and expenditures.
We cannot guarantee that our stock repurchase program will be utilized to the full value approved or that it will enhance long-term stockholder value. Repurchases we consummate could increase the volatility of the price of our common stock and could have a negative impact on our available cash balance.
We have a $100 million common stock repurchase program of which $57.6 million was available as of September 30, 2023. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases will depend on prevailing stock prices, general economic and market conditions, and other considerations consistent with our capital allocation strategy. Stock repurchases could have an impact on our common stock trading prices, increase the volatility of the price of our common stock, or reduce our available cash balance such that we will be required to seek financing to support our operations. The repurchase program does not obligate us to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at our discretion, which may result in a decrease in the trading prices of our common stock. Even if our share repurchase program is fully implemented, it may not enhance long-term stockholder value.
39

General Risks
As a public company we are subject to significant accounting, legal and regulatory requirements; our failure to comply with these requirements may adversely affect our operating results and financial condition.
We are subject to significant accounting, legal and regulatory requirements, including requirements and rules under the Sarbanes-Oxley Act, or SOX, and the Dodd-Frank Wall Street Reform and Consumer Protection Act, or Dodd-Frank, among other rules and regulations implemented by the SEC, as well as listing requirements of the New York Stock Exchange, or NYSE. We incur significant accounting, legal and other expenses and must invest substantial time and resources to comply with public company reporting and compliance requirements, including costs to ensure we have adequate internal controls over accounting and financial reporting, proper documentation and testing procedures among other requirements. We cannot be certain that the actions we have taken to implement internal controls over financial reporting will be sufficient. We have in the past discovered, and may in the future discover, areas of our internal financial and accounting controls and procedures that need improvement, particularly as we enhance, automate and improve functionality of our processes and internal applications. New laws and regulations as well as changes to existing laws and regulations affecting public companies would likely result in increased costs to us as we respond to their requirements. We continue to invest resources to comply with evolving laws and regulations, and this investment may result in increased general and administrative expense.
If we fail to maintain proper and effective internal controls, our ability to produce accurate financial statements on a timely basis could be impaired, which would adversely affect our operating results and our stock price.
Our management is responsible for establishing and maintaining adequate internal control over financial reporting to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements in accordance with U.S. generally accepted accounting principles. Our management does not expect that our internal control over financial reporting will prevent or detect all error and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control system’s objectives will be met. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that misstatements due to error or fraud will not occur or that all control issues and instances of fraud, if any, within our company will have been detected. If we are unable to produce accurate financial statements on a timely basis, investors could lose confidence in the reliability of our financial statements, which could cause the market price of our common stock to decline and make it more difficult for us to finance our operations and growth.
ITEM 2. Unregistered Sales of Equity Securities and Use of Proceeds
Recent Sales of Unregistered Securities
None.
Use of Proceeds
Not applicable.
Issuer Purchases of Equity Securities
Our Board of Directors authorized a stock repurchase program for up to $100 million of the Company’s common stock. Our repurchase activity for the three months ended September 30, 2023 is summarized below (in thousands, except per share amounts):
Total Number of Shares PurchasedAverage Price Paid Per ShareTotal Number of Shares Purchased as Part of Publicly Announced ProgramsApproximate Dollar Value of Shares That May Yet Be Purchased Under the Programs
July 2 to July 31— $— — $90,000 
August 1 to August 31442 42.98 442 70,982 
September 1 to September 30287 46.70 287 57,591 
729729
ITEM 3. Defaults Upon Senior Securities
None.
40

ITEM 4. Mine Safety Disclosures
Not applicable.
ITEM 5. Other Information
None.
41

ITEM 6. Exhibits
Exhibit
Number
Description
3.1
3.2
31.1
31.2
32.1
101.INSXBRL Instance Document
101.SCHXBRL Taxonomy Extension Schema Document
101.CALXBRL Taxonomy Extension Calculation Linkbase Document
101.DEFXBRL Taxonomy Extension Definition Linkbase Document
101.LABXBRL Taxonomy Extension Label Linkbase Document
101.PREXBRL Taxonomy Extension Presentation Linkbase Document
 



42

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.
 CALIX, INC.
(Registrant)
Date: October 24, 2023By:/s/ Michael Weening
 Michael Weening
 President and Chief Executive Officer
(Principal Executive Officer)
Date: October 24, 2023By:/s/ Cory Sindelar
 Cory Sindelar
 Chief Financial Officer
(Principal Financial Officer)
43
EX-31.1 2 calx_23q3ex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Michael Weening, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Calix, Inc. for the quarter ended September 30, 2023;
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 the 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.
 
Date: October 24, 2023  /s/ Michael Weening
  Michael Weening
  President and Chief Executive Officer

EX-31.2 3 calx_23q3ex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Cory Sindelar, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Calix, Inc. for the quarter ended September 30, 2023;
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 the 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.
 
Date: October 24, 2023  /s/ Cory Sindelar
  Cory Sindelar
  Chief Financial Officer

EX-32.1 4 calx_23q3ex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Michael Weening, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Calix, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended September 30, 2023 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of the Company.
 
Date: October 24, 2023  /s/ Michael Weening
  Michael Weening
  President and Chief Executive Officer

I, Cory Sindelar, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Calix, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended September 30, 2023 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of the Company.
 
Date: October 24, 2023  /s/ Cory Sindelar
  Cory Sindelar
  Chief Financial Officer
This certification accompanies the Form 10-Q to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of Calix, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-Q), irrespective of any general incorporation language contained in such filing.

EX-101.SCH 5 calx-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000007 - Disclosure - Company and Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Cash, Cash Equivalents, and Marketable Securities link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Balance Sheet Details link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Revenue from Contracts with Customers link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Net Income Per Common Share link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Fair Value Measures and Disclosures (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Balance Sheet Details (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Revenue from Contracts with Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Net Income Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Fair Value Measures and Disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Balance Sheet Details - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Balance Sheet Details - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Balance Sheet Details - Prepaid Expenses and Other Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Balance Sheet Details - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Balance Sheet Details - Warranty Reserve (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Commitments and Contingencies - Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Commitments and Contingencies - Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Commitments and Contingencies - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Stockholders' Equity - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Stockholders' Equity - Stock Repurchase Program (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Revenue from Contracts with Customers - Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Income Taxes - Income Taxes And The Effective Tax Rates (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Income Taxes - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Net Income Per Common Share (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 calx-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 calx-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 calx-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Summary of accrued liabilities Schedule of Accrued Liabilities [Table Text Block] Accrued liabilities Total accrued liabilities Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Research and development Research and Development Expense Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Notes receivable, outstanding after allowance for credit loss, noncurrent Financing Receivable, after Allowance for Credit Loss, Noncurrent Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Performance obligations expected to be satisfied, expected timing Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Accounts payable Accounts Payable, Current Computer equipment Computer Equipment [Member] Restatement Determination Date: Restatement Determination Date [Axis] Capitalized contract cost, impairment Capitalized Contract Cost, Impairment Loss Corporate debt securities Corporate Debt Securities [Member] Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Total interest income and other expense, net Nonoperating Income (Expense) Commitments and contingencies (See Note 6) Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Number of offering periods Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Summary of accrued liabilities Accrued Liabilities, Current [Abstract] Geographical [Axis] Geographical [Axis] Award performance period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period 2027 and thereafter Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four Income Taxes Income Tax Disclosure [Text Block] Cost of warranty and retrofit claims Standard and Extended Product Warranty Accrual, Decrease for Payments Prior year income taxes benefit Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Amount Concentration Risk [Line Items] Concentration Risk [Line Items] Revenue Recognition Revenue [Policy Text Block] Customer [Axis] Customer [Axis] Long-term Purchase Commitment, Category of Item Purchased [Domain] Long-Term Purchase Commitment, Category of Item Purchased [Domain] Current liabilities: Liabilities, Current [Abstract] Customer Two Customer Two [Member] Customer Two Short-Term Marketable Securities And Cash Equivalents Short-Term Marketable Securities And Cash Equivalents [Member] Short-Term Marketable Securities And Cash Equivalents Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of September 30, 2023 and December 31, 2022 Preferred Stock, Value, Issued Summary of inventory, net Inventory, Net [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Diluted net income per common share (in dollars per share) Earnings Per Share, Diluted San Jose, California San Jose, California [Member] San Jose, California PEO Total Compensation Amount PEO Total Compensation Amount Employee termination period following purchase date to receive shares subject to risk of forfeiture Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Trading Symbol Trading Symbol U.S. government agency securities US Government Agencies Debt Securities [Member] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Weighted-average grant date fair value (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Total cash, cash equivalents, and marketable securities Cash, Cash Equivalents, And Marketable Securities Cash, Cash Equivalents, And Marketable Securities Net income Net income Net income Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Summary of cash and cash equivalents Schedule of Cash and Cash Equivalents [Table Text Block] LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Employee Stock Purchase Plan Employee Stock [Member] Repurchases of common stock Repurchases of common stock Stock Repurchased During Period, Value Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Stockholders’ equity: Equity, Attributable to Parent [Abstract] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Deferred revenue Contract with Customer, Liability Stock options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Schedule of net income per share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Cost of revenue Cost of Goods and Services Sold Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost, Excluding Accrued Interest, after Allowance for Credit Loss, Current Contract with customer, asset, expected to be billed remainder of year, percent Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent Award vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Executive Category: Executive Category [Axis] Disclosure of share-based compensation arrangements by share-based payment award Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block] Significant Accounting Policies Significant Accounting Policies [Text Block] Weighted-average exercise price per share, stock options (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name 2017 Nonqualified Employee Stock Purchase Plan 2017 Nonqualified Employee Stock Purchase Plan [Member] 2017 Nonqualified Employee Stock Purchase Plan Goodwill Goodwill Summary of property and equipment, net Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Accrued liabilities Increase (Decrease) in Accrued Liabilities Shares available for future grant (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Allowance for credit loss Financing Receivable, Allowance for Credit Loss, Excluding Accrued Interest Stock options granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross 2021 Performance Targets 2021 Performance Targets [Member] 2021 Performance Targets Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Denominator: Weighted Average Number of Shares Outstanding, Basic [Abstract] Local Phone Number Local Phone Number Accounts receivable, net Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Business events Accrued Business Events, Current Accrued Business Events, Current Unrealized gain (loss) on available-for-sale marketable securities, net OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Americas ex U.S. Americas, Non-U.S. [Member] Americas, Non-U.S. Measurement Frequency [Axis] Measurement Frequency [Axis] Operating leases Operating leases Operating Lease, Liability, Noncurrent Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Depreciation and amortization Depreciation Income Statement Location [Axis] Income Statement Location [Axis] Schedule of future minimum rental payments for operating leases Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Europe Europe [Member] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventory Increase (Decrease) in Inventories Net income per share, target achievement performance threshold, percent Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent Research and development Research and Development Expense [Member] Investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Potentially dilutive shares, weighted average (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Freight Accrued Freight Accrued Freight Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Unrecognized stock-based compensation expense Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] General and administrative General and Administrative Expense [Member] Number of shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Property and equipment, gross Property, Plant and Equipment, Gross Trading Arrangement: Trading Arrangement [Axis] Less imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Number of shares purchased (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Purchased for Award PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Schedule of income taxes Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] 2019 Equity Incentive Award Plan 2019 Equity Incentive Award Plan [Member] 2019 Equity Incentive Award Plan [Member] Entity File Number Entity File Number Loss Contingencies [Table] Loss Contingencies [Table] Operating leases Accrued liabilities - current portion of operating leases Operating Lease, Liability, Current Current portion of warranty and retrofit Product Warranty Accrual, Current Licensed Software Computer Software, Intangible Asset [Member] Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Rent expense Operating Lease, Cost Weighted-average number of shares used to compute net income per common share: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Common stock, shares issued (in shares) Common Stock, Shares, Issued Gross profit Gross Profit Deferred revenue Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Notes receivable, outstanding after allowance for credit loss, current Financing Receivable, after Allowance for Credit Loss, Current Total assets Assets, Fair Value Disclosure Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Award vesting rights, percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Stock Options Employee Stock Option [Member] Recognition period Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Maximum Maximum [Member] Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Cash equivalents Cash Equivalents, at Carrying Value Document Type Document Type Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Outstanding purchase commitments Purchase Commitment, Remaining Minimum Amount Committed Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Purchases of marketable securities Payments to Acquire Debt Securities, Available-for-Sale Remaining performance obligation, percentage Revenue, Remaining Performance Obligation, Percentage Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current ESPP, maximum employee payroll deduction percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate Customer Concentration Risk Customer Concentration Risk [Member] Inventories Inventories [Member] Cash Cash [Member] Income Statement [Abstract] Income Statement [Abstract] Supplier deposits Deposits Assets, Current Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Money market funds Cash and Cash Equivalents, Fair Value Disclosure Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Numerator: Net Income (Loss) Attributable to Parent [Abstract] Issuance of common stock under equity incentive plans, net of forfeitures Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Middle East & Africa Middle East And Africa [Member] Middle East And Africa Customer advances or rebates Accrued Customer Rebates Accrued customer rebates. Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Summary of accounts receivable, net Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Entity Tax Identification Number Entity Tax Identification Number Inventory Total inventory Inventory, Net Capitalized contract cost, amortization Capitalized Contract Cost, Amortization Term of interest period Financing Receivable, Term Notes Receivable ,Term Of interest Period Statistical Measurement [Axis] Statistical Measurement [Axis] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Debt Securities, Available-for-sale [Table] Debt Securities, Available-for-Sale [Table] Royalty payment commitment Royalty Guarantees, Commitments, Amount Total Shareholder Return Amount Total Shareholder Return Amount Repurchases of common stock Payments for Repurchase of Common Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Accruals for product warranty and retrofit Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Accumulated deficit Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Accounts receivable Accounts Receivable, before Allowance for Credit Loss, Current Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Operating lease, payments Operating Lease, Payments Common stock, shares outstanding (in shares) Beginning Balance (in shares) Ending Balance (in shares) Common Stock, Shares, Outstanding Maturities of marketable securities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale Capitalized contract cost, gross Capitalized Contract Cost, Gross Software Software [Member] Software Net income per common share: Earnings Per Share, Basic [Abstract] PEO PEO [Member] Financing Receivable Financing Receivable [Member] Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Foreign currency translation adjustments, net Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Net cash provided by (used in) investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Summary of inventory Schedule of Inventory, Current [Table Text Block] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective tax rate Effective Income Tax Rate Reconciliation, Percent Operating lease liability Operating Lease, Liability Total liabilities Liabilities Company and Basis of Presentation Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Shares award weighting percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent Stockholders' Equity Shareholders' Equity and Share-Based Payments [Text Block] Vesting [Domain] Vesting [Domain] Balance Sheet Related Disclosures [Abstract] Balance Sheet Related Disclosures [Abstract] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Measurement Frequency [Domain] Measurement Frequency [Domain] All Executive Categories All Executive Categories [Member] Long-term portion of deferred revenue Contract with Customer, Liability, Noncurrent Title of Individual [Axis] Title of Individual [Axis] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Plan Name [Axis] Plan Name [Axis] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Income tax benefit recognized Share-Based Payment Arrangement, Expense, Tax Benefit Net income per common share: Earnings Per Share [Abstract] Sales and marketing Selling and Marketing Expense Common stock, $0.025 par value; 100,000 shares authorized; 65,950 shares issued and outstanding as of September 30, 2023, and 65,735 shares issued and outstanding as of December 31, 2022 Common Stock, Value, Issued U.S. government securities US Government Debt Securities [Member] General and administrative General and Administrative Expense Average price paid per share (in dollars per share) Stock Repurchased During Period, Average Cost Per Share Stock Repurchased During Period, Average Cost Per Share Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Professional and consulting fees Accrued Professional Fees, Current Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares) Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Total current assets Assets, Current Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Other expense, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Other liabilities Other Liabilities Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Stock repurchase program, authorized amount Stock Repurchase Program, Authorized Amount Repurchases of common stock (in shares) Shares repurchased (in shares) Stock Repurchased During Period, Shares Cash, Cash Equivalents and Marketable Securities Cash, Cash Equivalents, and Marketable Securities [Text Block] PEO Name PEO Name Concentration risk, percentage Concentration Risk, Percentage Asia Pacific Asia Pacific [Member] Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Purchase commitment period Long-Term Purchase Commitment, Period Summary of prepaid expenses and other current assets Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Other Other Accrued Liabilities, Current Furniture and fixtures Furniture and Fixtures [Member] Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total stockholders’ equity Balance at beginning of period Balance at end of period Equity, Attributable to Parent Notes receivable, outstanding after allowance for credit loss Financing Receivable, after Allowance for Credit Loss Commercial paper Commercial Paper [Member] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain (Loss), before Tax Deferred revenue Increase (Decrease) in Deferred Revenue Valuation allowance Deferred Tax Assets, Valuation Allowance Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Contract with customer, liability, revenue recognized Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Income before income taxes Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Summary of product warranty activities Schedule of Product Warranty Liability [Table Text Block] Component inventory held by suppliers Accrued customer rebates/prepayments Accrued Excess and Obsolete Inventory At Contract Manufacturer Accrued excess and obsolete inventory at contract manufacturer. Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Marketable securities Fair Value Debt Securities, Available-for-Sale, Excluding Accrued Interest, Current Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Revenue from external customers by geographic areas Revenue from External Customers by Geographic Areas [Table Text Block] Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Net Income Per Common Share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Maximum combined payout percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent Minimum Minimum [Member] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Cash Cash Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] ASSETS Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Insurance Accrued Insurance, Current Product returns Product Return Reserve, Current Product Return Reserve, Current Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax assets Deferred Income Tax Assets, Net Fair value, assets measured on recurring basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Prepaid expenses and other current assets Prepaid Expenses And Other Assets, Miscellaneous, Current Prepaid Expenses And Other Assets, Miscellaneous, Current Accumulated Deficit Retained Earnings [Member] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Net accretion of available-for-sale securities Accretion (Amortization) of Discounts and Premiums, Investments Total liabilities and stockholders’ equity Liabilities and Equity Interest income and other expense, net: Nonoperating Income (Expense) [Abstract] Other assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic (in dollars per share) Basic net income per common share (in dollars per share) Earnings Per Share, Basic Right-of-use operating leases Operating Lease, Right-of-Use Asset Unrecognized stock-based compensation expense, stock options Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Remainder of 2023 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Operating lease, liability, current, statement of financial position Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Balance Sheet Details Supplemental Balance Sheet Disclosures [Text Block] Summary of property and equipment, net Property, Plant and Equipment, Net, by Type [Abstract] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Remaining authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Title of Individual [Domain] Title of Individual [Domain] Compensation Amount Outstanding Recovery Compensation Amount Executive Officer Executive Officer [Member] Short-Term Marketable Securities Short-Term Marketable Securities [Member] Short-Term Marketable Securities Proceeds from common stock issuances related to employee benefit plans Proceeds from Stock Options Exercised Municipal securities Municipal Notes [Member] Prepaid expenses and other current assets Total prepaid expense and other assets Prepaid Expense and Other Assets, Current Insider Trading Arrangements [Line Items] Issuance of common stock under equity incentive plans, net of forfeitures (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Effect of dilutive common stock equivalents (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Adjustment to Compensation, Amount Adjustment to Compensation Amount Period Two Share-Based Payment Arrangement, Tranche Two [Member] Cost of revenue Cost of Sales [Member] Shares purchased under ESPP (in shares) Stock Issued During Period, Shares, Employee Stock Ownership Plan Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Entity Central Index Key Entity Central Index Key Stock-based compensation Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Income taxes Income taxes Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Revenue share payments Revenue Share Obligation, Current Revenue Share Obligation, Current Performance Based Stock Options Performance Based Stock Options [Member] Performance Based Stock Options Compensation and related benefits Employee-related Liabilities, Current Vesting [Axis] Vesting [Axis] Fair Value Measurements Fair Value Disclosures [Text Block] Name Trading Arrangement, Individual Name Cash and Cash Equivalents [Abstract] Cash and Cash Equivalents [Abstract] Total other comprehensive income (loss), net of tax Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Taxes payable Taxes Payable, Current, Excluding Accrued Income Taxes Taxes Payable, Current, Excluding Accrued Income Taxes Equity [Abstract] Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Weighted average remaining lease term for operating lease Operating Lease, Weighted Average Remaining Lease Term Revenue Total revenues Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Amendment Flag Amendment Flag Money market funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Cash and cash equivalents Total cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Weighted average operating discount rate used to determine the operating lease liability (percent) Operating Lease, Weighted Average Discount Rate, Percent Number of shares issued (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Leasehold improvements Leasehold Improvements [Member] Sales and marketing Selling and Marketing Expense [Member] Number of employee stock purchase plans Number Of Employee Stock Purchase Plans Number Of Employee Stock Purchase Plans Diluted (in shares) Weighted-average common shares outstanding used to compute diluted net income per share (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Realized gains and losses on marketable securities Debt Securities, Available-for-Sale, Realized Gain (Loss) Interest income, net Interest Income (Expense), Nonoperating, Net Number of additional shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized Operating expenses: Operating Expenses [Abstract] Revenue from Contracts with Customers Revenue from Contract with Customer [Text Block] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional paid-in capital Additional Paid in Capital, Common Stock Additional Paid-in Capital Additional Paid-in Capital [Member] Stated interest rate Financing Receivable, Interest Rate, Stated Percentage Financing Receivable, Interest Rate, Stated Percentage Payments related to financing arrangements Payments For Financing Arrangements Payments For Financing Arrangements Balance Sheet Location [Axis] Balance Sheet Location [Axis] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Commitments and Contingencies [Line Items] Loss Contingencies [Line Items] Cover [Abstract] Test equipment Equipment [Member] Category of Item Purchased [Axis] Category of Item Purchased [Axis] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Fair Value, Recurring Fair Value, Recurring [Member] Other long-term liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Total future minimum lease payments Total future minimum lease payments Lessee, Operating Lease, Liability, to be Paid Remaining performance obligation, amount Revenue, Remaining Performance Obligation, Amount Offering period Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period Total operating expenses Operating Expenses Net increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Maximum number of shares allocated per purchase period Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period Adjustment to Compensation: Adjustment to Compensation [Axis] ESPP, discounted purchase price percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Contract with customer, asset Contract with Customer, Asset, after Allowance for Credit Loss Basic (in shares) Weighted-average common shares outstanding used to compute basic net income per share (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Concentration Risk Type [Domain] Concentration Risk Type [Domain] Operating income Operating Income (Loss) Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Customer One Customer One [Member] Customer One Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Concentration Risk [Table] Concentration Risk [Table] Increase in the number of shares of common stock issuable (in shares) Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares Other comprehensive income (loss), net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Debt securities, available-for-sale Debt Securities, Available-for-Sale [Table Text Block] Lessee, operating lease liability Lessee, Operating Lease Liability [Table Text Block] Lessee, Operating Lease Liability Period One Share-Based Payment Arrangement, Tranche One [Member] Summary of accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current [Abstract] Target achievement threshold for shares award sliding scale Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent EX-101.PRE 9 calx-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Cover - shares
9 Months Ended
Sep. 30, 2023
Oct. 16, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 001-34674  
Entity Registrant Name Calix, Inc  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 68-0438710  
Entity Address, Address Line One 2777 Orchard Parkway  
Entity Address, City or Town San Jose  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 95134  
City Area Code 408  
Local Phone Number 514-3000  
Title of 12(b) Security Common Stock, par value $0.025 per share  
Trading Symbol CALX  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   65,867,044
Entity Central Index Key 0001406666  
Amendment Flag false  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Current Fiscal Year End Date --12-31  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 135,675 $ 79,073
Marketable securities 114,417 162,642
Accounts receivable, net 80,661 93,804
Inventory 150,033 149,160
Prepaid expenses and other current assets 106,839 62,691
Total current assets 587,625 547,370
Property and equipment, net 29,123 25,834
Right-of-use operating leases 9,964 9,283
Deferred tax assets 162,901 167,031
Goodwill 116,175 116,175
Other assets 20,872 19,142
Total assets 926,660 884,835
Current liabilities:    
Accounts payable 22,134 41,407
Accrued liabilities 82,078 90,474
Deferred revenue 34,944 33,541
Total current liabilities 139,156 165,422
Long-term portion of deferred revenue 25,413 25,072
Operating leases 8,446 8,442
Other long-term liabilities 2,700 6,332
Total liabilities 175,715 205,268
Commitments and contingencies (See Note 6)
Stockholders’ equity:    
Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of September 30, 2023 and December 31, 2022 0 0
Common stock, $0.025 par value; 100,000 shares authorized; 65,950 shares issued and outstanding as of September 30, 2023, and 65,735 shares issued and outstanding as of December 31, 2022 1,649 1,644
Additional paid-in capital 1,104,435 1,070,100
Accumulated other comprehensive loss (1,359) (2,473)
Accumulated deficit (353,780) (389,704)
Total stockholders’ equity 750,945 679,567
Total liabilities and stockholders’ equity $ 926,660 $ 884,835
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Sep. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Preferred stock, par value (in dollars per share) $ 0.025 $ 0.025
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.025 $ 0.025
Common stock, shares authorized (in shares) 100,000,000 100,000,000
Common stock, shares issued (in shares) 65,950,000 65,735,000
Common stock, shares outstanding (in shares) 65,950,000 65,735,000
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Income Statement [Abstract]        
Revenue $ 263,835 $ 236,334 $ 774,859 $ 623,324
Cost of revenue 123,286 117,762 369,789 312,780
Gross profit 140,549 118,572 405,070 310,544
Operating expenses:        
Sales and marketing 52,356 46,134 158,817 123,363
Research and development 46,963 33,196 135,477 93,443
General and administrative 25,301 19,237 73,100 54,179
Total operating expenses 124,620 98,567 367,394 270,985
Operating income 15,929 20,005 37,676 39,559
Interest income and other expense, net:        
Interest income, net 2,658 595 6,553 870
Other expense, net (444) (134) (448) (474)
Total interest income and other expense, net 2,214 461 6,105 396
Income before income taxes 18,143 20,466 43,781 39,955
Income taxes 1,190 7,023 7,857 10,872
Net income $ 16,953 $ 13,443 $ 35,924 $ 29,083
Net income per common share:        
Basic (in dollars per share) $ 0.26 $ 0.21 $ 0.54 $ 0.45
Diluted (in dollars per share) $ 0.24 $ 0.19 $ 0.52 $ 0.42
Weighted-average number of shares used to compute net income per common share:        
Basic (in shares) 66,288 65,355 66,201 64,892
Diluted (in shares) 69,579 69,174 69,644 68,587
Other comprehensive income (loss), net of tax:        
Unrealized gain (loss) on available-for-sale marketable securities, net $ 263 $ (488) $ 1,185 $ (1,956)
Foreign currency translation adjustments, net (33) (335) (71) (808)
Total other comprehensive income (loss), net of tax 230 (823) 1,114 (2,764)
Comprehensive income $ 17,183 $ 12,620 $ 37,038 $ 26,319
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Loss
Accumulated Deficit
Beginning Balance (in shares) at Dec. 31, 2021   64,274      
Balance at beginning of period at Dec. 31, 2021 $ 568,428 $ 1,607 $ 997,855 $ (320) $ (430,714)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 31,502   31,502    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   1,168      
Issuance of common stock under equity incentive plans, net of forfeitures 21,498 $ 29 21,469    
Net income 29,083       29,083
Other comprehensive income (loss) (2,764)     (2,764)  
Ending Balance (in shares) at Oct. 01, 2022   65,442      
Balance at end of period at Oct. 01, 2022 647,747 $ 1,636 1,050,826 (3,084) (401,631)
Beginning Balance (in shares) at Jul. 02, 2022   65,241      
Balance at beginning of period at Jul. 02, 2022 617,129 $ 1,631 1,032,833 (2,261) (415,074)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 11,027   11,027    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   201      
Issuance of common stock under equity incentive plans, net of forfeitures 6,971 $ 5 6,966    
Net income 13,443       13,443
Other comprehensive income (loss) (823)     (823)  
Ending Balance (in shares) at Oct. 01, 2022   65,442      
Balance at end of period at Oct. 01, 2022 $ 647,747 $ 1,636 1,050,826 (3,084) (401,631)
Beginning Balance (in shares) at Dec. 31, 2022 65,735 65,735      
Balance at beginning of period at Dec. 31, 2022 $ 679,567 $ 1,644 1,070,100 (2,473) (389,704)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 50,090   50,090    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   1,169      
Issuance of common stock under equity incentive plans, net of forfeitures $ 26,659 $ 29 26,630    
Repurchases of common stock (in shares) (1,000) (954)      
Repurchases of common stock $ (42,409) $ (24) (42,385)    
Net income 35,924       35,924
Other comprehensive income (loss) $ 1,114     1,114  
Ending Balance (in shares) at Sep. 30, 2023 65,950 65,950      
Balance at end of period at Sep. 30, 2023 $ 750,945 $ 1,649 1,104,435 (1,359) (353,780)
Beginning Balance (in shares) at Jul. 01, 2023   66,320      
Balance at beginning of period at Jul. 01, 2023 741,770 $ 1,658 1,112,434 (1,589) (370,733)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 16,026   16,026    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   359      
Issuance of common stock under equity incentive plans, net of forfeitures 8,375 $ 9 8,366    
Repurchases of common stock (in shares)   (729)      
Repurchases of common stock (32,409) $ (18) (32,391)    
Net income 16,953       16,953
Other comprehensive income (loss) $ 230     230  
Ending Balance (in shares) at Sep. 30, 2023 65,950 65,950      
Balance at end of period at Sep. 30, 2023 $ 750,945 $ 1,649 $ 1,104,435 $ (1,359) $ (353,780)
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Operating activities:    
Net income $ 35,924 $ 29,083
Adjustments to reconcile net income to net cash provided by operating activities:    
Stock-based compensation 50,090 31,502
Depreciation and amortization 12,181 10,837
Deferred income taxes 4,294 5,225
Net accretion of available-for-sale securities (3,119) (533)
Changes in operating assets and liabilities:    
Accounts receivable, net 13,143 (15,308)
Inventory (873) (52,236)
Prepaid expenses and other assets (48,532) (32,854)
Accounts payable (19,756) 36,170
Accrued liabilities (141) 9,825
Deferred revenue 1,745 9,112
Other long-term liabilities (3,629) (9,745)
Net cash provided by operating activities 41,327 21,078
Investing activities    
Purchases of property and equipment (13,883) (9,260)
Purchases of marketable securities (133,521) (142,280)
Maturities of marketable securities 185,888 134,325
Net cash provided by (used in) investing activities 38,484 (17,215)
Financing activities:    
Proceeds from common stock issuances related to employee benefit plans 26,659 21,498
Repurchases of common stock (42,409) 0
Payments related to financing arrangements (7,560) (995)
Net cash provided by (used in) financing activities (23,310) 20,503
Effect of exchange rate changes on cash and cash equivalents 101 (527)
Net increase in cash and cash equivalents 56,602 23,839
Cash and cash equivalents at beginning of period 79,073 51,333
Cash and cash equivalents at end of period $ 135,675 $ 75,172
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.3
Company and Basis of Presentation
9 Months Ended
Sep. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Company and Basis of Presentation Company and Basis of Presentation
Company
Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of a platform (cloud, software and systems) and managed services that focus on the subscriber-facing network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. This platform and managed services enable broadband service providers (“BSPs”) of all sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from the Calix platform to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.
The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.
The Company’s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31st. As a result, the Company had one less day in the nine months ended September 30, 2023 than for the nine months ended October 1, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.3
Significant Accounting Policies
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Significant Accounting Policies Significant Accounting Policies
The Company’s significant accounting policies are disclosed in its Annual Report on Form 10-K for the year ended December 31, 2022. The Company’s significant accounting policies did not change during the nine months ended September 30, 2023.
Newly Adopted Accounting Standard
The Company did not adopt any new accounting standards during the nine months ended September 30, 2023 that were significant to the Company.

Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended September 30, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Cash, Cash Equivalents, and Marketable Securities
9 Months Ended
Sep. 30, 2023
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents and Marketable Securities Cash, Cash Equivalents and Marketable Securities
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.
Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. There were no realized gains and losses for the three and nine months ended September 30, 2023 and October 1, 2022, respectively.
Cash, cash equivalents and marketable securities consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Cash and cash equivalents:
Cash$30,264 $39,189 
Commercial paper38,093 33,199 
Money market funds35,720 555 
U.S. government securities31,598 5,990 
Corporate debt securities— 140 
Total cash and cash equivalents135,675 79,073 
Marketable securities:
U.S. government securities57,134 106,750 
U.S. government agency securities44,370 23,632 
Commercial paper8,358 28,992 
Corporate debt securities4,555 3,168 
Municipal securities— 100 
Total marketable securities114,417 162,642 
$250,092 $241,715 
The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities.
The amortized cost and fair value of marketable securities were as follows (in thousands):
As of September 30, 2023Amortized CostUnrealized LossesFair Value
U.S. government securities$88,922 $(190)$88,732 
Commercial paper46,473 (22)46,451 
U.S. government agency securities44,801 (431)44,370 
Corporate debt securities4,590 (35)4,555 
$184,786 $(678)$184,108 

As of December 31, 2022Amortized CostUnrealized LossesFair Value
U.S. government securities$114,119 $(1,379)$112,740 
Commercial paper62,262 (71)62,191 
U.S. government agency securities23,876 (244)23,632 
Corporate debt securities3,312 (4)3,308 
Municipal securities101 (1)100 
$203,670 $(1,699)$201,971 
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.
Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.

The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of September 30, 2023Level 1Level 2Total
Money market funds$35,720 $— $35,720 
U.S. government securities88,732 — 88,732 
Commercial paper— 46,451 46,451 
U.S. government agency securities— 44,370 44,370 
Corporate debt securities— 4,555 4,555 
$124,452 $95,376 $219,828 
As of December 31, 2022Level 1Level 2Total
Money market funds$555 $— $555 
U.S. government securities112,740 — 112,740 
Commercial paper— 62,191 62,191 
U.S. government agency securities— 23,632 23,632 
Corporate debt securities— 3,308 3,308 
Municipal securities— 100 100 
$113,295 $89,231 $202,526 
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details
9 Months Ended
Sep. 30, 2023
Balance Sheet Related Disclosures [Abstract]  
Balance Sheet Details Balance Sheet Details
Accounts receivable, net consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Accounts receivable$80,986 $94,201 
Allowance for doubtful accounts(325)(397)
$80,661 $93,804 
Inventory consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Raw materials$11,696 $640 
Finished goods138,337 148,520 
$150,033 $149,160 
Prepaid expenses and other current assets consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Supplier deposits    $65,891 $39,064 
Prepaid expenses and other current assets40,948 23,627 
$106,839 $62,691 
Notes Receivable
The Company has notes receivable with one customer related to the sale of hardware. The notes receivable are secured by the underlying hardware and have original terms of three years at interest rates ranging from 5% to 8%. The Company assesses the credit worthiness of this customer on a periodic basis and did not have an allowance for credit losses against these notes as of September 30, 2023. As of September 30, 2023, there was $13.0 million outstanding, of which $5.2 million is included in “Prepaid expenses and other current assets” and $7.8 million in “Other assets” in the accompanying Condensed Consolidated Balance Sheets.
Property and equipment, net consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Test equipment$50,023 $44,106 
Computer equipment13,637 13,396 
Software12,505 10,389 
Leasehold improvements1,990 1,730 
Furniture and fixtures1,261 1,153 
Total79,416 70,774 
Accumulated depreciation and amortization(50,293)(44,940)
$29,123 $25,834 
Accrued liabilities consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Compensation and related benefits$24,666 $27,813 
Component inventory held by suppliers13,428 10,280 
Professional and consulting fees6,977 7,307 
Current portion of warranty and retrofit5,795 6,377 
Customer advances or rebates5,449 5,653 
Taxes payable4,742 4,581 
Revenue share payments4,186 7,210 
Operating leases3,996 3,949 
Product returns2,723 2,961 
Business events1,967 3,167 
Insurance1,698 1,785 
Freight1,146 3,649 
Other5,305 5,742 
$82,078 $90,474 

Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Balance at beginning of period$8,306 $8,654 $8,386 $9,594 
Accruals for product warranty and retrofit
1,081 219 2,899 396 
Cost of warranty and retrofit claims
(995)(566)(2,893)(1,683)
Balance at end of period$8,392 $8,307 $8,392 $8,307 

In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. As of September 30, 2023, the liability, including accrued interest, was $4.2 million, which is included in “Accrued liabilities” in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2022, the liability, including accrued interest, was $11.4 million, of which $7.2 million was included in “Accrued liabilities” and $4.2 million in “Other long-term liabilities.”
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Lease Commitments
The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of September 30, 2023 (in thousands):
PeriodFuture Minimum Lease Payments
Remainder of 2023$1,108 
20244,664 
20254,466 
20261,485 
2027 and thereafter1,785 
Total future minimum lease payments13,508 
Less imputed interest(1,066)
$12,442 

As of September 30, 2023, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,996 
Operating leases8,446 
$12,442 
The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $5.5 million and are included in the table above.
The weighted average discount rate for the Company’s operating leases as of September 30, 2023 was 5.4%. The weighted average remaining lease term as of September 30, 2023 was 3.3 years.
For the three and nine months ended September 30, 2023, total rent expense of the Company was $1.2 million and $3.6 million, respectively. For the three and nine months ended October 1, 2022, total rent expense of the Company was $1.2 million and $3.4 million, respectively. Cash paid within operating cash flows for operating leases was $3.4 million for the nine months ended September 30, 2023 and October 1, 2022 for each respective period.
Purchase Commitments
The Company’s suppliers, including contract manufacturers (“CMs”) and original design manufacturers (“ODMs”), place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of September 30, 2023 and December 31, 2022, the Company had approximately $227.2 million and $340.6 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within two years.
The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $13.4 million and $10.3 million as of September 30, 2023 and December 31, 2022, respectively. The Company records the related charges in cost of revenue in its Condensed Consolidated Statements of Comprehensive Income.
Litigation
From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceeding that, if determined adversely to the Company, in management’s opinion, is currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity
9 Months Ended
Sep. 30, 2023
Equity [Abstract]  
Stockholders' Equity Stockholders’ Equity
2019 Equity Incentive Award Plan
Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (“the 2019 Plan”). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 1.5 million shares. As of September 30, 2023, there were 5.4 million shares available for issuance under the 2019 Plan.
During the three months ended September 30, 2023, stock option awards exercisable for up to an aggregate of 0.3 million shares of common stock were granted with a grant date weighted-average exercise price of $41.18 per share. During the nine months ended September 30, 2023, stock option awards exercisable for up to an aggregate of 0.9 million shares of common stock were granted with a grant date weighted-average exercise price of $46.25 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.
In February 2023, performance-based stock option awards exercisable for up to an aggregate of 1.2 million shares of common stock were granted to certain Company executives with a grant date exercise price of $51.57 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net operating income for 2023 (collectively, the “2023 Performance Targets”) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company’s Board of Directors upon the achievement of the 2023 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. If the non-GAAP net operating income target and the bookings target are each achieved below 80% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If either target is achieved at the minimum threshold of 80% of target, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 125% of the granted shares for each target. Each target result is then weighted by 50% and the combined total determines the percent of target shares. The maximum combined award is 100%. The probability of meeting a portion of the performance conditions related to these performance-based stock option awards was assessed to be probable as of September 30, 2023 based on adjusted targets, and stock-based compensation expense of $2.8 million was recognized for the three months ended September 30, 2023. For the nine months ended September 30, 2023, stock-based compensation expense of $9.7 million was recognized.
During the three months ended September 30, 2023, 61,000 shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $9.01 per share. During the nine months ended September 30, 2023, 0.3 million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $11.93 per share. As of September 30, 2023, unrecognized stock-based compensation expense of $84.6 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.1 years.
Employee Stock Purchase Plans
The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”).
The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations.
The offering periods under the ESPP are two six-month offering periods from August 15th through February 14th and February 15th through August 14th of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. As of September 30, 2023, there were 4.5 million shares available for issuance under the ESPP. During the nine months ended September 30, 2023, 0.2 million shares were purchased under the ESPP. As of September 30, 2023, unrecognized stock-based
compensation expense of $1.2 million related to the ESPP is expected to be recognized over a remaining service period of 0.4 years.
The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible recurring compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides quarterly offering periods from February 8th through May 7th, May 8th through August 7th, August 8th through November 7th and November 8th through February 7th of each year, with a maximum of 0.25 million shares allocated per purchase period.
At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 1.2 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 7.5 million shares. As of September 30, 2023, there were 3.6 million shares available for issuance under the NQ ESPP. During the nine months ended September 30, 2023, 0.6 million shares were purchased and issued. As of September 30, 2023, unrecognized stock-based compensation expense of $11.4 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.8 years.
Stock-Based Compensation
The following table summarizes stock-based compensation expense (in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Cost of revenue$734 $698 $2,314 $1,964 
Sales and marketing4,333 3,082 13,818 8,412 
Research and development4,245 2,808 13,417 8,812 
General and administrative6,714 4,439 20,541 12,314 
$16,026 $11,027 $50,090 $31,502 
Income tax benefit recognized$2,578 $1,691 $9,685 $7,818 
Stock Repurchase Program
The Company has in place a stock repurchase program for up to $100 million of the Company’s common stock. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases depends on prevailing stock prices, general economic and market conditions, and other considerations consistent with the Company’s capital allocation strategy. The repurchase program does not obligate the Company to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. For the nine months ended September 30, 2023, the Company purchased 1.0 million shares of common stock for $42.4 million at an average price per share of $44.47. As of September 30, 2023, the remaining balance under this authorization was $57.6 million.
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers Revenue from Contracts with Customers
The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
United States$235,128 $215,857 $695,491 $565,420 
Europe19,377 7,178 46,483 16,705 
Americas ex U.S.7,414 11,557 26,280 31,236 
Middle East & Africa1,740 1,223 5,888 8,940 
Asia Pacific176 519 717 1,023 
$263,835 $236,334 $774,859 $623,324 
Contract Asset
Contract assets include amounts recognized as revenue prior to the Company’s contractual right to bill the customer. Amounts are billed in accordance with the agreed-upon contractual terms. The closing balance as of September 30, 2023 was $5.5 million of which the Company expects to bill 47% of the balance during the remainder of 2023. The contract asset balance may fluctuate depending on the timing of fulfilling the related performance obligations with the Company's customers.
Contract Liability
Deferred revenue was $60.4 million, $67.2 million and $58.6 million as of September 30, 2023, July 1, 2023 and December 31, 2022, respectively. The decrease in the deferred revenue balance for the three months ended September 30, 2023 was the result of revenue recognized of $16.7 million that was included in the deferred revenue balance at the beginning the period offset by cash payments received or due in advance of satisfying the Company’s performance obligations. The increase in the deferred revenue balance for the nine months ended September 30, 2023 was driven by cash payments received or due in advance of satisfying the Company’s performance obligations and balances reclassified to contract assets during the period offset by $26.1 million of revenue recognized that was included in the deferred revenue balance at the beginning of the period.
Revenue allocated to remaining performance obligations (“RPOs”) represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods but excludes variable consideration where the monthly invoicing is based on usage or where actual usage exceeds the minimum commitment. RPOs were $219.5 million as of September 30, 2023, and the Company expects to recognize as revenue 39% of this amount over the next 12 months and the remainder thereafter.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of September 30, 2023 and December 31, 2022, the unamortized balance of deferred commissions was $10.9 million and $11.2 million, respectively. For the three and nine months ended September 30, 2023, the amount of amortization was $1.7 million and $4.6 million, respectively, compared to $1.0 million and $2.6 million for the three and nine months ended October 1, 2022, respectively. There was no impairment loss in relation to the costs capitalized for either period.
Concentration of Customer Risk
No customer accounted for more than 10% of the Company’s revenue for the three or nine months ended September 30, 2023 and October 1, 2022.
Two customers represented 16% and 13%, respectively, of the Company’s accounts receivable as of September 30, 2023. One customer represented 11% of the Company’s accounts receivable as of December 31, 2022.
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes
9 Months Ended
Sep. 30, 2023
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Income before income taxes$18,143 $20,466 $43,781 $39,955 
Income taxes$1,190 $7,023 $7,857 $10,872 
Effective tax rate6.6 %34.3 %17.9 %27.2 %
The Company’s income taxes for the three and nine months ended September 30, 2023 and October 1, 2022 were determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The Company’s
effective tax rate for the three and nine months ended September 30, 2023 and October 1, 2022 differed from the statutory federal corporate tax rate of 21% primarily due to state taxes, the effect of non-deductible stock-based compensation for executive officers offset by the favorable impact of U.S. federal research tax credits, excess tax benefits from stock-based compensation and the U.S. tax impact of foreign operations. For the three and nine months ended September 30, 2023, the Company recognized a tax benefit of $3.6 million related to the finalization of its 2022 tax returns.
The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards, capitalized research and development costs and tax credits. The Company’s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations. Management believes that it is more likely than not that the Company will utilize a significant portion of its deferred tax assets.
The Company maintained a valuation allowance for the three and nine months ended September 30, 2023 and October 1, 2022 of $29.9 million and $30.9 million, respectively, on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.
The Company considered scheduled reversals of deferred tax liabilities, historic profitability, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company’s financial position and net income in the period of the adjustment.
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Net Income Per Common Share
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Net Income Per Common Share Net Income Per Common Share
The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Numerator:
Net income$16,953 $13,443 $35,924 $29,083 
Denominator:
Weighted-average common shares outstanding used to compute basic net income per share66,288 65,355 66,201 64,892 
Effect of dilutive common stock equivalents3,291 3,819 3,443 3,695 
Weighted-average common shares outstanding used to compute diluted net income per share69,579 69,174 69,644 68,587 
Net income per common share:
Basic net income per common share$0.26 $0.21 $0.54 $0.45 
Diluted net income per common share$0.24 $0.19 $0.52 $0.42 
Potentially dilutive shares excluded, weighted average4,958 1,724 4,022 1,803 
Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Pay vs Performance Disclosure        
Net income $ 16,953 $ 13,443 $ 35,924 $ 29,083
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.
The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.
The Company’s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31st. As a result, the Company had one less day in the nine months ended September 30, 2023 than for the nine months ended October 1, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.
Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted
Newly Adopted Accounting Standard
The Company did not adopt any new accounting standards during the nine months ended September 30, 2023 that were significant to the Company.

Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended September 30, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.
Revenue Recognition The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Cash, Cash Equivalents and Restricted Cash (Tables)
9 Months Ended
Sep. 30, 2023
Cash and Cash Equivalents [Abstract]  
Summary of cash and cash equivalents
Cash, cash equivalents and marketable securities consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Cash and cash equivalents:
Cash$30,264 $39,189 
Commercial paper38,093 33,199 
Money market funds35,720 555 
U.S. government securities31,598 5,990 
Corporate debt securities— 140 
Total cash and cash equivalents135,675 79,073 
Marketable securities:
U.S. government securities57,134 106,750 
U.S. government agency securities44,370 23,632 
Commercial paper8,358 28,992 
Corporate debt securities4,555 3,168 
Municipal securities— 100 
Total marketable securities114,417 162,642 
$250,092 $241,715 
Debt securities, available-for-sale
The amortized cost and fair value of marketable securities were as follows (in thousands):
As of September 30, 2023Amortized CostUnrealized LossesFair Value
U.S. government securities$88,922 $(190)$88,732 
Commercial paper46,473 (22)46,451 
U.S. government agency securities44,801 (431)44,370 
Corporate debt securities4,590 (35)4,555 
$184,786 $(678)$184,108 

As of December 31, 2022Amortized CostUnrealized LossesFair Value
U.S. government securities$114,119 $(1,379)$112,740 
Commercial paper62,262 (71)62,191 
U.S. government agency securities23,876 (244)23,632 
Corporate debt securities3,312 (4)3,308 
Municipal securities101 (1)100 
$203,670 $(1,699)$201,971 
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measures and Disclosures (Tables)
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Fair value, assets measured on recurring basis
The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of September 30, 2023Level 1Level 2Total
Money market funds$35,720 $— $35,720 
U.S. government securities88,732 — 88,732 
Commercial paper— 46,451 46,451 
U.S. government agency securities— 44,370 44,370 
Corporate debt securities— 4,555 4,555 
$124,452 $95,376 $219,828 
As of December 31, 2022Level 1Level 2Total
Money market funds$555 $— $555 
U.S. government securities112,740 — 112,740 
Commercial paper— 62,191 62,191 
U.S. government agency securities— 23,632 23,632 
Corporate debt securities— 3,308 3,308 
Municipal securities— 100 100 
$113,295 $89,231 $202,526 
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details (Tables)
9 Months Ended
Sep. 30, 2023
Balance Sheet Related Disclosures [Abstract]  
Summary of accounts receivable, net
Accounts receivable, net consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Accounts receivable$80,986 $94,201 
Allowance for doubtful accounts(325)(397)
$80,661 $93,804 
Summary of inventory
Inventory consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Raw materials$11,696 $640 
Finished goods138,337 148,520 
$150,033 $149,160 
Summary of prepaid expenses and other current assets
Prepaid expenses and other current assets consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Supplier deposits    $65,891 $39,064 
Prepaid expenses and other current assets40,948 23,627 
$106,839 $62,691 
Summary of property and equipment, net
Property and equipment, net consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Test equipment$50,023 $44,106 
Computer equipment13,637 13,396 
Software12,505 10,389 
Leasehold improvements1,990 1,730 
Furniture and fixtures1,261 1,153 
Total79,416 70,774 
Accumulated depreciation and amortization(50,293)(44,940)
$29,123 $25,834 
Summary of accrued liabilities
Accrued liabilities consisted of the following (in thousands):
September 30,
2023
December 31,
2022
Compensation and related benefits$24,666 $27,813 
Component inventory held by suppliers13,428 10,280 
Professional and consulting fees6,977 7,307 
Current portion of warranty and retrofit5,795 6,377 
Customer advances or rebates5,449 5,653 
Taxes payable4,742 4,581 
Revenue share payments4,186 7,210 
Operating leases3,996 3,949 
Product returns2,723 2,961 
Business events1,967 3,167 
Insurance1,698 1,785 
Freight1,146 3,649 
Other5,305 5,742 
$82,078 $90,474 
Summary of product warranty activities
Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Balance at beginning of period$8,306 $8,654 $8,386 $9,594 
Accruals for product warranty and retrofit
1,081 219 2,899 396 
Cost of warranty and retrofit claims
(995)(566)(2,893)(1,683)
Balance at end of period$8,392 $8,307 $8,392 $8,307 
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Schedule of future minimum rental payments for operating leases Future minimum payments under the non-cancelable operating leases consisted of the following as of September 30, 2023 (in thousands):
PeriodFuture Minimum Lease Payments
Remainder of 2023$1,108 
20244,664 
20254,466 
20261,485 
2027 and thereafter1,785 
Total future minimum lease payments13,508 
Less imputed interest(1,066)
$12,442 
Lessee, operating lease liability
As of September 30, 2023, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,996 
Operating leases8,446 
$12,442 
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity (Tables)
9 Months Ended
Sep. 30, 2023
Equity [Abstract]  
Disclosure of share-based compensation arrangements by share-based payment award
The following table summarizes stock-based compensation expense (in thousands):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Cost of revenue$734 $698 $2,314 $1,964 
Sales and marketing4,333 3,082 13,818 8,412 
Research and development4,245 2,808 13,417 8,812 
General and administrative6,714 4,439 20,541 12,314 
$16,026 $11,027 $50,090 $31,502 
Income tax benefit recognized$2,578 $1,691 $9,685 $7,818 
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers (Tables)
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue from external customers by geographic areas The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
United States$235,128 $215,857 $695,491 $565,420 
Europe19,377 7,178 46,483 16,705 
Americas ex U.S.7,414 11,557 26,280 31,236 
Middle East & Africa1,740 1,223 5,888 8,940 
Asia Pacific176 519 717 1,023 
$263,835 $236,334 $774,859 $623,324 
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes (Tables)
9 Months Ended
Sep. 30, 2023
Income Tax Disclosure [Abstract]  
Schedule of income taxes
The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Income before income taxes$18,143 $20,466 $43,781 $39,955 
Income taxes$1,190 $7,023 $7,857 $10,872 
Effective tax rate6.6 %34.3 %17.9 %27.2 %
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.3
Net Income Per Common Share (Tables)
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Schedule of net income per share
The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):
 Three Months EndedNine Months Ended
September 30,
2023
October 1,
2022
September 30,
2023
October 1,
2022
Numerator:
Net income$16,953 $13,443 $35,924 $29,083 
Denominator:
Weighted-average common shares outstanding used to compute basic net income per share66,288 65,355 66,201 64,892 
Effect of dilutive common stock equivalents3,291 3,819 3,443 3,695 
Weighted-average common shares outstanding used to compute diluted net income per share69,579 69,174 69,644 68,587 
Net income per common share:
Basic net income per common share$0.26 $0.21 $0.54 $0.45 
Diluted net income per common share$0.24 $0.19 $0.52 $0.42 
Potentially dilutive shares excluded, weighted average4,958 1,724 4,022 1,803 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Dec. 31, 2022
Cash and Cash Equivalents [Line Items]          
Realized gains and losses on marketable securities $ 0 $ 0 $ 0 $ 0  
Total cash and cash equivalents 135,675,000   135,675,000   $ 79,073,000
Marketable securities 114,417,000   114,417,000   162,642,000
Total cash, cash equivalents, and marketable securities 250,092,000   250,092,000   241,715,000
U.S. government securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 57,134,000   57,134,000   106,750,000
U.S. government agency securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 44,370,000   44,370,000   23,632,000
U.S. government agency securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 44,370,000   44,370,000   23,632,000
Commercial paper          
Cash and Cash Equivalents [Line Items]          
Marketable securities 8,358,000   8,358,000   28,992,000
Corporate debt securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 4,555,000   4,555,000   3,168,000
Corporate debt securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 4,555,000   4,555,000   3,308,000
Municipal securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 0   0   100,000
Municipal securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities         100,000
Cash          
Cash and Cash Equivalents [Line Items]          
Cash 30,264,000   30,264,000   39,189,000
Commercial paper          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 38,093,000   38,093,000   33,199,000
Money market funds          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 35,720,000   35,720,000   555,000
U.S. government securities          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 31,598,000   31,598,000   5,990,000
Corporate debt securities          
Cash and Cash Equivalents [Line Items]          
Cash equivalents $ 0   $ 0   $ 140,000
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Debt Securities, Available-for-sale [Line Items]    
Fair Value $ 114,417 $ 162,642
Short-Term Marketable Securities And Cash Equivalents    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 184,786 203,670
Unrealized Losses (678) (1,699)
Fair Value 184,108 201,971
U.S. government securities | Short-Term Marketable Securities And Cash Equivalents    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 88,922 114,119
Unrealized Losses (190) (1,379)
Fair Value 88,732 112,740
U.S. government securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 57,134 106,750
Commercial paper    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 8,358 28,992
Commercial paper | Short-Term Marketable Securities And Cash Equivalents    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 46,473 62,262
Unrealized Losses (22) (71)
Fair Value 46,451 62,191
U.S. government agency securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 44,370 23,632
U.S. government agency securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 44,801 23,876
Unrealized Losses (431) (244)
Fair Value 44,370 23,632
Corporate debt securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 4,555 3,168
Corporate debt securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 4,590 3,312
Unrealized Losses (35) (4)
Fair Value 4,555 3,308
Municipal securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value $ 0 100
Municipal securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost   101
Unrealized Losses   (1)
Fair Value   $ 100
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measures and Disclosures (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities $ 114,417 $ 162,642
Commercial paper    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 8,358 28,992
U.S. government agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 44,370 23,632
Corporate debt securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,555 3,168
Municipal securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 100
Fair Value, Recurring    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 219,828 202,526
Fair Value, Recurring | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 124,452 113,295
Fair Value, Recurring | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 95,376 89,231
Fair Value, Recurring | U.S. government securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 88,732 112,740
Fair Value, Recurring | U.S. government securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 88,732 112,740
Fair Value, Recurring | U.S. government securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | Commercial paper    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 46,451 62,191
Fair Value, Recurring | Commercial paper | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | Commercial paper | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 46,451 62,191
Fair Value, Recurring | U.S. government agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 44,370 23,632
Fair Value, Recurring | U.S. government agency securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | U.S. government agency securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 44,370 23,632
Fair Value, Recurring | Corporate debt securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,555 3,308
Fair Value, Recurring | Corporate debt securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | Corporate debt securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,555 3,308
Fair Value, Recurring | Municipal securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities   100
Fair Value, Recurring | Municipal securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities   0
Fair Value, Recurring | Municipal securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities   100
Fair Value, Recurring | Money market funds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 35,720 555
Fair Value, Recurring | Money market funds | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 35,720 555
Fair Value, Recurring | Money market funds | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds $ 0 $ 0
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Accounts Receivable (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Summary of accounts receivable, net    
Accounts receivable $ 80,986 $ 94,201
Allowance for doubtful accounts (325) (397)
Accounts receivable, net $ 80,661 $ 93,804
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Inventory (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Summary of inventory, net    
Raw materials $ 11,696 $ 640
Finished goods 138,337 148,520
Total inventory $ 150,033 $ 149,160
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Prepaid Expenses and Other Assets (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Oct. 01, 2022
Balance Sheet Related Disclosures [Abstract]      
Supplier deposits $ 65,891   $ 39,064
Prepaid expenses and other current assets 40,948   23,627
Total prepaid expense and other assets $ 106,839 $ 62,691 $ 62,691
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Narrative (Details) - USD ($)
9 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Dec. 31, 2020
Finite-Lived Intangible Assets [Line Items]      
Term of interest period 3 years    
Allowance for credit loss $ 0    
Notes receivable, outstanding after allowance for credit loss 13,000,000    
Notes receivable, outstanding after allowance for credit loss, current 5,200,000    
Notes receivable, outstanding after allowance for credit loss, noncurrent 7,800,000    
Accrued liabilities 82,078,000 $ 90,474,000  
Other long-term liabilities 2,700,000 6,332,000  
Licensed Software      
Finite-Lived Intangible Assets [Line Items]      
Royalty payment commitment     $ 15,800,000
Other liabilities $ 4,200,000 11,400,000  
Accrued liabilities   7,200,000  
Other long-term liabilities   $ 4,200,000  
Minimum      
Finite-Lived Intangible Assets [Line Items]      
Stated interest rate 5.00%    
Maximum      
Finite-Lived Intangible Assets [Line Items]      
Stated interest rate 8.00%    
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Summary of property and equipment, net    
Property and equipment, gross $ 79,416 $ 70,774
Accumulated depreciation and amortization (50,293) (44,940)
Property and equipment, net 29,123 25,834
Test equipment    
Summary of property and equipment, net    
Property and equipment, gross 50,023 44,106
Computer equipment    
Summary of property and equipment, net    
Property and equipment, gross 13,637 13,396
Software    
Summary of property and equipment, net    
Property and equipment, gross 12,505 10,389
Leasehold improvements    
Summary of property and equipment, net    
Property and equipment, gross 1,990 1,730
Furniture and fixtures    
Summary of property and equipment, net    
Property and equipment, gross $ 1,261 $ 1,153
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Summary of accrued liabilities    
Compensation and related benefits $ 24,666 $ 27,813
Component inventory held by suppliers 13,428 10,280
Professional and consulting fees 6,977 7,307
Current portion of warranty and retrofit 5,795 6,377
Customer advances or rebates 5,449 5,653
Taxes payable 4,742 4,581
Revenue share payments 4,186 7,210
Operating leases 3,996 3,949
Product returns 2,723 2,961
Business events 1,967 3,167
Insurance 1,698 1,785
Freight 1,146 3,649
Other 5,305 5,742
Total accrued liabilities $ 82,078 $ 90,474
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheet Details - Warranty Reserve (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Movement in Standard Product Warranty Accrual [Roll Forward]        
Balance at beginning of period $ 8,306 $ 8,654 $ 8,386 $ 9,594
Accruals for product warranty and retrofit 1,081 219 2,899 396
Cost of warranty and retrofit claims (995) (566) (2,893) (1,683)
Balance at end of period $ 8,392 $ 8,307 $ 8,392 $ 8,307
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Operating Leases (Details)
$ in Thousands
Sep. 30, 2023
USD ($)
Commitments and Contingencies Disclosure [Abstract]  
Remainder of 2023 $ 1,108
2024 4,664
2025 4,466
2026 1,485
2027 and thereafter 1,785
Total future minimum lease payments 13,508
Less imputed interest (1,066)
Operating lease liability $ 12,442
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Operating Lease Liability (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Commitments and Contingencies Disclosure [Abstract]    
Accrued liabilities - current portion of operating leases $ 3,996 $ 3,949
Operating leases 8,446 $ 8,442
Operating lease liability $ 12,442  
Operating lease, liability, current, statement of financial position Accrued Liabilities, Current  
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Dec. 31, 2022
Commitments and Contingencies [Line Items]          
Total future minimum lease payments $ 13,508   $ 13,508    
Weighted average operating discount rate used to determine the operating lease liability (percent) 5.40%   5.40%    
Weighted average remaining lease term for operating lease 3 years 3 months 18 days   3 years 3 months 18 days    
Rent expense $ 1,200 $ 1,200 $ 3,600 $ 3,400  
Operating lease, payments     3,400 $ 3,400  
Accrued customer rebates/prepayments 13,428   13,428   $ 10,280
Inventories          
Commitments and Contingencies [Line Items]          
Outstanding purchase commitments 227,200   $ 227,200   $ 340,600
Purchase commitment period     2 years    
San Jose, California          
Commitments and Contingencies [Line Items]          
Total future minimum lease payments $ 5,500   $ 5,500    
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Stock Options (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Feb. 28, 2023
Sep. 30, 2023
Sep. 30, 2023
Oct. 01, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock options granted (in shares)   300,000 900,000  
Weighted-average grant date fair value (in dollars per share)   $ 41.18 $ 46.25  
Maximum combined payout percent 100.00%      
Stock-based compensation     $ 50,090 $ 31,502
Stock options exercised (in shares)   61,000 300,000  
Weighted-average exercise price per share, stock options (in dollars per share)   $ 9.01 $ 11.93  
Unrecognized stock-based compensation expense, stock options   $ 84,600 $ 84,600  
Recognition period     2 years 1 month 6 days  
2019 Equity Incentive Award Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Increase in the number of shares of common stock issuable (in shares)   1,500,000 1,500,000  
Shares available for future grant (in shares)   5,400,000 5,400,000  
2021 Performance Targets | Stock Options | Period One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage     25.00%  
2021 Performance Targets | Stock Options | Period Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting period     3 years  
2021 Performance Targets | Performance Based Stock Options | Executive Officer        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock options granted (in shares) 1,200,000      
Weighted-average grant date fair value (in dollars per share) $ 51.57      
Award performance period 1 year      
Net income per share, target achievement performance threshold, percent 80.00%      
Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares) 0      
Shares award weighting percent 50.00%      
Target achievement threshold for shares award sliding scale 125.00%      
Stock-based compensation   $ 2,800 $ 9,700  
2021 Performance Targets | Performance Based Stock Options | Period One | Executive Officer        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage 25.00%      
Award vesting period 1 year      
2021 Performance Targets | Performance Based Stock Options | Period Two | Executive Officer        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage 75.00%      
Award vesting period 36 months      
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Employee Stock Purchase Plans (Details)
$ in Millions
9 Months Ended
Sep. 30, 2023
USD ($)
period
plan
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of employee stock purchase plans | plan 2
Recognition period 2 years 1 month 6 days
Unrecognized stock-based compensation expense, stock options | $ $ 84.6
Employee Stock Purchase Plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
ESPP, maximum employee payroll deduction percentage 15.00%
Number of offering periods | period 2
Offering period 6 months
ESPP, discounted purchase price percentage 85.00%
Shares available for future grant (in shares) 4,500,000
Shares purchased under ESPP (in shares) 200,000
Unrecognized stock-based compensation expense | $ $ 1.2
Recognition period 4 months 24 days
Employee Stock Purchase Plan | 2017 Nonqualified Employee Stock Purchase Plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
ESPP, maximum employee payroll deduction percentage 25.00%
Shares available for future grant (in shares) 3,600,000
Recognition period 9 months 18 days
Employee termination period following purchase date to receive shares subject to risk of forfeiture 1 year
Maximum number of shares allocated per purchase period 250,000
Number of additional shares authorized (in shares) 1,200,000
Number of shares authorized (in shares) 7,500,000
Number of shares issued (in shares) 600,000
Number of shares purchased (in shares) 600,000
Unrecognized stock-based compensation expense, stock options | $ $ 11.4
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Stock-Based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation $ 16,026 $ 11,027 $ 50,090 $ 31,502
Income tax benefit recognized 2,578 1,691 9,685 7,818
Cost of revenue        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation 734 698 2,314 1,964
Sales and marketing        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation 4,333 3,082 13,818 8,412
Research and development        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation 4,245 2,808 13,417 8,812
General and administrative        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation $ 6,714 $ 4,439 $ 20,541 $ 12,314
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Stock Repurchase Program (Details) - USD ($)
$ / shares in Units, $ in Thousands, shares in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Jul. 31, 2022
Equity [Abstract]      
Stock repurchase program, authorized amount     $ 100,000
Shares repurchased (in shares)   1.0  
Repurchases of common stock $ 32,409 $ 42,409  
Average price paid per share (in dollars per share)   $ 44.47  
Remaining authorized repurchase amount $ 57,600 $ 57,600  
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers - Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Disaggregation of Revenue [Line Items]        
Total revenues $ 263,835 $ 236,334 $ 774,859 $ 623,324
United States        
Disaggregation of Revenue [Line Items]        
Total revenues 235,128 215,857 695,491 565,420
Europe        
Disaggregation of Revenue [Line Items]        
Total revenues 19,377 7,178 46,483 16,705
Americas ex U.S.        
Disaggregation of Revenue [Line Items]        
Total revenues 7,414 11,557 26,280 31,236
Middle East & Africa        
Disaggregation of Revenue [Line Items]        
Total revenues 1,740 1,223 5,888 8,940
Asia Pacific        
Disaggregation of Revenue [Line Items]        
Total revenues $ 176 $ 519 $ 717 $ 1,023
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers - Contract Asset and Liability (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Jul. 01, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]        
Contract with customer, asset $ 5.5 $ 5.5    
Contract with customer, asset, expected to be billed remainder of year, percent 47.00% 47.00%    
Deferred revenue $ 60.4 $ 60.4 $ 67.2 $ 58.6
Contract with customer, liability, revenue recognized $ 16.7 $ 26.1    
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers - Performance Obligations (Details)
$ in Millions
Sep. 30, 2023
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, amount $ 219.5
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, percentage 39.00%
Performance obligations expected to be satisfied, expected timing 12 months
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers - Contract Costs (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]          
Capitalized contract cost, gross $ 10,900,000   $ 10,900,000   $ 11,200,000
Capitalized contract cost, amortization 1,700,000 $ 1,000,000 4,600,000 $ 2,600,000  
Capitalized contract cost, impairment $ 0 $ 0 $ 0 $ 0  
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue from Contracts with Customers - Concentration Risk (Details) - Customer Concentration Risk - Financing Receivable
9 Months Ended 12 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Customer One    
Concentration Risk [Line Items]    
Concentration risk, percentage 16.00% 11.00%
Customer Two    
Concentration Risk [Line Items]    
Concentration risk, percentage 13.00%  
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes - Income Taxes And The Effective Tax Rates (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Income Tax Disclosure [Abstract]        
Income before income taxes $ 18,143 $ 20,466 $ 43,781 $ 39,955
Income taxes $ 1,190 $ 7,023 $ 7,857 $ 10,872
Effective tax rate 6.60% 34.30% 17.90% 27.20%
Prior year income taxes benefit $ 3,600   $ 3,600  
Valuation allowance $ 29,900 $ 30,900 $ 29,900 $ 30,900
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Oct. 01, 2022
Income Tax Disclosure [Abstract]      
Prior year income taxes benefit $ 3.6 $ 3.6  
Valuation allowance $ 29.9 $ 29.9 $ 30.9
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Net Income Per Common Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Numerator:        
Net income $ 16,953 $ 13,443 $ 35,924 $ 29,083
Denominator:        
Weighted-average common shares outstanding used to compute basic net income per share (in shares) 66,288 65,355 66,201 64,892
Effect of dilutive common stock equivalents (in shares) 3,291 3,819 3,443 3,695
Weighted-average common shares outstanding used to compute diluted net income per share (in shares) 69,579 69,174 69,644 68,587
Net income per common share:        
Basic net income per common share (in dollars per share) $ 0.26 $ 0.21 $ 0.54 $ 0.45
Diluted net income per common share (in dollars per share) $ 0.24 $ 0.19 $ 0.52 $ 0.42
Potentially dilutive shares, weighted average (in shares) 4,958 1,724 4,022 1,803
XML 61 calx-20230930_htm.xml IDEA: XBRL DOCUMENT 0001406666 2023-01-01 2023-09-30 0001406666 2023-10-16 0001406666 2023-09-30 0001406666 2022-12-31 0001406666 2023-07-02 2023-09-30 0001406666 2022-07-03 2022-10-01 0001406666 2022-01-01 2022-10-01 0001406666 us-gaap:CommonStockMember 2023-07-01 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 0001406666 us-gaap:RetainedEarningsMember 2023-07-01 0001406666 2023-07-01 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-07-02 2023-09-30 0001406666 us-gaap:CommonStockMember 2023-07-02 2023-09-30 0001406666 us-gaap:RetainedEarningsMember 2023-07-02 2023-09-30 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-02 2023-09-30 0001406666 us-gaap:CommonStockMember 2023-09-30 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001406666 us-gaap:RetainedEarningsMember 2023-09-30 0001406666 us-gaap:CommonStockMember 2022-07-02 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-07-02 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-02 0001406666 us-gaap:RetainedEarningsMember 2022-07-02 0001406666 2022-07-02 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-07-03 2022-10-01 0001406666 us-gaap:CommonStockMember 2022-07-03 2022-10-01 0001406666 us-gaap:RetainedEarningsMember 2022-07-03 2022-10-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-03 2022-10-01 0001406666 us-gaap:CommonStockMember 2022-10-01 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-10-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-10-01 0001406666 us-gaap:RetainedEarningsMember 2022-10-01 0001406666 2022-10-01 0001406666 us-gaap:CommonStockMember 2022-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001406666 us-gaap:RetainedEarningsMember 2022-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001406666 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001406666 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001406666 us-gaap:CommonStockMember 2021-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001406666 us-gaap:RetainedEarningsMember 2021-12-31 0001406666 2021-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-10-01 0001406666 us-gaap:CommonStockMember 2022-01-01 2022-10-01 0001406666 us-gaap:RetainedEarningsMember 2022-01-01 2022-10-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-10-01 0001406666 us-gaap:CashMember 2023-09-30 0001406666 us-gaap:CashMember 2022-12-31 0001406666 us-gaap:CommercialPaperMember 2023-09-30 0001406666 us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember 2023-09-30 0001406666 us-gaap:MoneyMarketFundsMember 2022-12-31 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentDebtSecuritiesMember 2023-09-30 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:CommercialPaperMember 2023-09-30 0001406666 us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:MunicipalNotesMember 2023-09-30 0001406666 us-gaap:MunicipalNotesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:USGovernmentDebtSecuritiesMember 2023-09-30 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:CommercialPaperMember 2023-09-30 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-09-30 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:CorporateDebtSecuritiesMember 2023-09-30 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember 2023-09-30 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2023-09-30 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001406666 us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 srt:MinimumMember 2023-09-30 0001406666 srt:MaximumMember 2023-09-30 0001406666 us-gaap:EquipmentMember 2023-09-30 0001406666 us-gaap:EquipmentMember 2022-12-31 0001406666 us-gaap:ComputerEquipmentMember 2023-09-30 0001406666 us-gaap:ComputerEquipmentMember 2022-12-31 0001406666 calx:SoftwareMember 2023-09-30 0001406666 calx:SoftwareMember 2022-12-31 0001406666 us-gaap:LeaseholdImprovementsMember 2023-09-30 0001406666 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001406666 us-gaap:FurnitureAndFixturesMember 2023-09-30 0001406666 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-12-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-09-30 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001406666 calx:SanJoseCaliforniaMember 2023-09-30 0001406666 us-gaap:InventoriesMember 2023-09-30 0001406666 us-gaap:InventoriesMember 2022-12-31 0001406666 us-gaap:InventoriesMember 2023-01-01 2023-09-30 0001406666 calx:A2019EquityIncentiveAwardPlanMember 2023-09-30 0001406666 us-gaap:EmployeeStockOptionMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-09-30 0001406666 us-gaap:EmployeeStockOptionMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-09-30 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2023-02-01 2023-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-02-01 2023-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-02-01 2023-02-28 0001406666 2023-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2023-07-02 2023-09-30 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2023-01-01 2023-09-30 0001406666 us-gaap:EmployeeStockMember 2023-09-30 0001406666 us-gaap:EmployeeStockMember 2023-01-01 2023-09-30 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2023-09-30 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2023-01-01 2023-09-30 0001406666 us-gaap:CostOfSalesMember 2023-07-02 2023-09-30 0001406666 us-gaap:CostOfSalesMember 2022-07-03 2022-10-01 0001406666 us-gaap:CostOfSalesMember 2023-01-01 2023-09-30 0001406666 us-gaap:CostOfSalesMember 2022-01-01 2022-10-01 0001406666 us-gaap:SellingAndMarketingExpenseMember 2023-07-02 2023-09-30 0001406666 us-gaap:SellingAndMarketingExpenseMember 2022-07-03 2022-10-01 0001406666 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-09-30 0001406666 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-10-01 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2023-07-02 2023-09-30 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2022-07-03 2022-10-01 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-09-30 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-10-01 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2023-07-02 2023-09-30 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2022-07-03 2022-10-01 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-09-30 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-10-01 0001406666 2022-07-31 0001406666 country:US 2023-07-02 2023-09-30 0001406666 country:US 2022-07-03 2022-10-01 0001406666 country:US 2023-01-01 2023-09-30 0001406666 country:US 2022-01-01 2022-10-01 0001406666 srt:EuropeMember 2023-07-02 2023-09-30 0001406666 srt:EuropeMember 2022-07-03 2022-10-01 0001406666 srt:EuropeMember 2023-01-01 2023-09-30 0001406666 srt:EuropeMember 2022-01-01 2022-10-01 0001406666 calx:AmericasNonUSMember 2023-07-02 2023-09-30 0001406666 calx:AmericasNonUSMember 2022-07-03 2022-10-01 0001406666 calx:AmericasNonUSMember 2023-01-01 2023-09-30 0001406666 calx:AmericasNonUSMember 2022-01-01 2022-10-01 0001406666 calx:MiddleEastAndAfricaMember 2023-07-02 2023-09-30 0001406666 calx:MiddleEastAndAfricaMember 2022-07-03 2022-10-01 0001406666 calx:MiddleEastAndAfricaMember 2023-01-01 2023-09-30 0001406666 calx:MiddleEastAndAfricaMember 2022-01-01 2022-10-01 0001406666 srt:AsiaPacificMember 2023-07-02 2023-09-30 0001406666 srt:AsiaPacificMember 2022-07-03 2022-10-01 0001406666 srt:AsiaPacificMember 2023-01-01 2023-09-30 0001406666 srt:AsiaPacificMember 2022-01-01 2022-10-01 0001406666 2023-10-01 2023-09-30 0001406666 calx:CustomerOneMember us-gaap:FinanceReceivablesMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001406666 calx:CustomerTwoMember us-gaap:FinanceReceivablesMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001406666 calx:CustomerOneMember us-gaap:FinanceReceivablesMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 shares iso4217:USD iso4217:USD shares pure calx:plan calx:period 0001406666 false 2023 Q3 --12-31 http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent 10-Q true 2023-09-30 false 001-34674 Calix, Inc DE 68-0438710 2777 Orchard Parkway San Jose CA 95134 408 514-3000 Common Stock, par value $0.025 per share CALX NYSE Yes Yes Large Accelerated Filer false false false 65867044 135675000 79073000 114417000 162642000 80661000 93804000 150033000 149160000 106839000 62691000 587625000 547370000 29123000 25834000 9964000 9283000 162901000 167031000 116175000 116175000 20872000 19142000 926660000 884835000 22134000 41407000 82078000 90474000 34944000 33541000 139156000 165422000 25413000 25072000 8446000 8442000 2700000 6332000 175715000 205268000 0.025 0.025 5000000 5000000 0 0 0 0 0 0 0.025 0.025 100000000 100000000 65950000 65950000 65735000 65735000 1649000 1644000 1104435000 1070100000 -1359000 -2473000 -353780000 -389704000 750945000 679567000 926660000 884835000 263835000 236334000 774859000 623324000 123286000 117762000 369789000 312780000 140549000 118572000 405070000 310544000 52356000 46134000 158817000 123363000 46963000 33196000 135477000 93443000 25301000 19237000 73100000 54179000 124620000 98567000 367394000 270985000 15929000 20005000 37676000 39559000 2658000 595000 6553000 870000 -444000 -134000 -448000 -474000 2214000 461000 6105000 396000 18143000 20466000 43781000 39955000 1190000 7023000 7857000 10872000 16953000 13443000 35924000 29083000 0.26 0.21 0.54 0.45 0.24 0.19 0.52 0.42 66288000 65355000 66201000 64892000 69579000 69174000 69644000 68587000 16953000 13443000 35924000 29083000 263000 -488000 1185000 -1956000 -33000 -335000 -71000 -808000 230000 -823000 1114000 -2764000 17183000 12620000 37038000 26319000 66320000 1658000 1112434000 -1589000 -370733000 741770000 16026000 16026000 359000 9000 8366000 8375000 729000 18000 32391000 32409000 16953000 16953000 230000 230000 65950000 1649000 1104435000 -1359000 -353780000 750945000 65241000 1631000 1032833000 -2261000 -415074000 617129000 11027000 11027000 201000 5000 6966000 6971000 13443000 13443000 -823000 -823000 65442000 1636000 1050826000 -3084000 -401631000 647747000 65735000 1644000 1070100000 -2473000 -389704000 679567000 50090000 50090000 1169000 29000 26630000 26659000 954000 24000 42385000 42409000 35924000 35924000 1114000 1114000 65950000 1649000 1104435000 -1359000 -353780000 750945000 64274000 1607000 997855000 -320000 -430714000 568428000 31502000 31502000 1168000 29000 21469000 21498000 29083000 29083000 -2764000 -2764000 65442000 1636000 1050826000 -3084000 -401631000 647747000 35924000 29083000 50090000 31502000 12181000 10837000 4294000 5225000 3119000 533000 -13143000 15308000 873000 52236000 48532000 32854000 -19756000 36170000 -141000 9825000 1745000 9112000 -3629000 -9745000 41327000 21078000 13883000 9260000 133521000 142280000 185888000 134325000 38484000 -17215000 26659000 21498000 42409000 0 7560000 995000 -23310000 20503000 101000 -527000 56602000 23839000 79073000 51333000 135675000 75172000 Company and Basis of Presentation<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Company</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of a platform (cloud, software and systems) and managed services that focus on the subscriber-facing network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. This platform and managed services enable broadband service providers (“BSPs”) of all sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from the Calix platform to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s fiscal year begins on January 1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had one less day in the nine months ended September 30, 2023 than for the nine months ended October 1, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s fiscal year begins on January 1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had one less day in the nine months ended September 30, 2023 than for the nine months ended October 1, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div> Significant Accounting Policies<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s significant accounting policies are disclosed in its Annual Report on Form 10-K for the year ended December 31, 2022. The Company’s significant accounting policies did not change during the nine months ended September 30, 2023.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the nine months ended September 30, 2023 that were significant to the Company.</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended September 30, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the nine months ended September 30, 2023 that were significant to the Company.</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended September 30, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.</span></div> Cash, Cash Equivalents and Marketable Securities<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. There were no realized gains and losses for the three and nine months ended September 30, 2023 and October 1, 2022, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,264 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,093 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,598 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,990 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">140 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">135,675 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,073 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,750 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,358 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,417 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">162,642 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">250,092 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">241,715 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amortized cost and fair value of marketable securities were as follows (in thousands):</span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,922 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(190)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,732 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,473 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,801 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(431)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,590 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">184,786 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(678)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">184,108 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span><br/></span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,119 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,379)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(71)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,670 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,699)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">201,971 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0 0 0 0 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,264 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,093 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,598 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,990 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">140 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">135,675 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,073 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,750 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,358 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,417 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">162,642 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">250,092 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">241,715 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 30264000 39189000 38093000 33199000 35720000 555000 31598000 5990000 0 140000 135675000 79073000 57134000 106750000 44370000 23632000 8358000 28992000 4555000 3168000 0 100000 114417000 162642000 250092000 241715000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amortized cost and fair value of marketable securities were as follows (in thousands):</span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,922 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(190)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,732 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,473 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,801 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(431)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,590 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">184,786 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(678)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">184,108 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span><br/></span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,119 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,379)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(71)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,670 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,699)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">201,971 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 88922000 -190000 88732000 46473000 -22000 46451000 44801000 -431000 44370000 4590000 -35000 4555000 184786000 -678000 184108000 114119000 -1379000 112740000 62262000 -71000 62191000 23876000 -244000 23632000 3312000 -4000 3308000 101000 -1000 100000 203670000 -1699000 201971000 Fair Value Measurements<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of September 30, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">124,452 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">95,376 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">219,828 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">113,295 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,231 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,526 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of September 30, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">124,452 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">95,376 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">219,828 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">113,295 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,231 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,526 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 35720000 0 35720000 88732000 0 88732000 0 46451000 46451000 0 44370000 44370000 0 4555000 4555000 124452000 95376000 219828000 555000 0 555000 112740000 0 112740000 0 62191000 62191000 0 23632000 23632000 0 3308000 3308000 0 100000 100000 113295000 89231000 202526000 Balance Sheet Details<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,986 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,201 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Allowance for doubtful accounts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(325)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(397)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,661 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,804 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,696 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">640 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">138,337 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">148,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">150,033 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">149,160 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses and other current assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Supplier deposits    </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65,891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,064 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,948 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,839 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,691 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Notes Receivable</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company has notes receivable with one customer related to the sale of hardware. The notes receivable are secured by the underlying hardware and have original terms of three years at interest rates ranging from 5% to 8%. The Company assesses the credit worthiness of this customer on a periodic basis and did not have an allowance for credit losses against these notes as of September 30, 2023. As of September 30, 2023, there was $13.0 million outstanding, of which $5.2 million is included in “Prepaid expenses and other current assets” and $7.8 million in “Other assets” in the accompanying Condensed Consolidated Balance Sheets.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Test equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,023 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,637 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,505 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,990 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,730 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,416 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,774 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(50,293)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(44,940)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,123 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,834 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,666 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,813 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Component inventory held by suppliers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,428 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Professional and consulting fees</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,307 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current portion of warranty and retrofit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,795 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer advances or rebates</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,449 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,653 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taxes payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,742 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,581 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue share payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,210 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,996 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,949 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Product returns</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,723 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,961 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Business events</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,967 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,167 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Insurance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,698 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,785 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Freight</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,146 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,649 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,305 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,742 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">82,078 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,474 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,306 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,654 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,594 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals for product warranty and retrofit</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,081 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">219 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of warranty and retrofit claims</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(995)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(566)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,893)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at end of period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,392 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,307 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,392 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,307 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. As of September 30, 2023, the liability, including accrued interest, was $4.2 million, which is included in “Accrued liabilities” in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2022, the liability, including accrued interest, was $11.4 million, of which $7.2 million was included in “Accrued liabilities” and $4.2 million in “Other long-term liabilities.”</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,986 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,201 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Allowance for doubtful accounts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(325)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(397)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,661 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,804 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 80986000 94201000 325000 397000 80661000 93804000 <div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,696 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">640 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">138,337 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">148,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">150,033 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">149,160 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 11696000 640000 138337000 148520000 150033000 149160000 <div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses and other current assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Supplier deposits    </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65,891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,064 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,948 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,839 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,691 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 65891000 39064000 40948000 23627000 106839000 62691000 P3Y 0.05 0.08 0 13000000 5200000 7800000 <div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Test equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,023 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,637 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,505 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,990 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,730 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,416 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,774 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(50,293)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(44,940)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,123 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,834 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 50023000 44106000 13637000 13396000 12505000 10389000 1990000 1730000 1261000 1153000 79416000 70774000 50293000 44940000 29123000 25834000 <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,666 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,813 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Component inventory held by suppliers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,428 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Professional and consulting fees</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,307 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current portion of warranty and retrofit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,795 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer advances or rebates</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,449 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,653 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taxes payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,742 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,581 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue share payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,210 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,996 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,949 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Product returns</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,723 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,961 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Business events</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,967 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,167 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Insurance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,698 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,785 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Freight</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,146 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,649 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,305 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,742 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">82,078 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,474 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 24666000 27813000 13428000 10280000 6977000 7307000 5795000 6377000 5449000 5653000 4742000 4581000 4186000 7210000 3996000 3949000 2723000 2961000 1967000 3167000 1698000 1785000 1146000 3649000 5305000 5742000 82078000 90474000 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,306 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,654 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,594 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals for product warranty and retrofit</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,081 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">219 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of warranty and retrofit claims</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(995)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(566)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,893)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at end of period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,392 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,307 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,392 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,307 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 8306000 8654000 8386000 9594000 1081000 219000 2899000 396000 995000 566000 2893000 1683000 8392000 8307000 8392000 8307000 15800000 4200000 11400000 7200000 4200000 Commitments and Contingencies<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Lease Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of September 30, 2023 (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:76.092%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.648%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.960%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Future Minimum Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027 and thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,785 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,508 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,066)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,442 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:1pt"><span><br/></span></div><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:79.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.106%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-559">Accrued liabilities - current portion of operating leases</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,446 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,442 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $5.5 million and are included in the table above.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average discount rate for the Company’s operating leases as of September 30, 2023 was 5.4%. The weighted average remaining lease term as of September 30, 2023 was 3.3 years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three and nine months ended September 30, 2023, total rent expense of the Company was $1.2 million and $3.6 million, respectively. For the three and nine months ended October 1, 2022, total rent expense of the Company was $1.2 million and $3.4 million, respectively. Cash paid within operating cash flows for operating leases was $3.4 million for the nine months ended September 30, 2023 and October 1, 2022 for each respective period.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s suppliers, including contract manufacturers (“CMs”) and original design manufacturers (“ODMs”), place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of September 30, 2023 and December 31, 2022, the Company had approximately $227.2 million and $340.6 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within two years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $13.4 million and $10.3 million as of September 30, 2023 and December 31, 2022, respectively. The Company records the related charges in cost of revenue in its Condensed Consolidated Statements of Comprehensive Income.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Litigation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceeding that, if determined adversely to the Company, in management’s opinion, is currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.</span></div> Future minimum payments under the non-cancelable operating leases consisted of the following as of September 30, 2023 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:76.092%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.648%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.960%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Future Minimum Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027 and thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,785 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,508 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,066)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,442 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 1108000 4664000 4466000 1485000 1785000 13508000 1066000 12442000 <div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:79.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.106%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-559">Accrued liabilities - current portion of operating leases</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,446 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,442 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3996000 8446000 12442000 5500000 0.054 P3Y3M18D 1200000 3600000 1200000 3400000 3400000 3400000 227200000 340600000 P2Y 13400000 10300000 Stockholders’ Equity <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2019 Equity Incentive Award Plan</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (“the 2019 Plan”). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 1.5 million shares. As of September 30, 2023, there were 5.4 million shares available for issuance under the 2019 Plan.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended September 30, 2023, stock option awards exercisable for up to an aggregate of 0.3 million shares of common stock were granted with a grant date weighted-average exercise price of $41.18 per share. During the nine months ended September 30, 2023, stock option awards exercisable for up to an aggregate of 0.9 million shares of common stock were granted with a grant date weighted-average exercise price of $46.25 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2023, performance-based stock option awards exercisable for up to an aggregate of 1.2 million shares of common stock were granted to certain Company executives with a grant date exercise price of $51.57 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net operating income for 2023 (collectively, the “2023 Performance Targets”) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company’s Board of Directors upon the achievement of the 2023 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. If the non-GAAP net operating income target and the bookings target are each achieved below 80% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If either target is achieved at the minimum threshold of 80% of target, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 125% of the granted shares for each target. Each target result is then weighted by 50% and the combined total determines the percent of target shares. The maximum combined award is 100%. The probability of meeting a portion of the performance conditions related to these performance-based stock option awards was assessed to be probable as of September 30, 2023 based on adjusted targets, and stock-based compensation expense of $2.8 million was recognized for the three months ended September 30, 2023. For the nine months ended September 30, 2023, stock-based compensation expense of $9.7 million was recognized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended September 30, 2023, 61,000 shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $9.01 per share. During the nine months ended September 30, 2023, 0.3 million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $11.93 per share. As of September 30, 2023, unrecognized stock-based compensation expense of $84.6 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.1 years.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Stock Purchase Plans</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”).</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The offering periods under the ESPP are two six-month offering periods from August 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and February 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. As of September 30, 2023, there were 4.5 million shares available for issuance under the ESPP. During the nine months ended September 30, 2023, 0.2 million shares were purchased under the ESPP. As of September 30, 2023, unrecognized stock-based </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">compensation expense of $1.2 million related to the ESPP is expected to be recognized over a remaining service period of 0.4 years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible recurring compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides quarterly offering periods from February 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through May 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, May 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, August 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through November 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and November 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of each year, with a maximum of 0.25 million shares allocated per purchase period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 1.2 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 7.5 million shares. As of September 30, 2023, there were 3.6 million shares available for issuance under the NQ ESPP. During the nine months ended September 30, 2023, 0.6 million shares were purchased and issued. As of September 30, 2023, unrecognized stock-based compensation expense of $11.4 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.8 years.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:41.506%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.643%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">734 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">698 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,314 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,964 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,333 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,082 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,818 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,412 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,245 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,808 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,812 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,714 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,541 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,314 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,026 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,090 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,502 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax benefit recognized</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,578 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,691 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,685 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,818 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Repurchase Program</span></div>The Company has in place a stock repurchase program for up to $100 million of the Company’s common stock. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases depends on prevailing stock prices, general economic and market conditions, and other considerations consistent with the Company’s capital allocation strategy. The repurchase program does not obligate the Company to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. For the nine months ended September 30, 2023, the Company purchased 1.0 million shares of common stock for $42.4 million at an average price per share of $44.47. As of September 30, 2023, the remaining balance under this authorization was $57.6 million. 1500000 5400000 300000 41.18 900000 46.25 0.25 P3Y 1200000 51.57 P1Y 0.25 P1Y 0.75 P36M 0.80 0 0.80 0.50 1.25 0.50 1 2800000 9700000 61000 9.01 300000 11.93 84600000 P2Y1M6D 2 0.15 2 P6M 0.85 P6M 4500000 200000 1200000 P0Y4M24D 0.25 P1Y 250000 1200000 7500000 3600000 600000 600000 11400000 P0Y9M18D <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:41.506%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.643%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">734 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">698 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,314 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,964 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,333 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,082 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,818 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,412 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,245 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,808 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,812 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,714 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,541 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,314 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,026 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,090 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,502 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax benefit recognized</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,578 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,691 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,685 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,818 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 734000 698000 2314000 1964000 4333000 3082000 13818000 8412000 4245000 2808000 13417000 8812000 6714000 4439000 20541000 12314000 16026000 11027000 50090000 31502000 2578000 1691000 9685000 7818000 100000000 1000000 42400000 44.47 57600000 Revenue from Contracts with Customers<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.700%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.561%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235,128 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">215,857 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">695,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">565,420 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,178 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,705 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Americas ex U.S.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,414 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,557 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Middle East &amp; Africa</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,888 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,940 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">519 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">717 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,023 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263,835 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,334 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">774,859 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">623,324 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Asset</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets include amounts recognized as revenue prior to the Company’s contractual right to bill the customer. Amounts are billed in accordance with the agreed-upon contractual terms. The closing balance as of September 30, 2023 was $5.5 million of which the Company expects to bill 47% of the balance during the remainder of 2023. The contract asset balance may fluctuate depending on the timing of fulfilling the related performance obligations with the Company's customers.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Liability</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue was $60.4 million, $67.2 million and $58.6 million as of September 30, 2023, July 1, 2023 and December 31, 2022, respectively. The decrease in the deferred revenue balance for the three months ended September 30, 2023 was the result of revenue recognized of $16.7 million that was included in the deferred revenue balance at the beginning the period offset by cash payments received or due in advance of satisfying the Company’s performance obligations. The increase in the deferred revenue balance for the nine months ended September 30, 2023 was driven by cash payments received or due in advance of satisfying the Company’s performance obligations and balances reclassified to contract assets during the period offset by $26.1 million of revenue recognized that was included in the deferred revenue balance at the beginning of the period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue allocated to remaining performance obligations (“RPOs”) represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods but excludes variable consideration where the monthly invoicing is based on usage or where actual usage exceeds the minimum commitment. RPOs were $219.5 million as of September 30, 2023, and the Company expects to recognize as revenue 39% of this amount over the next 12 months and the remainder thereafter.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Costs</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of September 30, 2023 and December 31, 2022, the unamortized balance of deferred commissions was $10.9 million and $11.2 million, respectively. For the three and nine months ended September 30, 2023, the amount of amortization was $1.7 million and $4.6 million, respectively, compared to $1.0 million and $2.6 million for the three and nine months ended October 1, 2022, respectively. There was no impairment loss in relation to the costs capitalized for either period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Concentration of Customer Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No customer accounted for more than 10% of the Company’s revenue for the three or nine months ended September 30, 2023 and October 1, 2022. </span></div>Two customers represented 16% and 13%, respectively, of the Company’s accounts receivable as of September 30, 2023. One customer represented 11% of the Company’s accounts receivable as of December 31, 2022. The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance. The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.700%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.561%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235,128 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">215,857 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">695,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">565,420 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,178 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,705 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Americas ex U.S.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,414 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,557 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,236 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Middle East &amp; Africa</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,888 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,940 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">519 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">717 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,023 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263,835 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,334 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">774,859 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">623,324 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td></tr></table> 235128000 215857000 695491000 565420000 19377000 7178000 46483000 16705000 7414000 11557000 26280000 31236000 1740000 1223000 5888000 8940000 176000 519000 717000 1023000 263835000 236334000 774859000 623324000 5500000 0.47 60400000 67200000 58600000 16700000 26100000 219500000 0.39 P12M 10900000 11200000 1700000 4600000 1000000 2600000 0 0 0 0 0.16 0.13 0.11 Income Taxes<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.524%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,781 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,955 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,190 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,857 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,872 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6.6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s income taxes for the three and nine months ended September 30, 2023 and October 1, 2022 were determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The Company’s </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">effective tax rate for the three and nine months ended September 30, 2023 and October 1, 2022 differed from the statutory federal corporate tax rate of 21% primarily due to state taxes, the effect of non-deductible stock-based compensation for executive officers offset by the favorable impact of U.S. federal research tax credits, excess tax benefits from stock-based compensation and the U.S. tax impact of foreign operations. For the three and nine months ended September 30, 2023, the Company recognized a tax benefit of $3.6 million related to the finalization of its 2022 tax returns.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards, capitalized research and development costs and tax credits. The Company’s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations. Management believes that it is more likely than not that the Company will utilize a significant portion of its deferred tax assets.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintained a valuation allowance for the three and nine months ended September 30, 2023 and October 1, 2022 of $29.9 million and $30.9 million, respectively, on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considered scheduled reversals of deferred tax liabilities, historic profitability, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company’s financial position and net income in the period of the adjustment.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.524%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,781 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,955 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,190 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,023 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,857 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,872 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6.6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div> 18143000 20466000 43781000 39955000 1190000 7023000 7857000 10872000 0.066 0.343 0.179 0.272 3600000 3600000 29900000 30900000 Net Income Per Common Share<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.916%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,953 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,443 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,924 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,083 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute basic net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65,355 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,201 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of dilutive common stock equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,443 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,695 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute diluted net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,579 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,174 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,644 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,587 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.26 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.21 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.45 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted net income per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.24 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.19 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.52 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.42 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Potentially dilutive shares excluded, weighted average</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,958 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,724 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,803 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.916%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 1,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,953 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,443 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,924 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,083 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute basic net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65,355 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,201 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of dilutive common stock equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,443 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,695 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute diluted net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,579 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,174 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,644 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,587 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.26 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.21 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.45 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted net income per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.24 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.19 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.52 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.42 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Potentially dilutive shares excluded, weighted average</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,958 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,724 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,803 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 16953000 13443000 35924000 29083000 66288000 65355000 66201000 64892000 3291000 3819000 3443000 3695000 69579000 69174000 69644000 68587000 0.26 0.21 0.54 0.45 0.24 0.19 0.52 0.42 4958000 1724000 4022000 1803000 EXCEL 62 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !R"6%<'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 " <@EA7K?#)MNX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R'%*#R;-I:.G#@8K;.QF;+4UBQ-C:R1]^SE>FS*V!]C1TN]/ MGT"-]E(/ 9_#X#&0Q?@PN:Z/4OL-.Q-Y"1#U&9V*94KTJ7D<@E.4GN$$7ND/ M=4(0G*_!(2FC2,$,+/Q"9&UCM-0!%0WABC=ZP?O/T&68T8 =.NPI0E56P-IY MHK],70-WP PC#"Y^%] LQ%S]$YL[P*[)*=HE-8YC.=8YEW:HX.UI_Y+7+6P? M2?4:TZ]H)5T\;MAM\FN]?3SL6"NXJ(N*%V)U$%Q6:[GB[[/K#[^[L!N,/=I_ M;'P3;!OX=1?M%U!+ P04 " <@EA7F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M !R"6%?I5*[GQ 4 +T> 8 >&PO=V]R:W-H965T&UL MM9EK4^,V%(;_BB;M=-H90BPY-[:0F>"%EI:%+*&7;:6$_/L> M.8D-5#[)>#9\(+Z=UWI\='DEG:^D>LX60FCR$D=)=M%::)U^Z'0R?R%BGIW* M5"1P9R95S#69+RV9SM88L$8L;S2#_(U<]B"]0S>KZ,LN(_ M66V>[79;Q,\S+>-M,)0@#I/-+W_9?HC7 ;0F@&T#V+L 6O<&=QO@%J";DA58 M'[GFHW,E5T29IT'-'!3?IH@&FC Q:9QJ!7=#B-,C3RZ%(FV2+;@2V7E'@Z:Y MT_&W\9>;>%83?T8^R40O,G*5!")X&]^!LI0%8KL"73)4<"K24^(Z)X0YS+64 MQ\/#[WU]2FC?%OZF.&[Y?=Q"ST6_S]_CITPKJ'+_V+[01J%K5S#M\$.6T[_QHP_M*8F]@NR5L%U,??91^#DU4D\=U*FRD>#AUVI]M M2&A40Z1>B=0[#.ESSI46*EJ3!Y%*I6UXN)16N>VC>&A40[Q^B=<_#&\B5"@# MTPH)] /6Y.%*9;NK;7AH?$/.0HUN0XC0>[R^$DH&QBNX3BT[7;[@ZX-#@UM"'=6PIT= O<@YJ'I M1B&-=SRVUE%P@N]1_WAE(\:#FB*_L@[T$.1'_D)N FB(_>)/:^X)!L,!N1>^>"^ C+A MZGG%UU9R5*8I>66"*&H[_D?NF3.HU8]RE5BI<;DI3\@OTMX)XZ%-22L'1'$/ M\YZT;, 3)9=AXMN3C&MZ8ROH,6P1K7P1Q=W,>]")S#2/R%]A6M]'X8IG/>I: MAQX\KBEI99$H[FR*RCJ&.6X]&"[0=896K&,8(EHY(HK;F%OI0[XF"YE@CF&/ M2(]VVZ[CV'O;8_@A6ADBBKN9QU"#%Y(S0MGW3S^0J?!S!9FT0N)*GHQC&)2F M6OK/)R3EBBQYE ORK7/JL!Y)88)73'^M'^$8OHE6QHGBC@?L;A F6ERP'O08]H=5]H?A[F67R(6 1&)XN$P]WC%L$*ML$,,=S*ZG M?3/&3XO5;'*?:S"UB1E!K<1?R>!LO\-&K5>HF=V3Y:C?&_8'3A=,\=+&6%DA M=M#BD <]J@+/=Y,$XH7\*NQIW+=&Y-"NTX<_*\,QW ZKW [#S,ER@OI(>P^ZXE=UQ]RS?[)8OK\/,N/8O DSH-5RT]JA[Q.K69_&PIHR5 MY7%Q@_*><;LB74^)RWVV,Q[#[KB5W7%Q<[+SGRSL?N)F_$R(Y&80:AS.H . M3VWV2C%"\$ H\P#6.]>@_4$L#!!0 ( M !R"6%=1[*6S6 8 $<: 8 >&PO=V]R:W-H965T&UL MK5EK4]LX%/TKFK33:6> Z.$GC\Q08+>=:8%IZ.YGX2C$@VVEDAQ@?_U*3K 3 M2Q9TER]@.^=>GWLEW7,E'S]P<2\7C"GP6!:5/!DME%H>CL'*\I'=LRM3/Y;70=^/6RRPO625S7@'!YB>C4W1X M1K Q:!!_Y>Q!;ET#$\HMY_?FYNOL9 0-(U:P3!D75/];L3-6%,:3YO%KXW34 MOM,8;E\_>_^C"5X'9-D>-.=XU'^O(V_!Q&SYN_)&A\&LA M6*4 E9(I>>B*9^T@<#LPJ^Q0+FG&3D9Z&4DF5FPT^? .1?#(%=T;.=N)E;2Q M$I_WR1F5"Z!'#63F@OVJ\Q4M=/#.45R[BAI7IA2L)HB$41P>CU?;\=BP.(4Q M:5$[1(.6:. E^IV*>Z;H;<& 9%DM3QN5D@0&;II12S/RTOQ: MK?08<_'DXA79F0DA)*1'S $+4CTKWM29))INYR=6" M"5WXMI>EBWEL4X)10M(>2 M!3&)![*;MB33%[*KI5ZHIR:K9K$OM?BJP1F:6B1PBG!_(CA084(&9BB"G09! M+]>F>=CG\_U:,F!H4Y57=Z!@6I_=&@/MI9)&08^M"X63@>*$MA03>=F>LSG3 M0S\#BCYZ1G_CI5=V4MA?]4Y<#,G )$6=M"&OFDS^Y'SVD!>%DQQVE,X(6?7] M9=PNN4Z+D%^,KIIU[LD>L:<:3&+\ M+'-EFL%UQYWQRDP 5F6:,?@X90Q<M4^'_,TP'.]2UX_=9[>;')MJ[*U=GV0W:QTHHW]HFV6 MA"[9@RE!$ XE)0KWTA#^Q\3L-4CM(B;AJUR\+HF.O7$4]'?&;M1 9X&[S@+[ M.XO3V2PW^J<+H=G<[^<5R.@RUX712=5N'A""04"L:N@ PA@B.#3V79^!_7V& M;MCJLBZH8NWA R_UVEN8H^H5T](CW77<;B7V$0FM-#M@.!@Z(2-=PT'\#<5@T772MIN).(1I M8!T_VK@H3L-HH(TG7=M!_&V')>7-@OS-(+!U..K<(SIPSCWB>.N4WWQB^4[% M75Y)W;G-M2$\B'4:Q/JKQ?I&\65S\'_+E>)E<[E@5),W /W[G&N=W]R8;PGM MMZ/)OU!+ P04 " <@EA7=!;OQ00# !?"@ & 'AL+W=O'7C _AQS_$Y-]?D]M:4/?((0*"G)$YYWXB$R,Y- MDP<1))@W: :IW)E3EF AIVQA\HP!#C4HB4W'LEIF@DEJ^#V]-F%^CRY%3%*8 M,,2728+9KPN(Z;IOV,;SPCU91$(MF'XOPPN8@OB239BQN*?K*R@,>8HOH#'7WVB= MQ[;:!@J67-"D $L%"4GS7_Q4)&(#8#>W )P"X!P*< N JXWFRK2M$1;8[S&Z M1DQ%2S8UT+G1:.F&I.HQ3@63NT3BA#^\NQV-;Z?C$9*CZ=W-]6CP("<7@YO! M[7",IE?C\<,4G4PP@U1$($B XU/T$;U')N*17.4]4T@=BLT,BC,O\C.=+6=. M(6L@USI#CN6X-?#A;O@( @FW-=RIPDWIODR!4Z; T7SN-CD""Y"5*1"=HTN2 MXC0@.$83RHFNM.^#&1=,UMN/.JLY=[.>6UW"(8RS- *QTM )R1%(8UCS#C*@.4/ M_K0N&_D1;7V$^@=9^5;#N=JTN2^JHK]9ZF\>IS\O3X27(J*,_)8;RD>^ M6BL^Y_.$']T MA7=>)=.VK-H:/R2RXJ!;.N@>[^"P$N^^TM3RNEZ-^+K MNMMU6Y;?]^6UO'J MCZCW@OX #[61M2;,C;>_:KT^8[8@*4)ZK'*'M*_P]02P,$% @ '()85QSRQ"5]!P BR0 M !@ !X;"]W;W)KC,=RON8;)L_%EI?ZEZ6H-DSIVVHUEMN* MLT73:%.,B>>%XPW+R]'DLGGVH9ICM_@BHU[=H$'\FO,G M>72-:BH/0GRN;VX65R.O'A$O^%S5)IC^]\BGO"AJ2WHHC^+I9[XG%-3VYJ*0S5_TM,=Z(S3? M224V^\9Z!)N\;/^S+WM''#70=N &9-^ F W\G@9TWX!^:P_^OH'_K3T$^P8- M]7'+O7%SNU]NTK?W^F9VK_^]SV[O9^CNG?[I_8>/V<\:=_-KAFYN]7V&SM"G68I> M??\:R36KN$1YB>[78B=9N9!OT/[P=VW0Z,] R,HO>B5&N) MLG+!%T#[U-T^<;0?:R<=/$6>/75-G 9G?'N.J/<&$8]08#Q3=_.[N3I''FZ: M$XC._^L]^\^]GSB#'M*&-O9HC[V;CY"?AS26#FDL&\C8243\0T1\E_7) M1_[(RQV'O-\V#)N&]<+Q."$AC6EP.7X\]BL HR&E_BDLM6%1Y,=!<@K+;%A( M*"6=M1.6P8%EX&0Y%5(AL=1+5"_;UD!PU#$FE,2AP1: X2@*B<'6AM$PB6*3 M+0##)(H]F&UX8!LZV?Y4"2G1MA++7$%40YN#[P6^,;@I ,-Q$)E4;9@VYD6> M0=6&4:P[[0EL=* :.0O*W9973.7E"O$O6@1)+B\@QM&0A61(8^F0QK*!C)U$ M(CY$(G8FW8P5>C'7B[:6&=5G7L<$BD1LI4% :&#.,AOEA]@J*38*!W&,(R/S M )@N*2&%,R\Y\$V^4C@E9]5\W5!>Z+I2B&V]I$&D$X!.G M7F!2MF$T"J/09 S DB#H"W:G4_'7A*KBND:J/=\FWX5:\^HY[&]0R16XUN!! M5>N@UM)!K65#63N-4:=K1ZG[JAT[?8*=J>=\P/?"DJ M_NP%Q;[TK#N178-C[)M* X 1SP]-J0' ?!K%V"1NPVBBBW /]4Y08K>BO/D: M64#8X<1:8FU4U)R%G%(%4'JO8S(%>O3BHQW1*=-.2F*WEKSERK6P)M:>&(>) M676F$.Q$\NV9VC"JEVE+2M@PDGAQCX DG8 DGG-A[:@BK2F0OMB(LCT*!%=3 MXM2C+UU-![66#FHM&\K::6 Z>4O<\O::R7R.7N4E6HBB8)5LXM,$YC48F-9< M?)0@WCDQ-W(PRBRP("HP4Q)$^3UEAG3:EKBU;9H7.\47+Z%.(%+FT@*B<&)2 MAU !,:E#*+^G[I!.Y1*WROVM>1_"%V?L4>O[%4?E;O.@J8OE\^'\3FK/*%'/ MTZWV4KW8OFSZ#BJ&![66#FHM&\K::2@[,4S<8KB;OFWDX,0%Y&M(8E,*0[" M!J88AJV9N_L,@OEQTI>\G1XF;CU\/&]=G&UYJA?/R-R6@C C)6?%V_=GT\:,)7A9#R=2.'Z_FK51,\(9VJ^\43 MF]3,D^7Q7Y2KGLG=KL^_9>#-C)K0-.O/-J9X"J/J0WTQGP!9.@I[- M#>D4/G$K_'=Z3Y.O2J095[R<_XU4Q4I9L/9;@,6?.ZGJ(U6')VQ!?D8M3X @ MJYH!J,BJ90 H]N(>/W3ZG[CU__YH\263&_2&?>A+J+D? D!GL;4? E 8F[OG M#+)%HK!G[T^[30)UGS)/ 1^ [X<].WLC')L) ,&(=1B; C :>=0\[P!@>O9A M\\AQ?/1QQ897J^:K%JG#NRM5^\+\\/3PY>:0#5+5?OK0W2FR;3SL>A%)BTURN.5OPJ@;HWY=" MJ.>;NH/#]T>3?P%02P,$% @ '()85PTUTT4X"0 )DP !@ !X;"]W M;W)K81T M]E"47ZL5YS7Z;9WEU?EH5=>;MY-)M5CQ=5*]*38\%_^Y+ M+-M&ZVQ"',>;K),T'UV)H5VF1HY+?GH_>X;]Z.C09]/P M^/4W];@]>7$R7Y**SXKLW^FR7IV/IB.TY+?)-JNOBXT;>&WN=\EJ,QTF=7)Q5A8/J&RBA5KSHK6K;2T2G.;- ME36O2_'?5+2K+V97'\/HXSP*D7@UO_IP&;Z[$0?S&_'KY^CCS1Q=Q>+H:O;/ M'Z\^A-'U_.\H^N7SYO4;5*2EZA-$[@9$3 [LIZB0S-)O9F\V*]5I9K?H?=)EN0+CEZ)4]_Y M^AHEM>AJ\091_ ,B#L$F,ZWZS?+XMMHD"WX^$AFH>'G/1Q??_PU[SC],%N_$ MW%:L61KO+SQ&?'8VN3^V$K++"%(L!A*3K*0'*ZG=RKV!PK0O!U>+6[3A95HL M>WFYZ\ [2K_K31F9ROF?Z6'B%'S%)#TH"/RIZ\IAD1XVIL21@V)#$*..C[L+ M0\H8.V2,M0WIB8Q=Y@MQ3Z[$-2\RT[YZW:Q=[1*R*K(E+RNQZ/VZ3>O?T7^O MBRQ#XI[VD)3+_YF2QR G J18""D608K%0&*2^^[!?=_@AF=UX[*JMNWR)5:L MQ>Y67C4&H6TNYB'BNUF8BHB\V9&BC5CLQ&8C%UMPT4)LM&]Y6F^;WIIYF$L::FK$[U9 3.E"I9M?8P=!6$ M%(L@Q>+'DB'E/SCD/[#F?U<'>I6)LL&XH@7:2,;$]Y1-\\S:\5!; M(,6B7N./@;J4;,%.5RP[5F.B?&DIDJX6]1OD[#;6Q%CQ6M6'WG7V:E*9Y#*F M[ U"T$XC4+482DVV\XA]X+ZU$L^7ZI*MA MQW6F1 F,#(%CZDS5>6(*8X[H&)N7)MRA OQ$5O#3-A.9(Y;,@<(";* %+F%8 M33 H+@!5BZ'49$<[8H"?B@P>MY3J)F ?JQNI&39! ZIYI:MAAY(II>IDT /' MA'A8G0R&,";**/\$.< =.L OR0XP*#P 50M!U2)0M1A*3;X(.H* X1 "U@MZ MC!VBW31 (4*_3B/03F,H-=F4#B3@OPA)L(]C\*3560)QM/41E"6 JL50:K+M M'4[ ?R)/P#H'\ (?JW-7!PJN:J!)R-.V>J! 4I--J9#"O@I3 'K=32FC*E0 MP=['X&41%"N JL6/)D2VH2,+^!G0 C;4YE.BF0/*%D#5HEYG$$/U*;\'V]$% M\JQTP:X^^#W8?G0!M-,(5"V&4I/M[.@">4:Z0'1J8*0+AC@#72!]Z8(AT$07 M3&$VND".'D0 ?!+!G#D3#_"IJR:N5UAH'^[@ZQOV,8/GP :DPP8$\DD#LUSC&#QIC8\@J&]C@_89@:K%4&JR[QTW('\B-R"&1PP\SU7AN"E,L]#P M*(+G46U.@J(#*#79FPX=$#LZN.:;;;E8B86RTNQY;);I9?18[ >T==,0%KC: M_@*4%X"JQ5!JLD4=5B!VK&"QR&A+H%WI8T:8H\T(0QS1;#'4]HS0J?J,J?T4 M!B?\.5@![5@!M;,".TZC>O%.W4#-W,S>Q]#M JA:!*H6/YH0V8:NQJ?V&O\/ MX31JJ-DQULRQ]CS8'$BUB!IX@G8&,52?LC<=2J!VE&#':7.^$;6IT]:FU.B2 M"1 $KGKKZ!<6VL=TDG [[K!$S%/88X[#%U M=T4-! $[C*E8*#($CC%5=W2Q*8RZU)\Z)Q:>CB!0:W':]RD<;,D<*#78JTG3 MP-,^PA&"=AJ!JL50:K*C'0Z@=AS0]RDXS[/O:FN4:)H.K/K!N4!.+ M/&&4J9-!#QQC=ZI-!D,8]1V?GGA3BW9%._5>$*=1T,H<5"T$58M U6(H-?DB MZ"IX:J_@A^ TJE?18ASJNR$S>X^#O>O5:03::0RE)IO2E>[47KJ_&$ZSCV/P MI-5Y@'9S#T&[C$#58B@UV?8.!U [#GA6FD;U>G]*?6W#IZ,#S4"3D/84COU4 M!QOS'-B ==B V;'!$U":77GP)UOU@GSL:[03M,\(5"V&4I.=[,@#LY.'@<2- MF=[8-Q WIK.),59WAF8Q&BA/PD7V4QB<\.? ":S#"D8 'N!JSXC M9>]C\">Z0:$"J%K\:$)D&SI:P.RTX \1-Z97_T1]SV1F[WBP-Y!J$=-!@G8" M,527LC-'7Z-@1Q)/Y&W,0! ,O*U?6&@?Z^#T@X(&*#79IPXTL-Z@83AO8SHZ M,/(V0YR!MYFBC+S-$&CB;:8P(V^;''UC4O,-6C\GY5V:5RCCMZ*E\\870N7N M2ZEV!W6Q:;]$Z4M1U\6Z?;GBB=C,-@'B_[=%47\[:+Z7Z?#58!?_!U!+ P04 M " <@EA7K%RH)XH& #,&@ & 'AL+W=O%@(.,E9$P> M\ )R_6]\5#Z[%>,COE)IDL.M0'*5 M94P\GT+*'X][N/?RX$>R6"KS8# ^*M@"IJ!^%K="WPTJ*[,D@UPF/$<"YL>] M$WPXH<0HE!)_)_ H=ZZ1<>6>\P=S&D]NKL_.KZ?G9TA?36^^ M7YZ=W.F;Z9W^N#J_OINBFPLT.9E^0Q??;WY-41_]G)ZASY^^H$\HR='=DJ\D MRV?R:* T&F-S$&_??+IY,^EX*Z6$IWG,YCMZP^T%Y4KY,654^(T.(7B M %'O*R(>H18\$[?Z3:P.D(=+=>* 0ZN5I:4]VF6O ,%4DB\VJ9JH!.2A;9DV M9GR[&5/&A[)@,1SW=)U*$&OHC?_\ P^]OVP^?I"Q/8_]RF/?97U\K;M.DL<\ M YN;&]UAJ6N:RWI,@XCX1X/U+OZV%(F\D%92>\"""EC@#,7)[!]=2;KY*(D4 MU]TGYGFH$'R=Z*1$]\^(OS6,P4>&\8.,[:W6L%JMH3., M4\7CA[[IC3.DET83AF2FY=J%[D-8+:EJ(X\(@]J*,*YL@)\PRT M[W'"-FR0SQ#+N%#)OYU81RT4F. 0-[!:I'3^C>Q8PPIK^ K6.0BAU_,EV=@3 M6%MFV'J[3Z)FC;2% D(".\*H0AB]6KLLC@64R\GGB*U9DK+[%/IZK]"73%>+ MA'@ER@*P08]:J/H4XZB!W2(5T([RQEY-8IZSP"=+EB] &D;:J5\28TT M8?=)VEV[6_,?5+P?96U_,788'3M#>1+'?&5:G2X/2-8FAE]-;[,ZCMOI3K%/ M&U&SB/5Q0+VP(W"DQDJ<6"_SM>[*7#Q;P9'V6\-1"YM%2M<#'79@J_D;.\ER M?"N@8,D,P9-I@;#))*Z6(+:I9<5,VVC\,*"DB=HB1TD8^!VH:P[&;A*NHE^P M9Q-Z*TC?$LYH% R;(-MR=(A'7@?&FHZQD[\,1K&"O;*TP@PL,/UFP[9(16%7 M.\0U"6(W"U8M6X!.T95]'=O$AD=^T 38EHHP[F _7-,?=O/?39F)*<\7?04B M>W4QV\36IT/2[,\VL6C7IWVT-0%B-P->OW5O9<5NH45,R:B)O2U&L#?J:E(U M->+(R2ZF2184=K(37Y$3?Y[<'.F'@ 9;K@*WL78N,W M2@/2;#9609^0L MXS83$S8173&T!O@]YF_UP&(1AV 1ND:,^[>J3I&9)XF9) M:V%_7LERL_M%_[VM=DB;#VGHA\VMKT6LCT<$=[E1TR;QG35^D>1,SX2OCWG$ M2;_O+?*/LK;O=4W$Q$W$MX+' #.)YH)G9MC+].9?FOD/)5*N](J V4:F3.EP MZ@D9LB+ESP#H'G*8)PH5*\L!"\%W@=XR.I"9ZXA]_S M^1QB91(%GN)RE$1Z7P(HWHZ5.G5*+PW[E1>& M=Z).X*2GO*Q5Z+2FRC,.GX MH8'6O$W=O+W]$4Z SGTS#[\+.&VSLWAQ2)&:$BC#NPU>5,W>4^ZL"*F M=,M9)'ENDLEL2$ D?&9UHETA4#HB;W]6KI]61S$EY$-%X?HH/ M)YN#E=K,YISGB@D=%HE2F&N3WL%(KZC8')UL;A0ORM.'>ZX4S\K+); 9"".@ MOY]SKEYNS NJ ZSQ?U!+ P04 " <@EA7-"G6A10' #^$ & 'AL M+W=O&6-<+2\&,PFKZ].^?OXP6^*-G[OM^!,%M9^XH=WY<5@S &1 MIB*P!8G_UG1-6K,AA/$YVQST+GGC_N_.^G8;6/_XI-_G8\$$7K@ZWS9D10*Y/^E[<9AW^R89HW3&/< MR5&,\HT,\O+M&FJV0IA17TBLO M[%+<./)D@F37=_2.$U\C@ ;K37OI$%70P:]N76 M-+C\YLGDQ?CLD?1.^_1.'[/^WTKZ/TV*[HMKJ=7MD7AGBJ%X&NR*0D4.G Z5 M4$#-MPNO2B6=(G\DOGGR[70Z/HM[XN_)F;!.8$N_E,SFQ6=B([U0IK"NL0ZE M*/$@9NT*?2(FKUZ]B@$B.BG>D)8;Z4ATWR+(H?@5EKM(\1D[TE R959BI>T" M%6Z<7:L2(2-!*1HM PN?>%IHVY9'PMMEB&;9D=]ZL,$_BP^U-! QO$0U54%L M7 :QM.AA 7S8%2=?.+4@=[R4!3LU%%BTCN(RPNP8QX]Y+=E9V34Y@\364FFY MT 0I,F64BNB]I$ .\D I*2?-*L7XN06X8]KR,AJ+;SZPK%8E-#8-8H9O:"E MC(\^D8>"XK:>L_+D[U2/C4U>GGD!RUDFV1]7ANK&;KJ%0CYI MTU>PHF=VKC.$# ^[6W&GWW,5*F?;5<6\1QJ>2]";Q%3[W"JODI1INY4ZI#9U MM";34J26H\6VV\ZTXV374K>4N78_M0(*#@M@3MD6VIN%=AM,0X3[^RYN)AV86$B\ MWE16Z^VQW9@,STYD*KD&28D,>$F-=$DTV* KX9>2.,6N(6#ILK[G+OPXG _% MG(K6Q:RCP[>W114;#&2LE8_GDX[I\[?7/='!(KA"8ZH:MF-[F]50S-!8W*R! MDV\-BTVH+&CA6LT!%^0"3E/8;H.Q 4YAQT8=W4&E3#J0J:@MX!Q3W_ KX-!E M4@K4/6:P(D,N+B%Q:MASAI01;AS05@V\]WE\/YO=](EDK=C5CP-*"0Q1APB4 M;93)ZI64@F%,PG:HP+F^%*4@Q9UI"Z@=!R7+O]#7Z>,^0R8.2PMB,(1^\SA( M1IRC'PF*-E\-[W! -'8!-3;U3O2-DRX/"OB SJP/&9UJF$F="072UCH_=B M)8O4)#N>018@Q=UX*O;/%YV(=4!>[S?"5;(MYO$T+B,'WR#+FAO]9!+//U/X M\+"VE0 M\O8M21?MXE1M7=*=WD4"BTS)=>>5*(*I,PY&6\LM6!&8=7%R2BBW]+E/^GJW MJ [[93YR<99M:$$25F-;YH&QWRB9)7C8>A?VNR_LHSXS!A#[@_J<^S9@A\5GZ/AL.#\6E M\H7,T"QHA7'#EG^4<(4B3A!?K$BL!Q;VK/+2< ^6#&7LO46 M0QZH+-.!R<7GJP@!B^8=U=]M[/6_TV:_)Y,,12T_X>SB<4:1(W?]I?[6;K3[CY/?QD 2R*'-2VQ=3Q\^7P@ M7+IMIX=@FWC#7=B @V#\6:%CR?$'6.=)VCVP@_Y/'I=_ U!+ P04 " < M@EA7WIM&1PL# 0" & 'AL+W=OI-3-WX^R'-.R"B\:_!#-J0SK$[WJ!_KK63EH09O%+Y M+\%M-@K. ^"X8*OJG)3_T+E;0=Q .G*6%4TSL2@$-)_V6.3 MAX[#>;3#(6X,=@!_A1DF;&?@D.?+G M_B&1:QG&&X;3>"_@',L>#*(CB*-XL =OT"H>U'B#'7A;5,*?26*LIA/R=YM@ MCW>\'<_=F@M3LA1' 5T+@_H!@_'A0?\TNMS#]KAE>[P/_2WU>1<@?,\0KE11 M,KD^/#B/^V>7!DS'ASWYE!L?IA&X,&FN#'(0$H0U,)%RQ7*XPU)I"W0!W2V" M?O3A&U O 4MQUL@TH#LG<(TI%@EJ&/3K2L>]-S'A@H-4%M*,R2616FFW[6)) MR@,4_FCZD'2P;!.S.5T]N,4J7\.$*]KBW?S,+9.<:=YEU49CSA[V*@2;5( M_$FS6P[).T_>D4\^>Y%[\L3'DAX33S796YEM-S_L=.D"];)^BYQ^DND;=KO: M/G<3W^6?S/U;>J=G02@_?OC)U:5=<]/E*47I!YF]&2C=@:T MOU#*;B8N0/LG8/P?4$L#!!0 ( !R"6%?ZO9&PO M=V]R:W-H965T&ULK5C;;MM&$/V5@1($-L!(O(J48QMPG 0M MT*!!G*0/11]6Y$@D3'*9W:5E]>L[LZ0DVKHT ?)B+7=W;F?.S)"^7$EUKW-$ M X]56>NK46Y,YVAKD@6'ZXWV#S9VBF4N--[*\J\B,_G5*!E!A@O1 MEN:S7/V&?3P1ZTMEJ>U?6'5W(W<$::N-K'IA\J JZNY7//8X# 228P)^+^!; MOSM#ULMWPHCK2R57H/@V:>.%#=5*DW-%S4FY,XI."Y(SU[="YP[P7WC_O2T> M1(FUT0Z(.H./0MVC$?,2X0[35A6F0'TY,626A2=I;^)M9\(_8F(&'V5M<@WO MZPRSI_(3VDA%5% R"*L<:VA:E1)*!(^1,,<.&=P!/1ZB M/'!5H4T1.;@?]O,0J-76Z?I)^+\6F;V0ES0M#"J*6]0P!!%:8]H.&]5TKRF5-+$>TK15R\2WXO?Z"?D MS,4#(8;$O*%[E%V1I@PU/;%JX8 ?;JBTM,R2E M2]ECA3F_+U!0K(X["0W0])ZM$: ]!)9@9DWNF**$C4MC^+QQ;L\I8A-';(OW M8$(<*,BE>NU8_S,D"M"L[GA(SH%N,"5P4Z#$DE5:V0Q!A2:7/>(==KLT+)2L M?BQ,8@-5/[V&6 =W^6?\.B%\I)P8]@]>/[?8R'/+%]W12Q;QIR$O M9HZ7S+AXGK13"!+'G040!(XWLR\VS^=4$#FQ[T(41:=:)'D3S1*(G!GUP]MC M[169[&$<0SQXV#P_WJXI1/4>QX00B>.W7BR/W_ MN0%AZ 2Q"W[@3 -_'ZK$":($_(1B]$_$&#J,%>$Y3>#CH6FS!<'=@'"8(YX7 M.J$7@S?UG6GH4Q+]R*5LV57H.;$7V8:8"J76S)S-..DI];Q1'GH)&(=S8R X4Z,W6WBW;^[IKRW]TA?^!K7^SUD_PY24DE%N?X3WS9NYYMQ$? MHD(X=4+BY)GOG]MUY/T8O1+7@[,P\,XW7#M)(RJELR Z[QGU$KPD=.)DROY- MX^2\W_'M[,0D..SZQQSW?BT-U'A_CJ3WTXBRE.6GNS M'T&'JBZ)IP1I&)[O2O 8.H$3>&2!KM+*/5)H'J--/G"A4Y[=+N[_9J_Z3YB=]>[?P50[UKR+"IQ M0:+N.(Y&H+K/Z^[!R,9^TLZEH0]DN\Q1T(SG"W2^D/3NUS^P@>W_.*[_ U!+ M P04 " <@EA75NSAP5<% "3#0 &0 'AL+W=OY&4C2+7:!#;9HVN[#8A]H:6QQ M2Y$*2<5UOWYG2$E6&\=M'VSQ,G-XYBKJ8JO-9UL"./:EDLI>CDKGZK/)Q.8E M5-R.=0T*=];:5-SAU&PFMC; "Z]4R4D:Q_-)Q84:+2_\VCNSO-"-DT+!.\-L M4U7<[*Y!ZNWE*!EU"^_%IG2T,%E>U'P#=^ ^UN\,SB8]2B$J4%9HQ0RL+T=7 MR=GUE.2]P"UHRXI;N-'R;U&X\G*T&+$"UKR1[KW>_@ZM/3/"R[6T_I]M@VPV M';&\L4Y7K3(RJ(0*3_ZE]<- 81$_H9"V"JGG'0[R+-]PQY<71F^9(6E$HX$W MU6LC.:$H*'?.X*Y /;=\RX5AG[AL@-T"MXT!]+BS%Q.'X"0RR5N@ZP"4/@%T MRFZU:C+7LGZN5=0:3X]]#-@?(Z6%(*I@S6_,<+D=8$1;, XR6+YXE\_C\".%I M3WAZ#/U70G,4Z##-)]#9AQ+8C:YJKG:L"AN6"=S(N2T9W#?B@4LOR56!F6@^ M@^,K"1D/K MB'PK_9K:0]%YC=P9"-NR8UR X-5C%)!5GO&3573X3:('SBZM;FQ0-3)2>28 MH;F];>-O(M@X7/P*UCMQK27VX.!2 _ :8]594>*0F[S<16Q;BKRD,S1%L],5 MJFZ01T.DD4*PD:#VKCAC?\(#2):P%\\6:9*_(<=#XI72-4P45 "Y%P&*^W03,HRT?7TUF,8H$ @/4) HS&& M:*COCA 6;H I[5KH M*-27+D"^+@PN*.]E'A(%=4.<.*:]%1LEUG@4)EQK)ND.ET.4/8ZQ_B0]=,T3 MCLQZ1WY4^G$LM<^,GA5FM_'EN#:ZVN=%V'.0ETK<-S#@KA60;RJ-= [8X-UV MS(1F0"JD_: N^XQ&%UF-.8>=R[3)W%4'6H"O4@S-5_#K5%]ZS1Z92D6!_NE?\5#6#, V7]_Q;>_852W#8?BA;,+M<.33$1^GD M''>$XBH7^Y)I>U'Q$RUYWY$(>= A#CKUI2 YW5@TP;XZH]:(MN,[VT&U0J7N MQ=W74E>:'[1#>GA7@%W7Z=8-8K#G+)M%)VF, V]/>KY?^CB^&[.-QL@KWU8' M[YK%(CK)TEZEG:)C*C#>$S6OD4^W/YU'TUG2/;['Q6NHRG=#^%YO&F4GX MT:;6ACOJZ"MW4#Z:S6;M_W.6I%,\+\71Z0P!YCA(D]-HD2Y:Q[W!5UGP6^+] MEOZ*W\(9>Z?1_(C'DB2-3J9QK]#-G_39/(V2TZ1[_+S/TBR:8RS:QX]]ED59 MO&C_;QOE7W[RD& 2Q_Z'CDVR*#TE\Q>G49HEY-@XC6;IG!VZ@4T&%V6T=>,_ M!_!J0Y>+<&?N5_LOCJMPT=Z+A\^56VXVV,V9A#6JQN.3V8B9\ D0)D[7_MJ] MT@XO\7Y8XE<3&!+ _;7&-T8[H0/Z[[#E_U!+ P04 " <@EA7903Q:-$' M #7$@ &0 'AL+W=O>:969WOM/G=-E(Z]JEK>WNQ:)P;7JY6MFID)^Q2#[+'RD:;3C@\ MFNW*#D:*V@MU[2H*@FS5"=4O+L_]N_?F\ER/KE6]?&^8';M.F/MKV>K=Q2)< M[%]\4-O&T8O5Y?D@MO)6NK\.[PV>5@ID;Y7NF9&;B\55^/(ZH?U^P]^4 MW-FC>T:>K+7^G1[>UA>+@ R2K:P<:1#X=R=O9-N2(ICQQZQS<3B2!(_O]]K? M>-_ARUI8>:/;OZO:-1>+8L%JN1%CZS[HW9_E[$]*^BK=6G]ENVEODBY8-5JG MNUD8%G2JG_Z+3W,DW#J#504Y=WDM6M%7DMUZ!+R63JC6GJ\<5-.&536KN9[41$^H*=FONG>- M97_J:UF?RJ]@TL&N:&_7=?15A;=R6+(XX"P*HO@K^N*#G['7%W^3GQ]D*YRL MV6MEJU;;T4C+_G&UMLX )?]\S/U)>_*X=JJNQH=*H/$M1TAOF&LDV MND4)JW[+GJD>;_1H15_;YR\9DN5DMY;&9^PU%$T/(7],/3MC1<#+(L--F? H M"-D5:?;&@698K<>UVXPM2G86?A9'Z7-,X9V%2\#0*:'<: M\"".Z2XI.2# WALY"%4S^0E4:@$UF, TS#.H<&-@.Q/62OCY8^R_'8>A57BH MY:"M MYQ=ZL,*LA+V07-][R1'\8]I[BMA>V+O6B#MH-&JK>M$RY+:S4XR-E.Q>"H,( M.*9ZK$CKF!'^*-%O2=/&Z(ZE/Y-UQ<_+$_\H2/3G#Z]@B'+4AUR#XK/S$'/.@4% M4>>273VQPDD>T=E!]"R,EP':2]M2IT3OM@Y&P75.LKM&50T[2Y?180NL5GW5 MCB![W+!??BJB*'CUS:#R^\-7?OTL7Q8/>@^ZWGFQT^V^!*2G!1]]RLV-1L9Q M6$UW5K>J]D Z(3N[!-XQQQAW[X^4?XQJP&3A?B33?23<'#2C/(@'(N*!).$H M&@^9$?@ZVA2BJ(@\8AZ#8&[UQGG AA%/@Q25QN.B9'^1F#H:W2+2W6#TG211 M, \ORP#7/ 8IC:97;IRQOE&?G&]I(8_ DR$/TYA]U [ STN>A!G+ Y[G"9'S MV(U3Y8$K4%E*3+,2M(@.,%;_GEX\@S-1&8.#X4R9!$3#$=C-^Q>!6V*OS8S0 MU"JQ5JUR2OXH0J/((<QE0#$]%?6^/32R M]41A9X(D^N9)5%"DHX*(6F]0M3@%H:)SR'R,=YX#)-S)>)GG+.=QD+.;&=$# MA8FJ!H4B#"AC!IF1#NI0M2G/RQ2B<4Y",P^(^H[PB=HD\EM[NDEYDI2X9I0N M\0EO!G'OB2[A>1+AFA8AB!;NC""^AJ""'1,<@#%TU)Q'8<#> >K"6]T2=BR+ M@96,KM /)^NQ(EH'(]VHFWZ(P)8UD.N1#7MPB%\35%[; @ MY!4I>V/\W$L@2^B$#"=,I9LB2BDY#\O1LR,>Y 7U[( G@-Y- VZ5=E_2,YU2 MH8?Y*TLE[K'T>$3W"+MG.V(P$-@$*_L%J#YZ?C^>3=EO\/#TS2GRWE5.TSTU MTJ<6]NR"EK&6:!$]Q1H F(B=W(7SF?^?IU96=+(E&89KB1+Q8O,%?A_9+[LZ\\- M+Z/9@?R+Y[<]^U48- ,,;06?: +) @+G1G H6W28@!^G%B=1;Z5=:*/4X;9( MC6=!/PX(!LC5B =6:\"OU0/>5>!L-#MF]]2XC]8Q"\B^(7>F.AA&8T=$A?1, MC>O8"/0MO6[5=C]L=.)W"3V^HEY\5E%^E/#2.'1K1,=!'.M_X>R?DH)8GL6I@\=;IH>#LNTEWY4UM-@<*J$AA F/%5Y8^?5:1PAN^8XR?K% M<5C\)*)!3A8$6)],0C17T:AB]+AM#JF,DB5[.]$S?F&J;NR>\H8>:$H15:.P MXS!US2AR#1 U00G@8 XE_&(<]N+(<]NB7E@]RO\RECQ4.)_G#')C3PK[*8U/ MLTOR,)?P.>6/CR>/-*C_=[+8^W'2KN!&]/UNA.$R>?#C8>S*C\8NVOA]COD) M*SF>W#Z;L%K=;U_0/'PLO9S%'_OQNCKZV(!.MO6?5*C3XY?:]-WA\/;PU>9J M^ECQL'WZY , @CPMNM0&HL$R3Q?,3)]1I@>G!__I8JT=VJ:_;:1 6=(&K&\T MAM_Y@0XX?,NZ_ ]02P,$% @ '()85^FL\K%#" M!4 !D !X;"]W M;W)K&ULI5AK<]NX%?TK&*V[D\QP];;L)+9G'&>>.*T_=#I!X@$130DP05 R?KW/?>"I"C)BKQTUX/,^^KM:.3B3!72#4VE2KQ)C2VDQZU=C5QEE4QX4Y&/IN/Q8E1( M70YNKOC9@[VY,K7/=:D>K'!U44B[?:]RL[D>3 ;M@Z]ZE7EZ,+JYJN1*/2K_ M]^K!XF[424ETH4JG32FL2J\'MY.W[^>TGA?\0ZN-ZUT+LF1IS'>Z^91<#\8$ M2.4J]B1!XF^M[E2>DR# ^*.1.>A4TL;^=2O](]L.6Y;2J3N3_U,G/KL>7 Y$ MHE)9Y_ZKV?Q5-?:3? Z9*<\N@MWFKL\S=WIBBT!\O> M"5DFXLZ47I^#N.D)<6_$/01D3OQ>)BK9WS\"M [? MM,7W?OJBP$=5#<5L'(GI>#I[0=ZLLW?&\F;_C[WB@W9Q;EQME?C7[=)YBZ#Y M]W,L!"7SYY50(KUUE8S5]0"9XI1=J\'-K[],%N-W+Y@P[TR8OR3]YUWV)\2) MSPHA+_IKOF5\7\ER*W)ZZX1)4QTKP2:+&IZWHC3E;[$L8Y7+9:X$BHB5)+;9 M,A1WRGK4#.P5?B?QUU\NIY.+=^YH@X@!B]9;5:J-S+& LCI QC./_(8RWH1D MCW-9LYJ/M2=O(G-T41>BDMM@14!)FO\'4E+LM/,J::&F)D :C/3.V SKU^*QZ4U29IP=PW8 *W#RVDKXJ**,&"4!9S)B;19'Q) M-W,QCQ:+.5V>XW*^6-#E @OFE^=T><%, !]*<^HA9!)=X,TWXT%6NL\"6[;C M8C*+SJ'ELW).Z**JR59=0H9R7KR:1./%XC5AF4;S^535AA6= M38;3/4+/9L-%^R#"=E,S!C]4J7 MX#I13J_*$[N^?-AMBT254VH;F] 2LB1NFE(,@*8DI^ERC3]CMY1>,EE3H^ Q M,!$UECR;.;X5B0'&TJ"^R>]@;H/G+M-5&],]3)G*&4\?R[Y49M^)JHV2Q@\4U%R,]ZSH M8KXY44C6B*NVXY'PZ0FVI@F M>1!(%5H7-$5[!0;D=B0G$:,JY%8L5CTP")<1?U3L-SAWT3\!PMG0>< @*8W3H=W5DOJF:4@.R5\CH4'G6CL>]MAH M5Z/<=,*')P<2MK3KN[-=2=[C!GVJ@H8GC1,>RJLXFTXOCHKQ?'RJ+40\AO0, MZGB,>T6/:DM+$@TSE)/HPRJ'#!OREH+YV3K8#\2H+?E^8]H.^>W U:DU!1<3 MYA+_P>6N7OX'H.GAKLH!,D_19),NEG "P+2O.S2A-#X3]JVMKDT;O1<+ +-4 MBD?VA,U43S'-F-29EL[DR@,;-Y G65086I*:0>_'=*B(J.U*\3TTXG32!@Y\ M@?,W/6>[F^(?UL"L?5$\^-#IIN[RJ2N(QRY@GU%+#?99=915P<5A7&ZMSI&Y MN0OS'Z9!Z1%39'>H"^0"7"7(HC()OL.0S;'7T#T)OXE+.OE",4=29%,(8>0R-[@GKDJ PV=;B13O6(@@SC/)'3.R.@ M%U!)A/:=9AITXR8\<: %W*3FZ2%D% ?0"KFQHN$FPS&!^QA :"!L( B5IE2N M3HY8@8ZH-^.&4L#E!>T5(:F9P:;&<2?FN).(=R37\+E/,:/>E[1"(8;H>R$E M.HY+X:-:][3[)'D;OL3MEH?OF?<(05V2MU-L'0\OS@?"AF^$X<:;BK_++8WW MIN!+.G\J2POP/C7&MS>DH/M0>_-?4$L#!!0 ( !R"6%?@,%S*V H $XB M 9 >&PO=V]R:W-H965TM@\]?8!(2,*&)!@ E.S^^LX, (J295M)=]N^V+P MG9EL)4IN^JH6%;Q9*%UR"[=Z>69J M+7A.F\KB+(WC\5G)9=6[/*=G-_KR7#6VD)6XT3W$];3@;U)L3.>: MH29SI3[CS?O\HA>C0*(0F44*'/ZMQ6M1%$@(Q/CB:?9:EKBQ>QVHOR/=09RK6CDCY"9<8^J,JN#'M; MY2+?W7\&$K5BI4&LZ_1)@K>B[K-!'+$T3@=/T!NT:@Z(WN 1>DXQ]H^KN;$: M(N&?AW1T)(:'26!VO#0US\1%#\+?"+T6O,7>EG6A[H4PC%&::N9&YY%KZ#7RQD(7D5IB(<<,VD&?XOQ3E'(39 MH^%E,^Q:(7]X^49JR%.E<;<63!1R*>>%8%9!ZF<"9>4HJV$-A)@F8L^J=()\ MTOA5NQB?TK/DU8L^^ZW[F-5:K64.V@#2$?FE!NU1-H-69:I&& 'Y9)4532ZK M)5YYICM+R!Z5JKXTO) +*?)]"NZ6UQ!'&9B,\ W1 UY!9%DM,QLV/7P"!I"X M4H&,.E#6+.-F=8KXE =#H12Y1)W@0H"9UKP0Z$^P:6M?6=$2D-3TV94]Z"3, M0:!6P2+PI["H>C"+#[:(-G:?D'IJC>)4:"BH& ;9T<*JP:@@(BMP-X5'ILH2 M#.$4DL8T'.7;\S9Y:G[/DOX(T+ HT'2.!$A/9 Y+,5<"Q\D&\34!O^,^L.] MC8RON2R(&7J>.(-?#W'NLS>-1NWQJ5UI(5CI<$\@[AWDW75]\(RX$SJ3IN79 MU.@3T(POEUHL(8E0D[@_V!=UWTRD$L4I<-](NV+$!A#[DN#;0M 00 9DE#4(?.: 3PZX8 3Y.MES 39DB"@/L !L4 %;,!D4(;0R MVK:IJ85;2;%VQH;U'I(RI6NED?-"5F AB>;D>BFLPW)L"8%*"\NG/UU=W; * M&EYH;6&?1W)5.J,1VIU 7T6-XUH4]P["U5'J+P.,=NP%T4QH($R@I=%45*1I!PEJK '5J(5!F./ACMN MP$5M0K26=;';J 9Z)>@5,1,H53I>P*17S7+E-3*U"[@67- "B 9.NZJ*7"1BT T7R!]9,2&_;!V M(23B"-A_T10%*01/L'OQTD&JMW)QUX/ J"/+IB1<--A2H)A[TL*ZJNMX5-*+ MBV1&<1L9 ?C>69=,!1W M>.T*4MJ?MC40A0#P4\M*_@OVA/;_J/ZNS][YY5_1*STGW*P_>42X;VE QTD4 MQ_&3E1Y[7MA=-QI[WRZHN4*^/P-A=O&C>J]9/T[^H^;RV";XSU,A2?JS05>' MQ^>,INK$T5&NG@[[XU:_3A+M#8P$^8":4!=*6N)1M2$TDX9H9K9-HHX8KM=\ MJ*EK0Y!JVD]"XQG. !@=)+";1FWM[G[:"8? M?V5=/@X9\0F#MD!MS'9L%NUA"1B\57<;H(=ZK9V@#:6_YO<:6DT ]+S)7&3" M=E]2VHHB]9;U3BSM=8/8H[^'TJ-QI/@$];1J4(Y#YOM"0"=-M&0:7N<&"1CD.1BRY_@RIM.9%T[;$ M.Y1]7WIXK"- P4,5WYF2K(_:Y\@#B>&#DXSG#R10UV_"T@>#'XGPF#G_6*CK MCIV[[4+KNV=1;-OVAYYZ"V-Q?QA@#"/'Y_+_)G/3@YD+^C1:^V.#UDB N@]E M6W'?;]*Y()(\X2^VXMI.5[>=GS?0CSXZ!=D55+P,3\^Z#F]'$OI,@@7TH59^ MH*5HWXMQ"M#-2F:>2 !:]&6%=%PGSCL5@1+:35[>^UFA7 <>QNX6 MDZ==2/X %IW@@X@N=]YYN/:O_=W.BH^0JF3<24#^]LG.NI;W9!_YPWC61C@E M=_H0)L$<&<$(-F?;" OH^_]\F!U<14?9^ZB\.[4]2QY!!<((O,P;NU*ZG6(. M5([ %Q)T\JU'Z(-.RWILQ?)\OZEH/>"V5[0PQES[_P<7K*3SK6"O8G7L^!5% MZT$3?JB*34,5HV[U])J$W#G5P^CH@ '9W7U4![;F>>5.*'!58\!RYL5+H(># M9/<++ON(OMEYLFO37S*K\#J)'G_Q6AF:6K3O0[]GD\$0_HYG4_B;1H,$[Y)H M-AZR6U[X[XBN14/%AM%@,&"#*)ZF+!E$TV3*IM$P2;'5!PME#EURH%ZHFH!T M&*7#$5">QE/<,81!8 K[4O:3J,#@A3M$S/$,!S\#TV';.)J ',-H.)A!I$2C M8<*25K9Q%*=CO( 9.IW Q2B.XED,%X,D&L4I?G9TIV]WX/M*+*3M!@!J.9I, M2&ULO5AMC]NX$?XKA&^;W@&*;WV__IXA)=G>\V[WBJ(?LA$ISLPS MPYEGQKK>:?/-;HB<>"B+RMX,-L[5;T8CFVZHE':H:ZKP)M>FE Y+LQ[9VI#, MO%!9C)+Q>#XJI:H&M]=^[Y.YO=:-*U1%GXRP35E*LW]+A=[=#.)!M_%9K3>. M-T:WU[5_#6[&8P9$!64.M8@\=^6[JDH6!%@_-+J'/0F6?#XN=/^H_<=OJRDI7M= M_%-E;G,S6 Y$1KEL"O=9[_Y"K3\SUI?JPOJ_8A?.3A<#D3;6Z;(5!H)25>%_ M^=#&X4A@.7Y"(&D%$H\[&/(HWTDG;Z^-W@G#IZ&-'[RK7AK@5,67\L49O%60 M<[>?:4M50R(WNA3WNG(&<;( X3;BWILG8Z]'#J988)2V:M\&MQ3%%L5>VPB):KX1#LLJ$ZC$ D]B9;3,5KQ3%](Q MK?C7I:Q GS,;%5*$.9=MR%#0N)?I?%J#3IP[5$8W6VT?[>A(D-]I[JIG%P5 MP*J- &\9R94/5>USM0:/6-1K0 3[E?5G"T9L!9Y2^* K6+%BQ8S%"'K'FDJY M<'8H[F#.9%!9[*.30XJ=M/R"8*W6QMOML+/= QJO$#G6I*XQ-#R.XJOOEDF\ MN+(BW2C*CV0R2I6GQ%)^0Y+"G#LC=>^EWC]0VC#MB8]YCJB:R,?,T);93>2J MDE6J9"%4%?B=]?JKKQSN@EFST_P:O$1,@ KQY)C5C:FU)40M%[(H=-H'6#<& M%^A=I:TLFO#B8 RN>&M5VKJ<:\CO^% (7F@0K-BTR9*.0UK1DV#T@ A 6T\#KM4_5[Q2=T8P'0_O &" S1"5^)GU$8 MISO@'T?E"@'O2$A\3)WFC=BODY<<^8K[9F4.;EAQ(9+)+(J3)3_%LV@Y6^!I M?CF+II5 ;A=1S^FS.IZW*!CEFN!OSP94JBI,$0.FV)I@Z^#5,J,KSA\DX*0.W ML8Q$RE'VVB?5L79'IK0A=]-"<[$C_0HO*WU!G,F%'=YL)1[D1?,-4@_ M\ @&.R8PT5:,4Z5?Y2)OBIQ!]E8*7W9'=2OTJE#K0*^'<+5._-D>JFUXN.B_ M*0F7E-N+=Y23,=#87:N/S7P\G';!B;!<#),^5LPE%[/E<'[8>2+.D?BI*?9M MQ4V\X#M*VS-M'4;,4AQG,&.Q#S$#K6*HM214B$;V&&,71>8^'RY/&V4@"7J* M)-BS$$/N.\>4=I3@V+V(Y\-%[YS;2.=%VZK(_B,JG/@"(VHI;[DMH2(T0@X[Z7-=YSF6W#]>;"XG9MON]T/2ZV)Y(A!!.P_U@P M*R;SP> M^0;(*^W$GCTFJHY:QVSO_>( ]T1?X@#<]^*KW&K,;=D_L3YEH HY0V/ M3ZW?&-P:!QYM;6VE47XF!&R+$2;,A$#$@R5'RV<=&".8:H>0,$S@'*:$-7%2 M!8&6_\,N;* [A/H&=:JR*7E^+)7CG$3\$4"Q8[&+)+X\8OZGN:N=><^U@][[ M8^S(.TBBH@E?LK+4^:_HF812&-X6 G,)SE.O]R3Y,\#*ID;5A\H"O%#J M.VF,K- 7;%/SO.Q9X= :0PS(9PB&Z5_;*374&/Q&CX9E=D>BML C; ]=_JE& M_$1+8%--U=J@OO!929^OQP[[GA6/AY>G32J.#VWK<9_Y\:1U\/&7\%Z UMUN M?AJ&@.*H=7@0TT.C/,40^1\XT@0N@.#X5# YZK#Y"] ^&G#/-%83NCM^OBD8 M5L;_"L+,Q#P7DL8WO##1I3[Y#@F7>1"D.%-[6D.JIL39VHWW_0_VS\I^$S_K M?OKH?A.V>A W"ED2C_NIZG$OZ"KKU'LL7M2B.$J/8C(4YW[PCXX^V0#IVG^8 MXHH"W/#UIM_MOWW=A4\^A^/AP]D':= +'Z8YA =#Q>S01A_NX73M?\ M-(. M8?&/&Y)@ #Z ][G6KENP@?Z+X.UO4$L#!!0 ( !R"6%=5^L&(* 8 #0/ M 9 >&PO=V]R:W-H965T7K>Q:\F$IDI]/)BT0 NXO= MLV<7P/G6NFN_(0KBMM3&7XPV(51GDXG/-E1*/[85&:P4UI4R8.C6$U\YDGE4 M*O4DG4Z/)Z549G1Y'N?>N\MS6P>M#+UWPM=E*=WN!6F[O1C-1MW$![7>!)Z8 M7)Y7SLQ<+EH\"?RC:^L&WX$A6UE[S MX&U^,9JR0Z0I"VQ!XN^&7I+6; AN_-/:'/5;LN+PN[/^)L:.6%;2TTNK_U1Y MV%R,3D8BIT+6.GRPVU^IC>>([656^_@KMHWL?#X26>V#+5ME>% JT_S+VQ:' M@<+)]!Z%M%5(H]_-1M'+5S+(RW-GM\*Q-*SQ1PPU:L,Y93@I5\%A54$O7+XU MF2U)?)2WY,\G 19Y?I*UVB\:[?0>[5/QSIJP\>*UR2G?UY_ D]Z=M'/G1?J@ MP2NJQF(^340Z3>W V-+I_\-#N>/GO WT7O[^(AZ]]-QW_7%A\W) JK477* MK$60*TTB>FR"%ZJ1#%%2FEP$2%-14"P2GA=.!JRA[.-:14[9G!5SE6$E%S\K M@Q5;>ZC[1-!M1E5@N0P[H)[]+V?PP1'M<43\!I_W9Y#S0.6*7$S\[UFP_#U+ M[E]HXUP1O*/]6!Z)V4DR6\SQD4Z3Q?$Q/A;S9'DRP\?\-#D].NK4>X5D=CK% M_S(!Y^+_R=&2YZ?)R3(5K[]!11R/C\5C,5^,Y_B;+<>G^$N7XQ1_C/I+6U;2 M[)[\=)+.EL^^ KL#-$1H&'K#B)0-(G0 $2Z%*#A '.IV!*BSRF00V. 6NTY MT]((\D&5,4G?IE3(_#/:"M;8DQQ%X6!!*&SHX90,PF99[1P$\MI%ZL!;\*9J M#;5,&!\,]U8X6T:C/LA0!^MVHJ"/> UN(=/88 MY 8I'*L1"]<-VG!V_92[?XX-2IR(7L9#A8.C M6\KJ&+,M"I61\_SA<:"N=M%L(6_@$=M10*O9X-/X:MS[S%4I7;:)+B,?N0IM M17D?YU9DJ,!D$_B]WG2%'(VSWMU^7"EJ;01.%D< W_RLS#51MXN%Z9M=& M?8&H'+K*>SZ:HTY*I75S@.O(2. >,5%&:O6E\1NR'%S,<6MQN)%"#!Z'"#7$-+,L XI7D?!,/T &%:,IF,L\^&6VC M>!P37F32N1U@VTK'_2V3E0KL,G;N\\68Y72#JTV%BTI -GQH^^E=)@]7BEPI MK<*.\DN0K0E8P-S?J0/UO00Z!Z6@ \.*H0BX11Y&G(C@-YWR<(7T&# MC)U0BANIZ[8H^ B42/./[$3,[O04C;^C-PL]FD_O9I)!S]2[A-.'UL#^[==^ M!#PVHGN)/<2K1UH"74;T,,P6@AVO_L&6K/Q*Z+RM+6IFD:&!T@U!@WB>;G#(GPL?+B,?VUDFBK>#^="<8N8M5HE?&.!R.,R*%**.6N \2! M]4D+8&9KG3/>, OA77=^A /]BQNXR2"&.O6J/WZXD;9-IW6URU,3Z9V#XT/7 MY-?UL_R1\WKR$[L2;]^0[Z=;*>*&I@.ITO#P:"=>\ MT9I!L%5\%ZULP"LK?F[PK"7' E@OK W=@#?H'\J7_P)02P,$% @ '()8 M5V/]E7*L P T @ !D !X;"]W;W)K&ULI5;; M;N,V$/V5@;HH6D"U9-TBN[:!.$G1?=@TV+3=AZ(/M#2VB$BDEJ3B[-]W2,I. MO$B,;?MB#B_G\,QP1N/%7JH'W2 :>.I:H9=!8TP_CR)=-=@Q/9$]"MK92M4Q M0U.UBW2OD-4.U+51$L=%U#$N@M7"K=VIU4(.IN4"[Q3HH>N8^K+&5NZ7P30X M+'SDN\;8A6BUZ-D.[]'\T=\IFD5'EIIW*#27 A1NE\'E=+[.['EWX$^.>_W" M!NO)1LH'.WE?+X/8"L(6*V,9& V/>(5M:XE(QN>1,SA>:8$O[0/[+\YW\F7# M-%[)]A.O3;,,R@!JW+*A-1_E_E<<_H8O/7J;.K[T#;X;I@07.^U\=4["7Y<; M;10EQ]^O^>OILM?I;,',=<\J7 94$1K5(P:K[[^;%O'/9\1F1['9.?9_^S3_ MF0Q^;Q"VLJ7ZI-B 89L60:/1M*A, X:V"=@/AKE"DEM;![P")FJH>3L8K$$0 M/_?\/?%7GE\[?J)Q)+3!9:WI7,TK9E$_<$$[AF]OW X=*F:DFL/ML_QW,"W"69Y: M(PVSS!II'LZ2C(QD%L9E"MNUD\A2(+RUD"-]LM?=3L0[CPTV?M>*>1 MU0/@YX$_LA8%O6$:)K,I_9;3&7AWTK"8Y?]']1MO/NJ>A?G%S [3B\P.149# M&>;EQV_6E[U+/QWVO_\#4C@L-+6X)&D\N M\@"4[Y]^8F3O>M9&&NJ SFSH+PX#VMY("/$[L!<<_,:M_ %!+ P04 M" <@EA7U>7SGT]VX8OQ>I 2/>09%1,KE;(8V;:(4\BQZ+$"J#I9,YYC MJ;9\8XN" TX,*,]LSW$&=HX)M<*QL2UX.&:ES B%!4>BS'/,'Z>0L6IBN=;. M<$LVJ=0&.QP7> -+D'?%@JN=W;(D) :#]C<-O I786R,= MR8JQ>[WYGDPL1U\(,HBE9L#JMX499)DF4M?XVW!:K:0&[J]W[-P/260ZL2XME, :EYF\9=4W:.+I:[Z89<)\457[]OL6BDLA6=Z U0UR0NL_ M?FCRL =PCP&\!N = H(C +\!^*]5"!I \%J%?@,PH=MU["9Q$98X''-6(:Z] M%9M>F.P;M,H7H;I.EI*K4Z)P,ES@1[05: ',RE2@.4T@ZX_D=]YF=AO^,90\YKH%[7>'\G_K\S>K/DN&W M5> ;/O\M5=#UV#5=T$VG>]M(%#B&B:6:EP"^!2M\_\X=.%^[,GU.LNB<9/,S MD3U[DZ!]D^ 4>_A##0E"8Y9W/D"-'1BLG@7;T!T,^ZJ4MON9[?#R@^# *WKI MY?>'7O#<:_[2RQLZET]<=9#V7BO*@6_,#! H9B65=3VVUG;,7)GN>F"?NJ.9 MVV&/U%BJI\@3?3W3;C#?$"I0!FLEY?2^J$[)ZSE1;R0K3"-<,:G:JEFF:K0" MUP[J?,V8W&VT0#NLPW]02P,$% @ '()85Q*R>-T*!P B!( !D !X M;"]W;W)K&ULM5AK;^,V%OTKA L,6L"Q'2>3=F>2 M (X[[787TZ;QMD51] ,M75OL4*2&I.+DW^^Y)*7(C6-T=M$OB2R2]W'NN0_Q M9JM#A]#PN9/^3?0=OJREIZ75OZ@R5%>C MKT:BI(UL=;BSNW]2]NJ6V1FU4(4T0 MBZ*PK0G*;,6MU:I0Y,7GW=,7E], ?7QJ6F39-TGV_ 79_Q#OK0F5%^],2>7^ M^2GL[(V==\;>S(\*7%$S$6>SL9C/YF='Y)WUSI]%>69Q ;WPC"[H:(4,\N7L:7;_Z[/1B]O:(M>>]M>?'I%_?2*^\L!MQ MR[)-D$SK0T;^#V+$?RI"AA2V;J1Y9$!:(]M2!2I%81$^X].3!TZEY-<;9:0I ME-3"0P8A48,?"V4*C7,0$+)$ !S5+:56#V/QG2DF0II2*+S>55;KQQ.[,Q#H MV[57I9(.81B+2MZ36!,9 2@;Z;!!F2C0E=!+R)-0126./K;*)0-8$;_[:;*: MB!45K5.!H\H*WST4E31;$DM;U\K'LO+YJ\^^FL]G;U?OEO'I].T7 I4.J@(Y M54-V8QT39"(67C3D:A78^1:0.&BR'OI;S087Y **(([;8&R 4LBQ,,8-H%(F MU5'6'2H9!!P3AE\!A\Z34JP?DP=;,N3B$ARGAC7+)\XV#FBK1G.:9C^^72QN M>T>0U$!P$#\V*#DP01PB4+91AHT!;K4T*,,,XS@N'0IPCB\BJW6V.V+K&&K' M1LGR#U2MM+GWD(FC@!AL,%20]ZC_$>>H1RHGFB$9P*?L ST@H%-G(;87SB M.K9-8GXL>R"7PT2X2;+%*C91&3GX-;RLUPC]V6FL5G/H\4D-8$ ?0OXX6ZVU27;P%-* MCN4?K4EC0%\VCL*^K_(YR@MC6IQXKO[?O9O10^+.]YP-'9_^S&]?R S-FK8* M(83D?TFH0A!/85^,2(P'%@92>6DR@"5#&7./9Y:2]TMQ?G)^\AJTT! !'3T4 M&^4@H&,&%IDM-GF^D@A.B;@6&D'$MF#%>^G I$XM"J/,E!D/P0+E62\)%"@O M6$0&TZ CB3J-!@F@%=>VY$ON[LQZTV/Y_,0/1;"\?P_0U"GZ&O)"9)D.3"X5 M'A,$7#3WJO[3P;[^=[79#\HD0U'+#R0 BP)7P5<=N@S@4H8TFI^0M8A:4"LI=5VPX#7MC)T=FDM?]3/+Z MZ##Q/>U MT5I8V\:S%.K()EC9;3V#DS]TWSIK,%SD5WZ'C7C5Q3/+.C04//_ MVC%(.(!2QC(E>7\L00:?#X/.ZO,IWY7.3Z%M$#M44^$'DS6(,DB,R2<#D@KT MH%<9"^/+V .Y P]G@CTY('4:>GPW/1W>]ZEN2N97G<:R[)Q+/AW10;YP:OVW M%=7QT[PQQ!XGZ:%! B93UTVR% M0&T;C)CX;/Y N0+@PU9SX5T[*\LUOVFT#%S7XG*J4KS-W:N"Y]/8S".-TLR) MI6VL8FFKB]-X7*M(]W.F7.O4N9_FBO'SB4MD_:AXO%>SQ8E\\ $M@,._Y@N MO?[0 IVT=Q)3P7'?T8_[342QDYX7:%"-.]OWY[\H$%]O;<$#Q>$F6U2*-H,S M)14J?@IP)7>L[A UE_'4NP>,N7R+('[8@#_DQA$S1_=\6?#"F)\GVZX'9\DG M^,R/O5D!3\:L:5W##98;%X9K6_0 V]9UDRO=2]VFA<$P3"YJ0Z(=Y.]T<#M0 MD]O&.Y#8'TQ(%P7]V_Z:99%N%YZVISL:-/XXEFC:X.AL\B6JLDOW'NE'L$V\ M:UC;$&P='RL,8>1X ];YXZC[P0KZRZ?K_P)02P,$% @ '()85[,T7R$Y M! N@H !D !X;"]W;W)K&ULK5;;;MLX$/V5 M@1H4-J#&)'5W;0-)VF(7V !!+MV'Q3[0,FT+D425I.-FOWZ'E.PX&T7HP[[8 MO,W,F<,YU,SV4CWJK1 &?E9EK>?>UIAF.IGH?"LJKL]E(VK<64M5<8-3M9GH M1@F^M"UJ#$>NY=T.EE9,^[ ]\+L=GXX/V;RQUS67(M MKF3Y9[$RV[F7>K 2:[XKS:W<_R:Z?!S 7);:_<*^/1LQ#_*=-K+JC!%!5=3M M/__9\7!BD))W#%AGP!SN-I!#^84;OI@IN0=E3Z,W.W"I.FL$5]3V4NZ,PMT" M[\$R>!:UF:KX6N]$JO7]A,$?$3-#J@OV:##.]&<0T!\8(0% _Z"(PN! M\Q<,L.!R?D/$7Q=+9 %KY^^^M%NO8;]7JZ>I;G@NYAX*1@OU)+S%QP\T)I\' M,(='S.&0]\5=*R.0:\@/\-U O,#OPSSHM1]S6R3_=>XB(H1'86QA@!;Y3A6F M$!IRB:K5MG(0G=D*6,L2Y5_4&Q@5-:[(G49K/9X"7J41U5(H=Y]?1-Y-:%>5 M?6E-VZTS:\+BT XRGZ897,FJ$BHO> D-;ZR;U"=9 $'@T\Q5H7CN(,-ZAP @ MB/R$$8BB"![.[\YA(Y^$JO'5,:?Y()HH2R'RLXQ@$-5(Q8U ]2]?'?OX(664 M?08:$KB7!E&\>S- ,7*<1)!D/DD"N.[C<3J$*4I\&H1 2>PG$7ES$E_4.G\^ M-0A#/T@(L,"/ _:6JM0/HA18BCFR@1Q#WW*%?,8I7._J(B\:=-%' CF0T%\C ME(9^2!.@,?/CD.$ELHC@;;E12/V$1C @D^@HDVA0)E]>X_>!/_&BM& ^X2?M MD\;KZ%/)H--^E=QCG?-**E/\@X6?2VWL&/JYV N%MKJ3B7XC MD@MM;5]+Q3Y]<'&,=V7C/=3X82[=_ ^I-7K^9J-_=]$':ND,4KQW9JD?T8R, MVX6DKTS"V ^Q7D>,C=TXHK]6>BFA, H#.C[4X6")H=[[ 1^0#$"'L41>4>$U+*-&*P(44X$G2:D32'.7 J, M4#]+:*_$)B?]!.:W<5V3?=5WM6E;B^/JL3&[:/N1E^-M5X?OVJ:H-91BC:;D M/$%AJ;93:B=&-JX[64J#O8X;;K&Y%,H>P/VUE.8PL0&.[>KB7U!+ P04 M" <@EA7[AAY<&L# >" &0 'AL+W=OIWVP22'G'-X9D0./=\K_6P*1 O?JE*:15!86U]&DCE7#6V%!(?-)BFJK@^W&"I M]HL@"?J)SV);6#<1+>X>O M O?F: PNDI52S\[X;;T(8B<(2\RM8^#4[? 6R](1D8R_.\Y@V-(!C\<]^RC@#3^!4 ZP#,ZVXW\BKON.7+N59[T,Z;V-S A^K1)$Y(]U$> MK:9503B[_,2%AJ^\;!#ND9M&HP$NUW G3%ZJUG[_Q%89_!O9*V,/"+7./Z>WQ$2@>YK)=[P\X2/F)] 6D< HM9>H8O'<)//5_Z M\_"/(_[S>F6LIA/SUZF86\KL-*6[19>FYCDN KHF!O4.@^6[-\DXOCHC.!L$ M9^?86\$[)S@$;@Q: U7[W=;@KTG>:"WDUAU584ZI/\M_6OU3@;!1)5U@QVS] M:0"_-U4%6X"E]5M5U5P>WKV9LF1R12M"P&:)PHOF/LOT]\_$X M9EMHQ(]6H#[&%61SG1<'>"^E"5Y=$+Q0%=*/U,)W#3$ 6\A'843%M/ Q\.N7J:^7#Q>P%;M4$NJ39;2 M0-(%J3,PG8:3E V0SJ3$5*A])FI>DYY^/1N'V2CINQ]YJ2+*_'!,/^"R,)W$ M?7>K=*TTMTBU:&5/^H>CT:AKWT+",MJ/T6@V(H(Q#5@R"Z=LVB7N#O,N;XG/ M&_L_>6OW>$F:L\]D+$E8.,GB =#;K^9LS,)DEO3=?\\92\,Q?8NN^WG.TC"- MIUU[WTB1BYJTG'!,XMC_*+%)&K*9"W\Z"UF:N,3&+!RQ,9RZ]]%1S:98M_YE M,I"K1MJV? ^SP^-WW=;\%_?VY;SG>BND@1(W!(TO)J, =/L:M895M7\!5LK2 M>^*'!3W@J)T#K6^4LKWA-AC^$BS_ 5!+ P04 " <@EA7[7YMON$% "\ M#P &0 'AL+W=O)@5RV:('M-DBRNP^+?: MVB8JB2I)QCI??MT7CL9DM52_?>M*K!G[FQM?08VL78M5;) MLA>JJ[$(@G1<2]V,)L?]W*6=')O.5[I1EY:YKJZEO3]3E5F=C,+1P\257BP] M38PGQZU?R9!200:I2,T\:)%ZWZEQ5%2F"&=_7.D>;+4GPZ?>#]H^][_!E*ITZ M-]7?NO3+DU$^8J6:RZ[R5V;U2:W]24C?S%2N?[+5L#:)1FS6.6_JM3 LJ'4S MO.7=.@Y/!/)@AX!8"XC>[F&CWLH+Z>7DV)H5L[0:VNBC=[67AG&ZH:1<>XN_ M&G)^#SVV(-6CF=K?6>#/K%#7\&^F,8O M'?NM*57Y7'X,VS8&B@<#S\1>A=>J?<^B@#,1B&B/OFCC<-3KBU[D\)6JI%78/Z=3YRW@\N\V]P?M\7;M1*$CU\J9.AF!(T[96S6:O'L3IL&' M/;;'&]OC?=HGUP-SF)D#S3/3-=Z!&#.E;RE=G#7*;S-YK]+M)I_N4,]F!GQT M%#(8X9>*S4T%8NMFP0YT@QG3.=F4[O"((7->U5-E^_1=0-$P"#G;HIZ]97G MBSS%1Q%S$83LE#3WR4+Q8:7IIG[>58^N'T0B.<2SR X'Z30-23KB>1"S/?%. M-O%.7AIOW=RJQAM[ORW >[5L#_#G!WVO%-$KN4)9\,IJ"?Z^96'(TX)BF<8! M^Z@;C1)1LH4QI6-AE/,HRE@8YSP1 :U. AY$$7W%!0=:]T4OW40O?6GTX'4%XC H>I#%[N4TQ>!#G3$0\%1GE)$AY'A6D4R"KX;[D9)OD9"]/ M#EJ\]?>]0>I[IULT7;^SFNS5NRL=.W=XI03<*.CQ9%&(^!(+(AZ!*==F[E?2*A8*G@0)@LZCO&"_*[3\I:E*IFL$ZE:1*"C$ MBR+ ,XO KLXVVJ-U].[-]9WOVTC(!0 MR'^AN]@.=E5:3G6EO59;F;E7W\[&\J/F5X( 91C$>HRA7??VJ6K4?."DB-$C MJ"J*C.=AU,N8AL"PJ>]LJ9#LZ3V.J0.GJ5[R6.2$")$'X+&9*T>'4J24]B'S M<08D<^<*[J2\R#*6\2C(V/F:V2VE$W;!08#,RF9-!JL\U&G/$IX5"42CC(3H MV >W9'E+[<\QM#^KIO#&86$<%WBF!"MYAYE6WO<--.99+/!,\A#G&KC3*>:6 M!&FL&& ++J#!9ER$ ?L*2LK>ZHHP[E@$3*?TA'XX678S3_8!W8X)G@%M@A> M]%GGD&GG&.TQ<"'-(!?B^1FAL'W+IOZ3$T/RA'VT_>&8R!#3#BEV^-I7O@11 M2LAY6(X6+GB0Y=3" QYG>T%=;$!=_$*=ZWUZ3 #="':">Z_>[> ^7\IF@4CV MH%4]NF1S_^Y-+L+L@]NP:CL"'AAQSU:*:HE;T\#]1(*;I57JV3F;_0'SGL\\ M9\K7F3?T3;UJUX^'D['TH,Q"-PUA@^*&0X4I*3U(5MJ_TR0>QL-QC2=%7\]L M1X5$PJK_G!A5\)SUFE=0U(E$4=.)+TA1/DJ6B M"*3E>#\Q7S7ECX878NU ]M-X&\K&3VY48.*BOS=2I<+!<[A<;68W5]/3X4;V MN'RXUWZ1%L%T8-D?2UROE:4%^#\WQC\, M:(/-A7WR/U!+ P04 " <@EA7OW-Z5C0# "]!P &0 'AL+W=OT0/7RKE7;S M:.=]ZH:]>($N<1 MM8Q#^Q6CQ>^_C8KTCP$7\MZ%? A]\4 =6K4*P6Q@TWHF2Q4BZ[:F=M%>*&C$ M8^?NSY=YD2XFWX'<(VNC7I= E*JZF7WA M::C'G<>*'6&%C5$T+%A".#ZCW'NLUP1W+ XDYI$3>LH=^[\&E9HI:G@0.;N M0.8#&X#5D=(]\IAB6@0:8%[!*!ZE4][DD,=%D?-R0LN\*'A9D$ ^G?#R,M0) M\:/AM_$$,HHOZ>:CX4@_BW_P[$SD9Q6A3G MS"6+\SR#@=*8]*4Q&2P-MH08/X\U*"G64DG_>"KY@Y"GD[]\(3]QR..+UH=2 M_CRSR[*T+0D>E;D]7]-HM%SCT!@;ICO!_%)7KV <7UT5\-?SBRF%N1B.=_)D MI-9HM^'AX%)MM>^F:W_:OTW+;B3_$.\>MCMAMU([,KXAU?3BDN)LN\>BVWC3 MA &]-I[&?5CNZ'U%RP)TOS'&'S=LH'^Q%]\!4$L#!!0 ( !R"6%>R;2:I M*@, *H& 9 >&PO=V]R:W-H965TV@23MUCZT"^)L?2CV0$MGBPA%JB05)_WK>Z04+0$<8R_B MD;S[^'WDW6EY4/K.-(@6'EHAS2IHK.W.H\A4#;;,G*D.)>WLE&Z9I:G>1Z;3 MR&H?U(HHC>,B:AF7P7KIUZ[U>JEZ*[C$:PVF;UNF'R]1J,,J2(*GA1N^;ZQ; MB-;+CNUQ@_;O[EK3+)I0:MZB-%Q)T+A;!1?)^67N_+W#/QP/YID-3LE6J3LW M^5BO@M@10H&5=0B,AGN\0B$<$-'X-F(&TY$N\+G]A/Z'UTY:MLS@E1)?>&V; M55 &4...]<+>J,,''/7,'%ZEA/%?.(R^<0!5;ZQJQV!BT'(YC.QAO(?_$Y". M :GG/1SD6;YCEJV76AU .V]"6%7=-4K4J,VO M\/Y;S^TCO+EE6X'F[3*R=(1SC*H1[G* 2U^!6\ G)6UCX+VLL7X9'Q&UB5_Z MQ.\R/0FXP>X,LCB$-$ZS$WC9I#?S>-DK>*/"KQ=;8S6EQ+_'- X0^7$(5R;G MIF,5K@*J X/Z'H/U+S\E1?S["8+Y1# _A;Y^QTTEE.DU@MJ!:9C&WUS:U5"I MEDK1L"&;M69RCU0>UL#V\85CQQ[=.K #T_4Q?2<9'-=WVR#LE* :YG(/UN7' M6,C\.QHP+HV.\<0'9R.\X1)LHWK#9&W>GL-MHQ%?) M\)AXO5^CQ+;9;U#X# M_JJL/^:T(7J_"7G89K/"+F,2Q>1 M)W.**"GB3Y2HF? !K*;2Y2[C7 ^"(IP3CSS,LP7E=3C+$T@F;D48IX4S$C+F M9,SB,%[$9&1).(M3^"CIAI'>X &V=,:.6Y);J;VDEZB]RMF\]"J+14+C(BS* MF;L)+^=8BD;/^D>+>N^[I*&'[*4=6LFT.C7BBZ'__.<^=/%/3.^Y-"!P1Z'Q MV7P6@!XZXS"QJO/=:*LL]39O-O0S0>T<:'^GE'V:N .FW]/Z!U!+ P04 M" <@EA7XIME\S0# #;!@ &0 'AL+W=O(D^VAZ(&61A)12=225)S^ M^QU*MAL7KK%[D69&,X_OD9S18B?5-UTC&GAIFTXOG=J8_LKS=%YCR_5,]MC1 MEU*JEAMR5>7I7B$OQJ*V\9CO)U[+1>>L%F/L7JT6@1[:EJOOU]C( MW=()G$/@052UL0%OM>AYA1LT3_V](L\[HA2BQ4X+V8'">/8NGXEA VF!N+P.GUC#?8-!:(:/RSQW2.2]K"U_8!_?=1 M.VG9%F7!Z5AG>/?-N@?K_P#*UI*[U\ MCW\]X;-?X,_ACD!K#;==@<5IO4=\"\UEX 2\\;D X MXH7_9P-.]<.7]5:/\:_G-F#"C\[CVZ:ZTCW/<>E0UVA4S^BLWOX6)/Z'"^RC M(_OH$OHI>WPQJ#K>[.^-/;CM=ZA05HKWMPF--J\J&FEIT M%0@-_-#8($MJUXE7(32O*H45-UC\Q(:BMB]M3Q4P]&0:PFQDSL=^)13K_]#R M3M@,.6C>%?K]%3S6"O'D>L&?Q/PT0M?%8+NE0SS<&?@K-](&@M%G_R7EJ1.6 M_\:0# UO@(6Q&[#,6D'L9G%*5C*/W6@>D!4G9#$?;@=%PQ."N1NF*:1ND&80 M)6Z4A1 D;NK'L"9A(N>:C@Z>9IL9)45!!$'@QH3)$I=E/H2!R\($[D11- BW M7!MXR]O^ ZQ+6TPDT\BG)R/B1";+('/G%%EKP>&>YZ*DS0[2!.)@#FF04JK5 M2-R3T,W">-23N&$8D96F$>F96STL=$,6P;E;ZKT:."2A&L>JAEP.G9EFSS%Z MG-SK:6#]2)_&_AU7E>@T-%A2J3]+8P?4-$HGQ\A^'%];:>@BC&9-?Q]4-H&^ MEU*:@V,7./[/5O\"4$L#!!0 ( !R"6%=029E$P0( ! & 9 >&PO M=V]R:W-H965T^*HPUA',)C5;X1S-U_I1T2YH63)>H=!< M"E"83[VK:'S=M?DNX1O'C3ZPP5:RE/+9;NZSJ1=:05AB:BP#H^4%;[ L+1') M^+7C]-HC+?#0WK-_=+53+4NF\4:6WWEFBJDW]"##G*U+\R0WGW!73\_RI;+4 M[A)"NM9'5#DP**BZ:E6UWW^$ , Q? <0[0.QT-PRMPHBG+"F=F]2&6%L&!;U/!^P98EZLM)8(C:)@3ICN:Z MH8E?H1G!@Q2FT' G,LR.\0%):G7%>UW7\5G".=8=2$(?XC!.SO E;9V)XTO^ M6R?<-Z@6]V;LW43_\ M<$9OM]7;/<<^FU/W9>L20>; &^W&WM$IG>>9%@5"+DOJ/BY61$(W#$ZP,/J( M&IC(P% VYCFZ9K%^4,Q0C-K?Q6I47&86F/&4(AF\YX(BI2R1U>%S+6XB& M?M1-R(A#O]OOD]%-_,$P(B,9^:->;P]O 7XT"FD=^/3DW#KL#:P_](>#&.[^ M^2K0[_3A I)N)Z$E&G1&M,2#3@P7IUY <-"E%:J5FT4:4KD6IFG8UMN.NZNF MR_^F-[/R@:D5%QI*S D:=@8]#U0S?YJ-D;7K^:4T-$&<6=#(1F43*)Y+:?8; M>T#[)S#[ U!+ P04 " <@EA7(:_#<8@# 7" &0 'AL+W=O^G7L-XZRQF=FPI%S/1 MZYJWN)2@^J9A\L<-UF(W=P+G=> +WU;:#'B+6<>VN$+]M5M*ZGE[EI(WV"HN M6I"XF3O7P?0F-NOM@K\X[M2!#<:3M1!/IO.IG#N^$80U%MHP,&J>\1;KVA"1 MC.\CI[/?T@ /[5?VWZWOY,N:*;P5]3=>ZFKN9 Z4N&%]K;^(W1\X^I,8OD+4 MRGYA-ZR-)@X4O=*B&<&DH.'MT+*7,0X'@,P_ PA'0&AU#QM9E7=,L\5,BAU( MLYK8C&%=M6@2QUN3E)66-,L)IQSWBM&UIN!-3S#FL-GT>I*P7U;8GF,]TCA7F;X*O,FO$BXPNX*(M^% MT ^C"WS1WNW(\D5G^.Z9;'F[5=;IP=N_K]=*2ZJ2?T[Y.]#%I^G,R9FJCA4X M=^AH*)3/Z"Q^_25(_=\NB(WW8N-+[(L5G<2RKQ'$!EK*%Q_RU9%T9:2?TGN1 M\;3>QPIA(VHZIA09T";WH% K&I2Z DW3M&_7:V;/$XFAX\ +8&T)):][C>7/ M\HJAG*Q*0V-):(*+4M&ZDA?,H-[SEF9$KXA*N8 O!7;ZS3\HJ;(_3.&QDHA' ME04/Y-CQ"%6*QF9-6%,N?Q9:&#MPST\\] U*IH61,:(W#@V M1I2X>1B3$>:NGT5PAZV@,SE@O]D+ ,N/[)GHMGCDO *Z$)4F_TQL>T5"M1C# MB6,<3Z46TM0-LPS2Q(V2Q/;\ -+8S?(0[C<;NMM,(FSXZ7;;[ZE%\03XO>?/ MK,:6=N,LE-$TQBTZ0Q-9F;9)/#*/]< M)%.X.16+HSIZ!_Y5F Y-8)LDMDVRHQ%W9CT. U:#%52D:U-"'>V/7#D.S,C^#4X?<.+FLJO*U]DA1) M[%L]W-O[T?VK=SU<]F_+AR?S,Y-;WBJH<4-0_VJ2.""'9VCH:-'9JW\M-#TD MUJSHY49I%M#\1I"_8\=LL/\76/P+4$L#!!0 ( !R"6%&PO=V]R:W-H965TGR3V++> MYTA\J=?2,#V76Y[4,RNXYW6>!'XD-"TET8>LGW=R*( M'V\&YN!IPT=_OFE?< M'A4!Y1Y_^N(Q/7I-BE.YB^,OQ9OWJYN!41R1",0R*Q!>_N]!S$40%*3\.+[N MH8.#9A%X_/J)SLN3ST_FSDO%/ [^\E?9YF8P&9"5N/=V0?8Q?OQ-[$_(*7C+ M.$C+O^1QOZ\Q(,M=FL7A/C@_@M"/JO_>MWU#' 7D''6 M0^PG@?8)P+H/H!V M5;#W 797!6P'Y4 M]*Q%EN2?^GE<-IM[Z>:"%'\)^[KS'[Q 1%EZ0;QH16Z]Y(O(O+M D(58[A(_ M\T5*WI!%U0M)?%\%%OL^)Y!7;A[J!^GK/.#SPB6O?GY]/O#7;',U97AM;:DAZY'2Q[5=#UUW_G[ M]WQ7\CX38?J/JM-47%O-+6KQ5;KUEN)FD!?;5"0/8C#[Y2=S9/RJRA@2YB)A M# GC(%@MT_8AT[:./OLHO,#_5ZS(.O^J2\NOAPG,K6/=S6/5CK'EQ[KB]L2>?0DHZV)3_%F1>0Y=.54[X0 M\LI1-5L%=(Y.R*3.:.P8QO/FTTKWO1(ZRS*D+'<:Z1M/C3$]5JTU_.C0\"-M MP]]V[:6CYGF;MFV.F\VM%>S;W)UE&5*6*V1'ULBV3K;W^-#>XXX=_:+1RZN[ MD\YU8]PX1BOOA5.KF1'M(?7-2&=9AI3E"MF\&YC.R8Q,#AF9:#/R^7)Q2=;Q M@TBB_,DB.VIT\A]9;.(D>_-))*'ZKE&5%ZU8'CK M]$SW:U-DII$P%PEC2!@'P6J9-@WY5&A@ON[VG.-ZXXQ-:C>+JUZQ;^(ZZS*H M+E?HFD9U6W.BOII'C^)FKPKKK46T_-Z6 "VS[\4%I;E0&H/2.(I6S[4EB(GGZ$,*7M8.I]A]:"^L([5[UL[TL027.A- :E<12MWAVD=V(ZYZJY2(]B M#J6Y4!J#TCB*5D^X]&Q,D&EC-GV,4S47ZMITUF507:[0;:FYTKQ]+[+/$ZV M<>)E@JS$7=;2ZGI6WZL*2G.A- :E<12MGF-I\UCFFZ%MCDXY46BA5DU760:5Y0I92@U-H94&B]5BL.PB?^EO\V?]EO9&NA=S M*,V%TAB4QE&T>GJEEV.-SU5 H0X/E.9":0Q*XRA:/>'2X;'T8WRZ%]!)HZ0T M2B?4I6D79%!!KA TC=._\EO25+%:3!5%S7SI?2ET8 V4YD)I#$KC*%I]V+LT M>:AQIK)*H8X/E.9":0Q*XRA:/>'2\:'Z@3V=RZJ>TSN_4(,'2F-0&M_3NA9K M*JT;JK=NBBM4F2CH(!PHS872&)3&4;1Z.H]F')UMRA%VSA%VTA%VUA%VVM$Y M+" J+2"J'P%T\OJUFX_$AC52#%O5"_1.55==!M7E*MVI.9F>+I'2=*%ZTZ7+ M#_YZ1.^K!VK*0&D,2N,H6CVUTMZAHW.52ZCA Z6Y4!J#TCB*5D^X-'QHR^"= M#O,):7.&$9T84ZHHG5#;IK,N@^IRE2XUIYK2*>T6VF*WQ)'XOI_(1NYWT4K= MX-#!,U":"Z4Q*(VC:/7D2I^'GFNZ%(7:.E":"Z4Q*(VC:/4Y[M+6L5O&[G0H MGG9S^A!UQI9BH*E>K&_:.NLRJ"Y7Z#[[P:O>V-)2L?O-E6I9.@#JJT!I+I3& MH#2.HM63+-T7^UR3I&RH/P.EN5 :@](XBE9/N/1G[):!.UU*:'.^$#6=J6*P MJ5ZL=]JZZC*H+E?H.N7=YZD:>K0J2XLYTF>PJ9[5^XJ"NBI0&H/2.(I6S[%T M9^QSS7FRH9X-E.9":0Q*XRA:/>'2L['U0W(ZE= *H5U*"6JYM LRJ"!7")JV MHF8.CU;."T6R+MMA'<6WY>J!S[:_,Z_FIF*[:UZQ:I5$ MB:\6;;SUDG6Q&E8@[G,IXW*<]YND6@>Q>I/%VW+=OKLXR^*P?+D1WDHDQ0[Y MY_=QG#V]*00.JU'._@=02P,$% @ '()85]4$#"P_!@ =2L !D !X M;"]W;W)K&ULM5IM;]LV$/XKA%<,+1#'XHM>W#D& M4F=%"[1 43?=AV$?%)N)A4JB*])..^S'CY)5T9(H.HJI+[8EWSV\.QWO'I&< M/;+L&]]0*L"/)$[YU6@CQ/;U9,)7&YJ$_))M:2K_N6=9$@IYF3U,^#:CX;I0 M2N()K$1S]NO$Y>MB( M_,9D/MN&#W1)Q>WV4R:O)A7*.DIHRB.6@HS>7XVNX>L%"7*%0N)K1!_YT6^0 MNW+'V+?\XOWZ:N3D%M&8KD0.$/S[%_K;PGGI MS%W(Z8+%?T5KL;D:!2.PIO?A+A:?V>,[6CKDYG@K%O/B$SR6LLX(K'9P19+BW1\A]% M; IMZ4V4YH]Q*3+Y;R3UQ'P1\LT%R#_!G]]WT3Z,:2KX!0C3-?@89M^H".]B M"I9TM!!']_D$K@O: )_T?G\&$$HA\A MG\"O^3949V; M!UVOT,W+RGX.(2'0GTWVQPYHQ#SD$52)U4PCE6G$:-IRPS(Q_D*SI"-7KV6F M-_-?YX5QF+X/RQ)8+2)N%1%W\,QU;0;#$E@M&%X5#,^8'M>)3(_H7RIS@'&A M<_6@[QZG94#\P&MD;UL,.=CS'7WV^I5YOM&\VU3VYKBP[P/CG&HSTV\-/?;\ MH&&?1@AZTZG>O* R+SACW@>ZR$&G:5E;##EPZD.]:=/*M*DYL0@*L9_Q^P5A2,-O2=!Y; :N&"CB("SN!EH1S"4CQLH=4#PPQ* MY7H ?=P*8%L,0N23CN(*%3> 9G)P5I'0.F25)=A"JT='\00X/%& 5IF"+;1Z M0!17@&:R<"*9VQ3 ]2$FS636$ K'\]VN9%94 9JYPH(E"ZP(A\P&#X_C02G=T LH=4#HB@/-'.>$_DY;1=;[#;9F$8*!=-I MQUL84O0"&;MU*SMMLC#ST+U?I(>@'4C1#@2'7U@P,IO> ;&$5@_(T4*+F>6< MYF&H35Z(1WS<2&V-F(>0UY7:BN,@,\=Y$@U#;0XS;C%%G5#7BQ!2+ >968ZY M+)3*C>"YL&E:6\Q#<-IEG"(9R-BS6Q0L?*#IZN<1$]/:;)55V$*K1T"Q"N0- M/^&-Q*5W0"RAU0.BB PR$YD3^=I>R2 $^\T7&HT8PA[NFNR*="#SDL?)?'WF MFX-YV-Y/< @B@A010=/A4]KJVHHMM/KRN&(_V,Q^3O>P$J">UH'3+,,:,80# MW].G-5:L YL7.Y[4PW![(6-,<,M$C10BI,-"10.PF0:L\];A>C^W(5@'5JP#^\,G MLM7E%5MH]8 HIH/-3.<)/:N]=4/8A6!*/I AC^O0:P>V+"%5@^(HBSDG)T9TCZ-T9S71+,KXW2L8I.CXQKF MQ0I=&PO=V]R:W-H965T M)\M=EHTTXI8XC MIQL_B";+1?G>AV2YB'=9&$3J0T+2W6;C)]]?JS!^NIRXDQ]O? SN'[+BC>ER ML?7OU8W*/F\_)/FK::6R#C8J2H,X(HFZNYR\>;.B01GQ)5!/:>UG4DSE M-HZ_%B_>KB\G3C$B%:I55DCX^7^/ZDJ%8:&4C^.?@^BDZK-H6/_YA_J;'"8E";Q6':?DO>3K$.A.RVJ59 MO#DTSD>P":+]__ZW0R)J#5S>TH >&M"N#=BA 2LGNA]9.:UK/_.7BR1^(DD1 MG:L5/Y2Y*5OGLPFB8AEOLB3_;9"WRY9O_" A7_QPI\A[Y:>[1*7$C];D.DA7 M8;Q__?Q:97X0IK^07\GGFVOR_-DOY!D)(O+I(=ZE>72ZF&;Y6 K%Z>K0[^M] MO[2EWQNUO2#,>4&H0YFE^17<_%JM\N9NV9R:S:=Y!JHTT"H-M-1C)]/P@KQ* M4Y7ML_ N\&^#,,B"/ N']*Q)7GP?U6J7)$%T7T;]$4=)]<9K/PU2\M>[O /R M-E.;]&];96X.4YESQM%RSGSG*/2;D91 M)EE+:;N.1A'GQ%4ZV<:)GZF$G1YU+1H5>WS%MH2XCM-2TYJ77!B8ZLM; MK9UUA*!.[W5!4C-GK1',]<95U*C\AJ5F)D\3G MRSO)3G.670+],FW6RLR9; MN/,9/:9K6YQ#!94M-:U)R851R5K3Y%_R3CVJD+C6,8.*O1<(2:4N2VU MK7F)PKS45MO'9R8P3,&=]%ZQ(L'3OA1KBN(QI_&/CLCT9 M*BABJ9G)TZ#(D*Q/UK0UN>3"/:[T9IBD[KR%\9EF,@8S6==JAP$'[J3WT@UQ MHL8T_;%QF:(,E0ZQU,SD:3ID2,8H:WJ>C:L[%&+>MJ(!C,, UKO>K30#=]+[ MWI8ASMBX1CT^+J^4HZ(@EIJ9/(V"',DKY1:OU'*=MX0!UWFNJ8O#U-65YSO= M_P+WU7L%ASB$X[4[V<9EJ7+<^^*&8$2N&9$C6:J\Z9?:;H2QA %WPG"-8_P, M8[5+^RV'.)[C&@7YN&Q8C@J-6&IF\C0T$^>J_<$ =R0J.A&)>%*U#I$4O-3)ZF1P&?%G8O M^Z9):[E7TA+%F--RKZ2H?8'A/">WM>AA[(%[Z[V"0YS4"8V&8ER6KD!E1BPU M,WF:&062I2N:7FWCB@^%F./36";.>J_=$$=U0B.A&)>1*U!9 M$4O-_&*39D6)9.3*ID-KN>Y;HMJO^U)#F3S/Q>UZ[SPLWW?)L-3,9&CRD^-R M;24J)&*IFLFP9OZVWV4D.;/,_BM6T+F(3@CGK/=HC#/*DI M48[+\)6H&(FE9B:O]E57K.^ZHO*?;/K";=M#0YT\SQ,&MX>5E^".>L]UB",^ MJ5E2CLL7EJBPB:5F)D_#ID3RA6&=WK-N6LBMGQ^>AC_O/!/Y?1RI[V133I7< M[2+[+-^?%1X]_O/9 M$E;_.\,>6XQ4/16_(&[Z;UN0QSU>;4'I8S+'O9PG[(R!#MZ MFAV]$_9PMZ+?B]0?UM0H>"AD/[AI[>%EQ9/C&ULK57;CILP$/T5BZZJ76DWW'(O0BLHDS,G5ZJ-[0+3!A3AS9N6<11[Q2E#!X%DA618'%[P50?I@YOG.< M6)-=KLR$&TOUELT+W=P_H M#A&&ON>\DIBE,G*5UF28W:39?U'O'US9?P-E#X7>(PJ\(.R +V_#5Y!HN&_A MP3G8H_G[TUW^:U)AI;$](E]//8FXV'D M[D^-O,^:] //;[/.%/9;A?W;"JEN//;(ZA:&4EYM55;1]FMUJ:T)!R_T+F>Y)/S"]^!L6.\(D MHI!IG-<;:1I1][&PO=V]R:W-H965T^4=B'2 %7KPR0$[?;L)A=BU;$SVY#V MW\]V0D9I0'O8"_&U[SD^Q[Z^I T7+[($4.BUHDQ.G%*I^LYU95Y"A>6(U\#T MRIJ+"BL=BHTK:P&XL*"*NH'G)6Z%"7.RU,XM1);RK:*$P4(@N:TJ+-ZF0'DS M<7QG/[$DFU*9"3=+:[R!%:BG>B%TY/8L!:F 2<(9$K">.-_\NUEL\FW"3P*- M/!@CX^29\Q<3/!03QS."@$*N# /6GQW,@%)#I&7\[CB=?DL#/!SOV>^M=^WE M&4N8[3IM=PU.[+J">H1"[QH%7A .P&?GX7/(-=RW\. ] MW-7^^T,(^D,(+%]X2DY;PHBOM:_.]S5BH(:RQCE,'/VJ)(@= M.-GG3W[B?1WR^9_(WKD.>]?A.?9LB1M=20H$P73P#EMX8N&F&^PRWT]ND]3= M'5KXF)5$7I_S3EG4*XO.*KLGC.B2+M"&\^'R:O'QH;1P'(8W1]H&TJ)Q')R0 M%_?RXK/R'KG"]&^E#.F+/QY=['EA>*1O("VZU==[I,\]>-^FM_[ 8D.81!36 M&NB-;C2/:/M5&RA>VR?_S)5N('98ZA8/PB3H]37G:A^8+M+_:61_ %!+ P04 M " <@EA7I'W!E[T" =" &0 'AL+W=O2D0)*05B).*QFUJ5[D8QUO GX M06 K>FVD*UDR]J [W[*9Y>B$@$(JM0-6CPU< Z7:2*7QI_6TNBFUL-_>NW\Q MM:M:EEC -:,_22;SF36Q4 8K7%-YR[9?H:W'))@R*LPOVK:QCH726DA6M&*5 M04'*YHEW+8>>P V>$7BMP'NIP&\%_DL%02L(#)FF%,,AP1+'$6=;Q'6T8XC(%M#!K+ &)"17H(YISJ##)T.>=6F "!,)E MAFYD#AQ="@%2H-,V^$Q%WR\2='IRADX0*=%=SFJAPD5D2Y6AGL=.VVRNFFR\ M9[)90#5"OO,!>8[G#\BOC\L32)7<-7)O0)XTBQY([-'5/V.JG_,/5[4546)6H<95$P0.;C,&HO06.B3;Q.' MX\G4C>Q-G\G1B5[+Y'!*?^J$03?EHV*#KMC@:+'[;0C];^3"$<0=A?!3"'9.8HNHQBAZ)YPF, M#[Z)ZX03?_H$P6%8Z(5/5TOROZBF-KMW%NN+\SOF:U(*1&&E=,[H7-GPYC)J M.I)5YGA>,JD.>]/,U?T-7 >H]RO&Y+ZC3_SN'T'\#U!+ P04 " <@EA7 M)[8KLKD$ 8' &0 'AL+W=O-DR)SLN?L@U@$)/:<+DU%DKM?GBNC):0TKD!=\ T]\L MN4B)TD6Q<-W)10YLPF^;T[,9OPK4HH@SN!Y#9-B7B^@H3O MIH[OO-RXIZNURFZXL\F&K& !ZOOF3NB26ZG$- 4F*6=(P'+J7/I?0HRS@+S& M7Q1V@0)1"J3(/KC$>:0))F2[L=_I:A3M9D%[E^_ MJ'_-D]?)/! )N\-",J ("=3I))S"(DB MLXG@.R2RVEHMN\AAYM$Z?"?I4WORL[WY?A.C3SY\GKM)-9P)N5#9S532#7VEFC&XY4VN)?F,QQ,UX M5W>YZC=^Z?<5-@HN8'.!>MX9PA[NM?1G;@X/(=+A?AZ.6\+#]X=[AFQZU5/H MY7J]5_2^4D85G-]HWC&Z9HJP%7U( %U*"4JB?VYT?72M()7_MK$OQ(-V\6SE M^"(W)(*IHY<&">(1G-DO/_D#[]E_\=(#3VJRM"2V(-A,,*X?!T",_T M)B@$,-7&-AV[AHJ3CH]?!Q^N;^?33_ M/U1<=FBWY+GEZ;JN;(K@/*JEIH M2ZU)K3;VV#_E5,56+;]5M="66I-L;?FQT?B^>ZJ6,@=3=70P5T&UL MM5AKC]HX%/TK5K9:M5([L?,DLQ"IPVS5E78E5/KX[ D&K"9Q:CLPW5^_=I+) M TRT5.$+V,F]AW.OCY.#YT?&OXL](1(\9VDN%M9>RN+>MD6R)QD6=ZP@N;JS M93S#4DWYSA8%)WA3)66I[4 8V!FFN17/JVLK'L]9*5.:DQ4'HLPRS'\^D)0= M%Q:R7BY\HKN]U!?L>%[@'5D3^:58<36S6Y0-S4@N*,L!)]N%]1[=+QVH$ZJ( MKY0<16\,="E/C'W7D[\V"PMJ1B0EB=006'T=R)*DJ492/'XTH%;[FSJQ/WY! M_U 5KXIYPH(L6?J-;N1^8-Z"4@[T*"TR0X_S?!;1+/ MDA9J[>1;D*NHUTW8&Q7W9?T(7K]Z UX!FH//>U8*E2#FME3<]"_82;A M7."Q)L4=<.%;X$#'-:0OQ],?2:+2497N#--MU9&V+4[;%J?""$+"RUZP3A!V+%O_^& OB'J>B)P 8M<-L6N&/H M\>I"W3O.A'&!:[B@@M-/CT,<1AX*YO:A7Y(A"H:AUT8-N'HM5V^4Z_LD*;,R MQ9)LU!Y6S4@HKI\2BCO.&)?TW^J"B7<-[?<8O?.A$[DGQ UAGA=YT,S<;YG[ MO]3E"^KRST@X$7).J1JB_)E[H<=!RS089?J9"-DQ-)$;S;]6^A.!#4H-VU+# M&^W^<,H63 0V:,&L;<%LVMT_.].<#^&9,L^C/ _!P*S,J.4:C7)=LJPH)>'C MZAS%N'9I)@(;E(M@]\Z&-])G SQ1%Z9"&[:A9UW0M!IM\/KR0V[@ABH;ID(;%MHY!^3>2I^CGN3J-DR$-FQ#9TK0 MN"NY7I_G'@,Y/O1/]6D(@^XLNJ#/SHJ@<2_R-U'_A_8LW0":J74[$$W73'04 MZ.IEF@AM6';G:U!P*[5.ZGBF0ANVH?,\:-1/_():PW,91A$\%:LA*G0ON&;4 MV1,T[D\^E#RGLN2DHKNESWILICD*=/4B380V++MS.BBZE58G]3]3H0W_G'<& MR!EU%M=KM<$+!D_6 )UHU12%?/=$JW;OM$4?=?V#^8[F J1DJ]+@7:BTSNO3 MHWHB65$=P#PQ*5E6#?<$;PC7 >K^EC'Y,M%G.NT97OP?4$L#!!0 ( !R" M6%=78P2! 00 '@- 9 >&PO=V]R:W-H965TN/KJOR'91,78D:*GRS%;)D M&F_EDZMJ"6S3*I6%ZWM>[):,5\YJT3Z[DZN%:'3!*[B31#5ER>3+-13BL'2H M\_K@GC_MM'G@KA8U>X('T-_K.XEW[F!EPTNH%!<5D;!=.I_HQQL:&X56XF\. M!W5R38PK:R%^F)NOFZ7C&2(H(-?&!,._/=Q 41A+R/%O;]09UC2*I]>OUC^W MSJ,S:Z;@1A3_\(W>+9W4(1O8LJ;0]^+P!7J'(F,O%X5J?\FADTTRA^2-TJ+L ME9&@Y%7WSY[[0)PHT/""@M\K^#^K$/0*0>MH1]:Z=_??2#O"*_(XTXTBE4;M7 U,AG+;MZO?]VM[U]8_P'J*Q)X MOQ'?\P.+^LV\^BWDJ$Y;=?]!Z,&=]=2-*[ V* M==55;;!("Z8Q &NH8,NUU?O.9-R:-!UCO_+#.(X7[O[4+8M4DM)@D#KC#0?> M\$U>44&E,0/W^"=PVW90(.\+-J6Z+CA(*W-G-CJAH4'HIR-FBY3GIYZ=.1J8 MHUGF.RFVH$P+9$4;XUQ4"AL.KY[(%NP)%DU XBQ)1K13H23P$CML/,#&\P%N MI#3AK85LBH4!\D%Z&2 3MZ -BT3 M)&&;O6ELB@B)I&O,9&MTDREH&&8C4(M0'%U(WW0 36=!']DSPM7LA:T+L)&E MDT7#)/1'9!:A**5VLFP@RV;)[@'+J0&B=DR"(<2I;:_^;+HZ3+.2W&B1KZZ8 G.+VR>--E@ZR;,QGE3I)@7/ D[E*WRKU39-K4R6- MK.Q\=+*RG_C!F,\BE<47]I@>!QV='2:KZT;A$Z6(V6W[]O86SGI@%H];CT4J MH/&%,J;':43GQ]%7;(S25+"5+)B2Q=FXA=NDDC2Z0':<.W1^\'R6[=G0RF69 M&C2<9-Q4*H@O9MQQMM#YX?)-[T!:J:;3(0J\<3>V29TVG'.JXQ"A\U/D46@S MZW[N,-7;.CTII+Z73#9V*I9YV!U'K.[)L=A\D_S%Y!.O%':,+>IY5PGZ*KMC M?G>C1=V>E-="XQ!I+W?X:032".#[K1#Z]<8/K=5_4$L#!!0 ( !R" M6%&PO=V]R:W-H965TJ'V3H&+P@"3MOQ]@QTU= MFE5;7Q(#YYS+N5SC.]QQ<2/7 K=EI3)D;=6JCKS?9FOH<3RE%? ],J2BQ(K M/10K7U8"<&%))?6C($C]$A/FC8=V[E*,AWRC*&%P*9# OX3F G#YZ1 M<7+-^8T9?"Y&7F V!!1R912P_MO"%"@U0GH;OQM-KPUIB(?/>_6/UKOVB)XC"XX M4VN)YJR PL&?'>=G1_B^3D2;C6B?C4ET5' !U2F*@W"%YM9Z+#:;HYQ6G%.F7=Z=AOURU4$?KN:.9^_!,5CB'D:UALAV@-.D]!,U<2H..TOPQ*$NR>Z4'II/6='+4=%.!$NFO)JJ: M^MSMZU/7K?Z>*<&71+D24&LG!SL*@T'82&PO=V]R:W-H965T]S7V\7@MY),J #1Y+GFE)DZA=7WENBHMH*3J0M10X9=VV7)6 F58J(B$O*)<^U?W?B>"; SOC-8JYTV M,5860CR9SI=LXGA&$7!(M4E!\;6"*7!N,J&.W]ND3L?^!82]D/,8;E2-4UAXN!I4"!7X"3O MW_FQ]_&(A4%G87 L>W(/YD!E((G([?+T"6Q3Q#:%.7RKQ/>]T=A=]8###AP> M!2,K[&.U4=$.*XSCL)\5=:SH+5;4QXKV60CK9\4=*WZ+%?>QXCV6'XZB?M:P M8PW?8@WMQM,%8*',-<@^]' ?/3R$'G7HT5'T@]"4D[S19GMCM6!E4Q)N#BZI MZ<8>B3XIHWTI@^C05KKLM%P>U7(+2A%6UHV&#"L%K@(HW4>_W*.?^]ZA'^Y[ MKX7-.\I_K5SM G!&%XPSO>FM5-[^80K",/A'A+M3:,VE]97*):L4$G*,\RZ& MZ$*V]T#;T:*VM7&UL MK55A3]LP$/TK5H8FD#J2)FE'61L)4DV;Q 2B8_LP[8.;7AL+Q\YLIX5_O[.3 MA@*A&FA?$MNY]^Z]R]D>;Z2ZU3F (7<%%WKBY<:4I[ZOLQP*JH]E"0*_+*4J MJ,&I6OFZ5$ 7#E1P/PR"H5]0)KQD[-:N5#*6E>%,P)4BNBH*JN[/@#C=X9 M$^MD+N6MG7Q=3+S "@(.F;$,%%]K2(%S2X0R_C2<7IO2 G?'6_;/SCMZF5,- MJ>0_V<+D$^_$(PM8THJ;:[GY HV?@>7+)-?N239-;."1K-)&%@T8%11,U&]Z MU]1A!Q".7@"$#2!\ NC'+P"B!A YH[4R9VM*#4W&2FZ(LM'(9@>N-@Z-;IBP M?W%F%'YEB#-)*HN"&?PM1A,J%B25PC"Q I$QT.0#N2Q!4;M"+@"K12X8G3/. MS#TYG(*AC.LCC+J93[H=/(4-XW\'#QW ?Z](6)VR+$SJ^Z$W%F3*=<:DK!>37V5P; MA2WYN\MSG23N3F*WZ:DN:083#_>A!K4&+WG_KC\,/G55X#^1/:I'U-8CVL>> MG&69JF!!>-,$=8MDE5)8(E)*Y7:F7!+9=@VW7=/9"76JH4MESYIU$HU&P[&_ MWG7;%12/VJ!'+N+61;S7Q>4_B*L9!CMY3^+XJ;CXF3@,"KO%#5IQ@]>(:TM] MWZ5R\$Q /]Q54,OW[9L>T88:L+O,MLZ2"8K[BW+L M)\UL0W4YWY]UVZ<7#WW:(VF=KFM/[65[;87\GKK! U1T !D !X;"]W;W)K&UL MM5E=;]LV%/TKA%8,*=!%7Y;C9+:!Q)*P#.L:).WZ,.R!D6B;J"1Z)&4G_WZ7 MDB);ML+9*?MB2Q3O.>0]_+B\'&\8_R:6A$CTE&>%F%A+*5=7MBV2),YEO#*%[98<8+3RBC/;,]QAG:.:6%-QU79'9^.62DS6I [CD29YY@_ MWY",;2:6:[T4W-/%4JH">SI>X05Y(/++ZH[#F]VBI#0GA:"L0)S,)]:U>Q6[ M0V50U?B+DHW8>4:J*X^,?5,OM^G$ G+1/6+-DU= MQT))*23+&V-H04Z+^A\_-8[8,?""5PR\QL#;,W 'KQCXC8%_+,.@,1@3K$$D_'G&T05[4!33U4LE* K1C;$EJD<.VD8;^IV;U7V'WT$?B6 D5%2M(>^U!O?ZFQM\$3K3N\ M%W?<>%K ![(Z1[[S 7F.Y_>T9Z8W_Y3(<^2XE;G7UYWO8X^^CSW6FX M\XXO_79H^16>_Z:A]?%IRG*B8LFM5DI'!-'GOHA]@NFI?/1,,!?(1WF]X;HCE.+GOBD]TR*=JJFQ M9D4FFQ4; NO(?M'*?J'M]#W,.42>X&S1K^3%X?H&YXR]B7=,I?"PDC_, MRU:,2ZT8UTG"2UBRZJ,-X;!F/<+F(VS@TNER>=![UQ]X^W&"EOM4AQ]%&9FD MC"\/9Z7CC;;Z=5SN.MLSGJ-U^FVQ!K\R#G%W[QE-:WWJH#>*%AI%BXRBQ:;0 MNJKNG-S='WB^:L!-B6X2+32*%AE%BTVA=47WMJ)[^LVLE$*"VFH[6Y4\6:HX M+]F.A%ZIO8.5S/,N#F,"/?7)(GH'BUD?:V24->YAA1UP-VKI.GZ;S'"UI^?I MW:&S$006E/6EK6[T8"?/+J/YB__IJ%?'U+TSR6BVPA1:5]!MOL+5)RP><(%^ M9RH>G.&,PBFIH+A72I.9@)E1M- H6F04+3:%UI5WF_5P@Q^Y.YI,$LR,HH5& MT2*C:+$IM*[HVX2(J\\'O#$)V:#N;AI!<+@]&DUL',49&>6,3:'5ZM@[MTYP MDEM4]X,"51G%^I:@+6WO(*^KF[>]\AOW:N;VE(?N553?,&[AZPO/CY@O:"% MVCE0.><7,.QX?8=8OTBVJNZ\'IF$8V;UN"0X)5Q5@.]SQN3+BR)H;W*G_P%0 M2P,$% @ '()85]_E->H4" >#\ !D !X;"]W;W)K&ULQ5OAI#<)V["[)76+HUKNUR37)]F&W#S+( M,5= +I+M9-<_?A)@@PR63?>R]$,#6.\G\7OB/7Y/XFS-TB]\3JE CW&4\//. M7(C%NUZ/^W,:$]YE"YK(7V8LC8F0I^E#CR]22H+,*(YZV+*&O9B$2>?B++MV MDUZI(@OXYBD3U7DS4\+IA$5_AH&8GW=&'130 M&5E&XC-;_T:+&QHH/)]%//L?K8NV5@?Y2RY87!C+$<1ADO\ECP41%0.)TVR M"P-\K(%3&#@[!MC98] O#/J[/?3W& P*@^S6>_F]9\2Y1)"+LY2M4:I:2S1U MD+&?64N^PD1-E%N1RE]#:27XSF*A\-WC,:&WUDB9ASY"4!#1KL)V9[YY"]:[8?&^Q[DMDMO7A#[Q4V M KZGTR["HQ.$+>PTW8_9_)8NNLBQ]IJ[_\W<,YM?^Z*++#LSQP8RG.U<31XT^07(V1;O^1@@PQ,Y<'5A6.I M?V>]597Q>K-Q0S,/:&@:EX,MEP,CEW]F:8P&;\F*IC(MYW2B@ B*9B1,T8I$ M2YJ1&[ H(BE'"YKF1#?R;.RN+<\YV*A"8-_NVJ,=FAM:#;MXL,,RT, TEH=; MEH=&EC^2QS!>QLAG\53^%* %>9*O3(I*7X:6)AYSP''EIFS]AB;&+ML&!T@P M#PA,H_IT2_7IX>!01&Z_$N&;.#8BM9VKD&!N#C:L>']@6>/=P%%OY=@#"V]; M:02.M@2.6D17^BBG:,@/QUJBD*>T CT\@<;\DB/;[HZ='=J!QJ71;ENE MIK",Q-\G*?790Q+^(ZK.M/^7K8H%./;>A!C4_GO=2JMEFL MWN;LDA4)HXS.&4O1;"F6Z4:W'N(75)T6:%7:!OU&?H]LZ$&-3^>W5*FV6:9B M"]OHAJ99\5_F#W1'T@FN+&6W;=;=N3M6E(LP>4"ITHW\9%,ADM*QT3F@ MJAL4S2W0JA4LJUZ5@^I3)[V4Y[99G[>/>'=KUN@)4!D.BN:"HGE0:/IB5BGL ML?7"$0^#2GU0-!<4S8-"TUU9%@ZP65?K$6]_Z< ,T]HAH*6# [?HY*6#1O*? MHU: RUH!/E0KV!OYJE>OL@=H-Q9ZC]1?9L6%Z]DL]&G:Z#;0R@(HF@N*YD&A MZ:XL*POXI2L+&+2R (KF@J)Y4&BZ*\O* GZ&I6W<(-]Q@[R% MIA-?EA;P_[P.CNNKT@.[.SC==0ED1<(%1?.@T'27E-4(;*Y&Y*%I44E&AE<$ M,Y2=I>'&6 1:6P!%\Z#0=/[+V@(VKZ1_H@*%B<]B;9E29*\)B/CSD*[RU%)U MD9C+H:C-?">FS0U%S[HV'.T^&J"U E T#PI-=TU9*\#F6L&GW8+S)E.$,Y2P MM[]>7MYL7#=5&W'1R/H1D21 :KNL?-GFQ>6QO"Q!"I\>2C/U]?9:@@&M(("B M>5!HNLO*2@,V5QHVM>LLJ*VS;%.HGKT/R;CA(1GL,@Y:*0!%\Z#0])V>9:7 M,6\!N*M'JFUTRE8.>-4E/ H#Y1#NDZBQUE;TINW(JM6S)N8QM=ZR"2KWH=!T M?Y1RWS%KX38[L\Q0K;?1VK5]%'A46Z5I:#4^K2W10(U,)[&4[98 M#6\>36L_@&IX4#0/"DWW:V5?^DMK> =V9SKLUG38O>G/H>&=4L,[9@W_/0LY M!:1YL61B[K@UZ:#Z'0I-)[W4[XY9OQ];2SX LU\HF@U;Y\ M][:!HW/2W9H=G9- -Q> HKF@:!X4FN[7L@#@O/3F @=TSVZO;S\:./8YSWE]; ]77#S*):4*7N(H MD2-OJ51ZT6S*8$EC(AL\I8G^,N@*#SD7>)+JYPWRRP,WYE="6WGL&8,N/\T;Q\#4>>;Q#1B ;*B"#Z MYYE>TR@RDC2.IT*H5^HT"[>?-]*_6..U,3,BZ36/?F.A6HZ\O@0&/I/T/JV*N[T&02<7C8K%&$+,D_R4OA2.V%K31G@6X6( M[ER1 M1?F9*#(>"KX"869K:>;!FFI7:W L,5&9*J&_,KU.C:>*!X]+'H54R!_@YBEC M:@V?X"9.([ZF%.QWF&0B6&K;81*11,+I9ZH(B^09G !+X)9%D?:P'#:51F3D M-H-"^U6N'>_1/H!;GJBEA)LDI.'K]4UM26D.WIASA9T"IS1M0,L_!^SC%CQ, M/\/IR1FD5# >0JK!@UP20:5#5:OT7,NJ:NU3901],AD1PC6/=9E(8A/M4@B2 M+*A.706S-6S/FY"U';Y<$1'"[S]KD?!5T5C^4>>[7'^[7K\IUPN9DH"./%V/ MDHIGZHV__PYU_1\=UK5+Z]HNZ>.[+)Y1 7P.=),*TJ9"NDF%U*;"W_:W#GTN MOV/EF][P/,;#YG,-I$X)J>.$=$\#ODB8]7$>T3JU;AD8UI0("0ABDWC0A9"L M7=G0+<%UG8(?$I'#^TN'V7JJ"'FPG1KTQ3S3\\*7/#6CQHDG=:;D&A':@,MO_J7=HK4?>V=&=DOL?:_<;WU/\"Z06G=P!V)Z61R;AH[ MB[.XJKF4K 6/(LTS819L,C_0)FG&K#,A5S+8RAB_@3KU28+\BB/\(YL!G\]U MY26+H@!M_>\MQ4+J$2T ;=$5) MTAE7M4?! GH@6H7PU^'J[PM714S(R0QYI4@@SYJCR2RBH#=O,,]4)B@L=*TH M.&4;(CRKQ=7:"5R[XYN_/= J5D%N6BF@;;P40J:)7X!QXT%0-83BPE31"G)S MPIM:][Y>7>AXU:Q18U^Z5ZR"W+1R'.<=$-(N,AYP^Q#=H8HYT/NI0SL)^Z@' M=SQYRDC$YDQ[\ZU%-?4"?_:G/S/8+DX^&]K7SYY09Y]>: MZD:%[)[;96#%;-C-;+=%MB;EAJ3 3+1Q ;$$K,0L\0KM*!& M^U]8FUO72S$5"WN))L%N>?.;IG*TO*B[S*^GJNGY+=\M$0NF 45TKI?ZC9YV ME,@OSO(7Q5-[637C2O'8/BXIT7M$,T%_GW.N-B]&07E].?X'4$L#!!0 ( M !R"6%?ST].EEP0 $(: 9 >&PO=V]R:W-H965T/ MHA197Q&:C4!>;(DZ]_ >7NJ*EYR?"'U@"<8%!K7GAKMTE_"R05_.]VB'[S'_NK^EXDYO6.(TQP5+20$HWBZT:W@5 M0J\TD(@_4GQBK6M02MD0\E#>W,0+S2@]PAF.>$F!Q-\1KW&6E4S"CV\UJ=;T M61JVKY_9/TKQ0LP&,;PFV9]IS).%YFL@QEMTR/@=.?V&:T%.R1>1C,E?<*JQ MA@:B ^,DKXV%!WE:5/_HL1Z(EH'@&3]*CV957Y8K[@BP4^DX(G#(1%C.,1^V#:?C9A MKXMQ:0;'?!Z(_WE\ R?@:F85HC_JRGS;]$_!(84)J;8W+^7^_A?^Z] M,QA6,U,LR6>]Y$Z"*+[8#*?$-:6HV&&1/3C8/($V[A8]R>;K$Z(Q^.N3H 0W M'.?L[['94?5OC_=?9LPKMD<17F@B)3),CUA;_O@#=(U?QD*CDBQ0218J(NL$ MT6Z":$^Q5Z]['9RH%<2Q<%1,KF0JOS?'I7#"=.?ZL3W.(RAHF%X7%0Q1CF', MC"XJ'*(LZ!AF@^I(=AK)SJ3DFT((Q8"C1[#!!=ZF7'S@(K(KTG]&D\RJHG-: M7IB.Y_=D#T'0G<&>ZB%HYOI.3_00Y/G0']?L-IK=2^.,Z:D,HDJR0"59J(BL$T2_":*O+&/ZPU?9 MLGN)8XAQ9[WD$@PQI@5[1.$0!&>N/9XW9HW8V;18E&$&Q.I-+#'I ^9IL1O3 M.4GRVFFGDBQ0218J(NM$ AKGA;GQQMFC=D!1')6R!4K90E5LW5"V:BRH+(?4 M5.WWVK8LJY=%1E"6X9N]/#*"@E9[<5&/SA#FV_"%915NXZCN2;)73T:5;(%2ME 56SEU>\P9:-Z_5+E?4(RK:M63^O#%&FX=BPGU>&,-@I MCRK9>FM//,=T)P\CF!!T*'BUZ=FT-@<>UW*;O]>^@E=K.-(>E ;PGASS=E M!\VQT?)?4$L#!!0 ( !R"6%=/9=([40, )H+ 9 >&PO=V]R:W-H M965T MM@]#/S#2V2)"B2I)V6U__8ZD(BN-HC6K_4$FJ7L>WCT\GFZ^$_)!Y0":?"EX MJ19>KG5UYOLJS:&@ZE144.*;M9 %U3B5&U]5$FAF007WPR"8^ 5EI;> !>[A3?R'A=NV2;79L%?SBNZ@17HN^I&XLQO63)6 M0*F8*(F$]<(['YTE,V-O#?YBL%.=,3&1W OQ8":_9PLO, X!AU0;!HI_6[@$ MS@T1NO&YX?3:+0VP.WYD_V!CQUCNJ8)+P?]FF+TD[?$)RJG M$A1A);DKF58GN(CC/W-1*UIF.-\;7#/.\N<2O7>%@N5PSV>F7D""N# MJQ''?0H-\KU6(4U^#2>?J?:@;9\HMJL56WV'\EB>CM6;KJ% MIE.'7JXYLV<9,9Y..A?;*?!#5LF@CZ]5P.]T,P7(C>T*%=X##,0U-NUJVWB> MVW[+WYN[KO6:R@TK%>&P1FAP.L5[+5TGZ"9:5+8WNA<:.RT[S+%Y!FD,\/U: M"/TX,1NT[?CR7U!+ P04 " <@EA7)^Y8CYP$ !1' &0 'AL+W=O MY. .>>QCX_]AA//CX3^8#N, M.7C.LX(MM!WG^RM=9_$.YXC-R!X7XLF&T!QQ<4NW.MM3C)+**<]TTS!\H8(<\1_3?&YR1XT*#VJGA/MWN>-F@+^=[M,5KS!_V M=U323D1WGS+5EH1CDB MG.&8EP@DOI[P"F=921+C^*>!:FV?I>/Y]8G^M0I>!/.(&%Z1[,\TX;N%YFL@ MP1MTR/@].?Z*FX"3C%6?X-C8&AJ(#XR3O'$6(\C3HOY&S\U$G#D(CMS! M;!S,H8-]P<%J'*R7]F W#O9+>W :ARITO8Z]FK@0<;2<4W($M+06M/*BFOW* M6\Q76I0+9)H*/[Z\QT^X.&"PH20'*U)P*E+'Q"#X#JRJ[C%EX!=PLOL4 M8H[2C'T6;0_K$'SZ\!E\ &D!ON_(@:$B87.=BW&5=#UNQG!3C\&\, 8+W(J. M=PQ$18(3B7\X[1],^.MB/MI),4^3F#&VW%&]1M;/)IET+?_TF3,$WCG/V MMRSK-=>67'GZ!K?)%-N4I8J!(6*8+UDF.WR;&G MZ,OOA*-,"':5$.G6J_W=RK_\U7A:FJ[E6\Y9_M. MT#>+QF:N:5EF1^L%Z[3!.I/!/A0IQPE8<\3EL4ZZOW;!J82%*F&1(E@O!VZ; M _>=U,!5F1R5L% E+%($ZR7':Y/CO5$-:G^GM\T=:/H#-9"80<=WO($:C,W< MP+$#.%"#L9GC.K9IR-7 ;X/U)X.-#E2\+LN"G/1[[4I3"0M5PB)%L-[D!^WD M!^\D X'*Y*B$A2IAD2)8+SG0Z%[JC3<*00,XWY0PL+S!#E])S#SH#>0BE%C9 MKNU; QV0]>EZAB/7 7A6PL#):*]%C9+&B '\#!YFZYDTWDG$:]>=4EJHE!:I MHO6387;),-])&1JPJA2II(5*:9$J6C]%74$')TN2EZB#-=[V-K2'XC"V@M 9 MO25(S$S7](VA.HS-+"B*D OJT%5(<+I$NDV3),,@0HR#CRC??P'7FU(NI'%/ MHEZ]!%720J6T2!6MGY2NDH/.>ZF$TB)/*2U42HM4T?HIZ@H].%FJO$0EW/'^ M]VQCJ!(2*].TAB(QMG)\WQ]JQ-C*#^P+A03LRB8X73==LQ2!.Q2GFS26!CKI M_NHUIY(6*J5%JFC]1'0E'?3?2Q:4%GU*::%26J2*UD]15_C!R=+E);(0C/[] M@YX[5(6QD0.#H2B,C43U,=0$27?&F;[4<>IG1R2B7-A69U,,Q.10\/J_\+:U M/?^ZKDY]!NTW\&H%)>UA>5Y6'4*^:'U^5=]P MLJ\.:!X)YR2O+G<8)9B6!N+YAA!^NBD[:$\1E_\!4$L#!!0 ( !R"6%<2 M.0+U.P, .<+ 9 >&PO=V]R:W-H965T2L5P;S@3<*:+714'5TPUPN9UX/6^W M<,^6*V,7@F1*%U"#ADQC)0_&Q@"IQ;(G3COYK3:XZTP/WQCOV]BQUCF5,- M4\G_8;E93;RW'LEA0=?@? P;/ 8U8' J8%@#7.A!%;L3+J6&)F,EMT19 M:V2S Z>^0Z->3-@Z>3 *=QGB3'(/&Q!K( LE"S*5PBA,G48GS(I,W?&@-'G3 M;)%KK;%ZJ/.V&?UISGX2]9^&S;G@*&9Y>P:,.,?I-U?0=7_\E57-8-.3? MZ[EVZU_;LE_Q#]KY[>5XI4N:P<3#VT^#VH"7_/E'+P[_:I/^G&3I.KK@K[P&R2H3\ZF& M9R([T'#8:#C\=0TO"3R6^.!!3HPDH3\8':E^BE':&*?ZS!& M38YT.\DJ;;,:^=&AU:S%:OC6CQNK@U!'3:BC7RHPOGM<+W32\&^MSZ' M-Z.?O>O%_G$=M5A%L=\[TJ/3Y9<6TIG(*G6#O4X'=5JZ%E.33*Z%J9J>9K7I M8J]=\Q;\;UZUP+=4+9G0A,,"H:$_PHI755M938PL7=\TEP:3XH8K[,1!60/< M7TAI=A-[0-/;)S\ 4$L#!!0 ( !R"6%&PO M=V]R:W-H965TPQ)RLF9G)[7O<^^D[ MO4PR[7]ANU\;!9"MM9%\'VP).!75/]GM\] (2))G I)]0.*YJXT\Y0TQ)!TI MN07E5ELUU_!6?;2%H\(=RMPH.TMMG$EGN$&Q1LB5Y#"1PBB;)VTA3 $3OSTJ M#64K0&0('Q>,KHA+JH;3&S2$,OT*3H *N*.,N?%1:"R,&.S!#5Z-4K)[QTH&W MN]+6"B[A$^5NGOA@M>'6(->/;08KD/-V$/=U7>J29#@.[.>C M46TP2%^^B ?1FR,V>[7-WC'U](>[LN%.-MP1+M?"M'%7RG%5(NXKWJ1)?-'M MC\)-"]%Y373^"Z*_E?@.S U1!FR!(SQ<[:A^O/1E1;\V MWO]?*J[_#VP.:IN#/ZPX.YZA,/9N;V.OU"\:11=U>Q?M-3>LF89'F::M)!KP MD&S>N#NB5M3R,,RM6-0= MV@-4U;M1=8PL_5V]D,9>O;Y9V*<6E5M@YW,IS:'CKO_Z\4Z_ U!+ P04 M" <@EA7ECJ1]P8# #!"P &0 'AL+W=OYCV8)(+L9K$F6V@ZZ^? M[80,6C>E+3P0?]QSCGVN9=_!AK);G@((=)=G!1]:J1!EW[9YG$*.>8>64,B9 M!64Y%K++EC8O&>!$@_+,]APGL'-,"BLNR3(5:L .!R5>P@S$37G%9,]N6!*20\$)+1"#Q="ZJLZW9&@Y:D&002P4 Y:?-8PARQ217,:?FM-J)!5PM[UEG^J] MR[W,,88KU/OQ%5],,Z[_T::*/?,M%*^XH'D- MEBO(25%]\5WMPP[ ?0K@U0#O(:#W!*!; [J'*O1J0.]0!;\&^(<"@AJ@DVE7 M9FFG(RQP.&!T@YB*EFRJH=.ET=)@4JB#-1-,SA*)$^$UK*%8 5HPFJ,Q+023 MN>9R$2)%8RT/C*-/S91L<#E_$H' ).,?Y=3-+$(G[S\.;"'7HUCMN-8>5=K> M$]I=="E94XXF10*) 1^UX\];\+;TH3'#VYHQ\EH)9U!V4-B@QQ7PSW3=MZF/GF;^K0='D$LU8WP/2^[S<'J:K[N2P[6_KE"OR[F7(__ M-AV>BK]GYE<7;I^7.(:A)6]4#FP-5OCAG1LX7TR9.R99=$RRR3')IDTA0O$UX+*^+4[1DE'-3CBO&0#.J-W =NLZYHWX#>[V; MOU;IE^;O4-7),56G!E77VU?=\]UO?/=?ZSO.*1/D'JM'W&1_1>SO+NG,Y+YO M,,P0%SWFZP4F7Q_S>::X:>O&7WF<@\;6X+6VDKS$A,GR2IA,#1YM[J&=ST9$ MST9,GHV8MF[OI>;9.R6&O+J7NACDTH]5(:I'H1EMZLT+768]&!^Y_;%K&(_< M_J0J)__35\7M)69+4G"4P4)*.1U5#K*J8*PZ@I:ZP)E3(=\5W4QEC0U,!_@-02P,$% @ '()85Y']41V[ @ NPD !D !X;"]W M;W)K&ULK59K;]HP%/TK5B9-F]22%P7:A4@M7=5* MJU;1/3Y,^V"2"[&:V)EMH/OWNW9"!EV(5BE?B!_W')]S?;$=;85\4AF )L]% MSM74R;0N+UQ7)1D45 U$"1QGED(65&-7KEQ52J"I!16Y&WC>R"THXTX 3]M7R0V',;EI05 MP!43G$A83IU+_V(V,?$VX!N#K=IK$^-D(<23Z=RE4\I+G^L\[ &0IQT0U(#@)6!T!!#6@- :K919 M6]=4TSB28DNDB48VT["YL6ATP[C9Q45!*G)JIA(PLS;YR+MKT)3EZKV9KD/;XD[)#>.4)XROR!P28!NZ MR"%R-!BWIKD!;OD706= MC(]0#DCHG9# "\(V0=WP:T@0[EMXT"$G;/8RM'S#(WS-)GSFK>GM1)OCXD*5 M-(&I@^>! KD!)W[[QA]Y']JL]41V8'38&!U:]O"8T7^+[,#]KO)]U;_*!=XG>3T@)THSAJ=MFO>([MWSF4-_$WL ?1>YFWU)K MD-\$'4@=-5)'_U>/7[:B35@G^K5[TA/9@=%Q8W3<=SV.^_3>$]F!]TGC?=)S M/4[:2BU\48^=B[[6DKMW/V(]KNRS09%$K+FNKLIFM'F97-H+V?T;7CUK[JE< M,:Y(#DN$>H,Q_G%D]52H.EJ4]K9="(W%;YL9OJY F@"<7PJA=QVS0/->B_\ M4$L#!!0 ( !R"6%?O](DG6@, /@+ 9 >&PO=V]R:W-H965TVM@YYUR?>VWG3O:,?Q<; (GNRX**J;.1(F7V^DGG!GDRU9PRW(3]MKKD9NHY+E)5"1,XHXK*;. MI7>QB#7> #[GL!='ST@[63+V70_>95,'ZP5! :G4"D3]W<$P': OT0^]@/+>N;]] ^I'"#L&;IOL_-_T1?_'+V5C*#9*8'1"_ZX4U"2 MB[1@8LE&-H5]15X(;8DA:FC[C@!_ ZZ': M77?'F>ZB?!R.1FU4TD6%011[;=2BBPK&X^&P0;5,#QO3PW-,/VASV+7IC?&) MRRXH,@>M9=("BH?1B4=+.!Q'OMWCJ/$XZO7X^]95-A%7MZ[-::7AX:/8>(!/ M:S6WPH+3PB=6F!>-3_Q:8?Y#AJ/&<-1K^)KGC*.?0'AK&ZNM36&52YO[J+NY M1OBTSKU1__;>."?BXI$BMK(8-UF,>[/XF10[4O5@A6H""4VM^R;N'O'QN).Z M+BK '51REM;B3UJ56_>HE2F!KTT/*5#*=E16WZIFMFE3+TUW=C)_Y5W,/1.I8\ZK/K :2;4TCM612M67F<:-:<^ : MH-ZO&).'@0[0-/NS7U!+ P04 " <@EA7M0=4B)L" "N!P &0 'AL M+W=ON^>NOHMW7-S* D"A MNY(R.?,*I:JI[\NL@!++ :^ Z9LU%R56>BLVOJP$X-R"2NJ'07#JEY@P+XGM MV4(D,:\5)0P6 LFZ++&X/P/*=S-OZ.T/KLBF4.; 3^(*;V )ZKI:"+WS6Y:< ME, DX0P)6,^\^7":CHV]-;@AL),':V24K#B_-9N+?.8%)B"@D"G#@/5G"^= MJ2'28?QH.+W6I0$>KO?L'ZQVK66%)9QS^I7DJIAY;SV4PQK75%WQW4=H]-@ M,TZE_44[9SN>>"BKI>)E ]81E(2Y+[YK\G T#S=@+ !A$\%1 T@>@@8/0(8 M-8"1S8R38O.08H636/ =$L9:LYF%3:9%:_F$F;(OE="W1.-4Z-/K98J.CT[0$2(,71)*=<5D["OMW[#X6>/KS/D* M'_$5H4O.5"'1>Y9#WH$_[\=/>O"^UMV*#_?BS\)>PB54 Q0%KU 8A%%7//\' M3_OAGS,U0,'0PL,>-5%;RLCR17\M)4J)S"B7M0#T;;Z22NCG];VK8(YQU,UH M6LY45CB#F:=[B@2Q!2]Y^6)X&KSKRM9SDJ7/1/9;)D=M)D=][,E"$"[0/6"A M__ VJYB@IQBEO:']H_!Q*WS<*_P& MTQJ[?DSU0, L@RZQXS]UA)/!Y(':)UFE'591<&#E=/@'':X$L;&30J*,UTRY M9M>>ML-H;GNP_\O<3;)++#:$241AK:'!X(V.0+CIX#:*5[9?KKC2W=&PO=V]R:W-H965T!OL"DP M$S"=YB$M$[K-L]86H%G;U( X7X!Z,3:ST#Z($,KDG[!"3_,C< "=K! M,N6?R>D/5#OD2[Z8I$S]@E.-M0P0EXR3K#86,\AP7OW#;[40+0/!HS=P:@.G M:^#=,7!K _=G1_!J ^]G1_!K ^6Z6?FNA(L@AXL9)2= )5JPR0>EOK(6>N%< M)LJ64_$6"SN^^%/DXL<\)AD"&T3!BF29"-_V "D"[R+$(4[9(W@/GK<1>/?P M"!Z "9A\RP#.P7...7MJ=?Q]("6#>2(Z'Z[:,Y.+VV;*:F7-G9B[X M1')^8&"=)RC1V$?]]F&/O2E4:J1RSE(MG5["+2I&P+6>@&,YKF8^JW[SOV(^ M I:MS!V=._]M]/6;1[\2PVWRQE5\[KV\*3-$(2=TJHML9>OI;67MF[("QFAN MB.+&$#TB8_'K+_;8^DTGZY!DT9!DZX'(K@+@-0'P^MC5PL5JX>H"4-F.E:W< M*XX+>QSZ(F^.;64U*-?S.JCH%N7ZH>-=H]:W*">T@@O7E9-^XZ3?FV41RHDH M>G?SS!\RSX8DBX8D6P]$=A6"<1."<6^>?5%;+4K>PZ-8\'L$XFJ+J&N^^/9@ M7!1XG.]!R5 ".)&(HN1(;N X!GF3J* 0.PRKMA9\9GC4Q;6:DM]*IO'8"8). M^FI0ONO[G?35-.GNI1G4(0:5%^-T^U*._.*K=;)PJ[5Y1(OUC?*HNM<]CKRJ)#W90^ M+%'L,T_7[9#JJZ]01.=6T$Y]KX@Z)6C]6N M,5[H=S=(#=+6+=%SJD'"MBH8KL+K?=V;K)"H."'MU!+IK>Y M9OB@#M>=_J4]7=F:_DA>2ZB3[X6^NM/X!.D>YPRD:">&LD83,55:71-4#4X* M=0Y^(5R6QEUY-B9X[)VOWZ^=II^X(LZ'C:Z5#3V/3[G'MLWQ#"H MS4JPNSEC)EJ60M9#,C>F^A#']73.2EI?J(I)BQ1*E]38KI[%=:49S6L@E2+N M=3II7%(NR6@@%^5-:>IHJA;2#$G:AB)_^YP/23=]3R(O-U8Y&Y*'L[<_%LI< MOXG\_>3=R4GGX?QZ/W[F@',2!T4O#Q"]Z'1P80 Q\?0P\>>T,>FK76DW_-0* M>>(I1NL':#;+A@D=C)P=-)UG9N.$XV:W1X-"R\"Z M!P:Y$*W!'O&!T:"BQC M;VS'#7;!)U#4M.]7E74XTW35[5V2#<'=;)*)TCG3 M;9HN68=& \$*L*/Y; YWHZH80&-4:1LYIS,EJ?.P9C0-*SME0MS!4_J]V-%> M%EM[VH$=E6W3&FJ:7L9W0'];S6MOR_9>I!M5_%&93PL['>GZ4"OL5K."+UU_ M6;0&,/4NKDZK2JP^"CZ3)?.3/SCA:$#7O&BN-/]ELT&I3&V :1(],FWX=#OR M4]/JGBW-NIR6!>ZY=X2>_^XZSYADFHIMT[;V7_,JO]AQ9XS^>2H8.4-G=@_$W;T[?B<%70AS'T+#LFF_97E?%%F[:A;6(AF MU*;]!:;73=N#H,W%93 ' M&,>SL#S_TWSZZ'P\AGGK!Y$^RNFC',\*(6/WP?*$.9F]PC/-LB1)4VQ%Q^.@ M@S&V;FD*/V$US!LPL#R0Z<_6&M]MO$*>KP-L3Y^K$&RF>"5B,\77&I#PN@$C MR\*[C>4!!K8+6.U _G >J*DP)TE@5S%OV!.,(UF&(5"+X1I-4V1U4OB$]P=[ M2I(DR\((8&$'28(A\#3B".8 /&!(DKCWX-[[*%Z_I^+-_\Y&OP%02P,$% M @ '()85Y>*NQS $P( L !?3T\$MP>:4#M.*2VBZD8 M_1!2:5K5N %(MB6/:( M7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1 MH2)8%II%R=.B':5_'?+ZX[&=?'K6YNE!ZR?VHY3*CJ.-<]OS?M_F&RBY_4MO M0?DC:VU*[GS2//;MU@ O[ ; E;*?# :C?LF%BCY_.I:U-'VSR9U/7$RN)HOIG"'(A(!,.H3\GB#(E(!,.X%R G8-W%8&Z@MP!.,!-8H/PN)=<,E5#JR1 M'YN!XT*VX$C%A':,+DOAFG@UE3K533,$]4L;C"G%Q($=LW(Z?]IH68"Q;YJ& MZ/:8C3)+'%@MM[ #Y5O>VNBRB9[Q4QO+GH7;L&G5"B'EECBP7"Y5KDM@=_Q' MNUHIE<2!7;+PY;YP+<&PNBEJY;L)-X 1*9'$@4VRY'NVLS5>LP)B63^(_;Y,#X4N]XUDU9)>G"*NRM M7U%)L.\P):67I$N]L+<8DUS#=""85V-)F2;ITC2M;IY0IDG^H&E>C2&EG*0[ MY=2L&)/23A)Z 4--N]M538DG"2P>&A,O!A-*/$E@\9 C>CN:E'B2P.)Y?43O M'96.=U(H\:2=B*?GNY4?GIS&F)1YTL#F.86Y-+#EHL"8E'G2P.8YA;G@QK2W M*E)R_RRP>TY'TY=J6FV3*J;F5>@]X:9Y1%LH"6XB*9N\"SS'A/8?CRPT%K(6"8N'_POK\G,M\:5C]=7@2DPWK#=)U)>74Y]VH*\V+X[L2 MQ_<\/O\+4$L#!!0 ( !R"6%>AE^J4R0$ * > : >&PO7W)E;',O M=V]R:V)O;VLN>&UL+G)E;'/-V;ENPD 4A>%707X AKN8+()4:=)&O(!%AD4L MMCP3!=X^" IRK!1IHCF5-;9\_X_[)F_;8]ILNS0Z'?;'-*\V.7?/ M(:3E)AZ:-&Z[>+Q<6;7]HL8=#*9AO[GC.IE]G/F:''NXE\F MMJO5=AE?V^7G(1[S+X/#5]OOTB;&7(T63;^.>5Z%T_Y^.H7K0<:7R=7H[6-> M]6\?4H7200I!6C[((,C*!SD$>?F@&H+J\D%3")J6#WJ H(?R08\0]%@^Z F" MGLH'R01EG! D#; FT%J0:R'P6A!L(1!;D&PA,%L0;2%06Y!M(7!;$&XAD%N0 M;B&P6Q!O(=!;46\ET%M1;R706PBOJK01Z*^JM!'HK MZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'K;8+.$0&]#O8U ;T.]C4!O M0[V-0&]#O8U ;T.]C4!O0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Q]L=A/H M[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z%VCWC6!WC7J7?^GWBF?]S'=>VYK M?/Y_4ITO]\;[XZ_+V\G!2[CB'."'],LW4$L#!!0 ( !R"6% 3 6T-O;G1E;G1?5'EP97-=+GAM;,W9R6[",!0%T%]!V5;$>( . M C9MMRV+_H";/" BB2W;4/C[.F&06M&HB$J]FT2)[7=?;.EL,G[;6?*];576 M?I(L0[ /C/EL297VJ;%4QY&Y<94.\=$MF-792B^(B<%@Q#)3!ZI#/S0UDNGX MB>9Z78;>\S:^]H6I)XFCTB>]Q_W$)FN2:&O+(M,ACK--G7]+Z1\2TKBRG>.7 MA?4W<4+"SB8T(S\''-:];LBY(J?>3+OPHJLXBVU+YL.N))]VESC3HYG/BXQR MDZVKN"3UUI'._9(H5&6Z+WK3G1SB#M/^RJ_.;\MT!<:9,V>LCR?FZ/*XXY$T MJ_LV%B(7BNY//"7&TE=_'S6GG5/^R^RXO1_&K=KS\*R]7;_'7\_X5/_"/@1( M'Q*D#P72QQ"DCQ%('[<@?=R!]'$/T@M\,FV[@ "L" 1 " :\ M !D;V-097)PC$ 8 )PG M 3 " &UL4$L! A0# M% @ '()85^E4KN?$!0 O1X !@ ("!#0@ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ '()85QSRQ"5] M!P BR0 !@ ("!SQ< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ '()85S0IUH44!P _A !@ M ("!L"\ 'AL+W=OFT9'"P, ! ( 8 " @?HV !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ '()85U;LX<%7!0 DPT !D ("!VT 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ '()85^ P M7,K8"@ 3B( !D ("!ZU8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ '()85V/]E7*L P T @ !D M ("!&PO M=V]R:W-H965T&UL4$L! A0#% @ '()85[,T7R$Y! N@H !D ("! M4'X 'AL+W=O" &0 @(' @@ >&PO=V]R:W-H965T&UL4$L! A0#% M @ '()85[]S>E8T P O0< !D ("!>HP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ '()85U!)F43! M @ $ 8 !D ("!L98 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ '()85]4$#"P_!@ =2L !D M ("!=Z4 'AL+W=O3P &0 @('MJP >&PO=V]R M:W-H965T&UL M4$L! A0#% @ '()85W$3'=5J @ 0 8 !D ("!S;8 M 'AL+W=O&UL4$L! A0#% @ M'()85Q)/RH[2 P SQ, !D ("!4L$ 'AL+W=O1,8" #M!P &0 @($6 MT >&PO=V]R:W-H965T&UL4$L! A0#% @ '()85]_E->H4" >#\ !D M ("!-=@ 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ '()85T]ETCM1 P F@L !D ("!A.H 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ '()8 M5R]I]O&R @ R < !D ("!4?8 'AL+W=O&PO=V]R:W-H965T1_5$=NP( +L) 9 " @7?\ !X;"]W;W)K M&UL4$L! A0#% @ '()85^_TB2=: P ^ L M !D ("!:?\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ '()85SFMD>DV P 2!, T M ( !/@H! 'AL+W-T>6QE&PO=V]R:V)O;VLN M>&UL4$L! A0#% @ '()85Z&7ZI3) 0 H!X !H ( ! M\A(! 'AL+U]R96QS+W=O XML 63 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 64 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 65 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 194 248 1 false 52 0 false 6 false false R1.htm 0000001 - Document - Cover Sheet http://www.calix.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 0000007 - Disclosure - Company and Basis of Presentation Sheet http://www.calix.com/role/CompanyandBasisofPresentation Company and Basis of Presentation Notes 7 false false R8.htm 0000008 - Disclosure - Significant Accounting Policies Sheet http://www.calix.com/role/SignificantAccountingPolicies Significant Accounting Policies Notes 8 false false R9.htm 0000009 - Disclosure - Cash, Cash Equivalents, and Marketable Securities Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities Cash, Cash Equivalents, and Marketable Securities Notes 9 false false R10.htm 0000010 - Disclosure - Fair Value Measurements Sheet http://www.calix.com/role/FairValueMeasurements Fair Value Measurements Notes 10 false false R11.htm 0000011 - Disclosure - Balance Sheet Details Sheet http://www.calix.com/role/BalanceSheetDetails Balance Sheet Details Notes 11 false false R12.htm 0000012 - Disclosure - Commitments and Contingencies Sheet http://www.calix.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 12 false false R13.htm 0000013 - Disclosure - Stockholders' Equity Sheet http://www.calix.com/role/StockholdersEquity Stockholders' Equity Notes 13 false false R14.htm 0000014 - Disclosure - Revenue from Contracts with Customers Sheet http://www.calix.com/role/RevenuefromContractswithCustomers Revenue from Contracts with Customers Notes 14 false false R15.htm 0000015 - Disclosure - Income Taxes Sheet http://www.calix.com/role/IncomeTaxes Income Taxes Notes 15 false false R16.htm 0000016 - Disclosure - Net Income Per Common Share Sheet http://www.calix.com/role/NetIncomePerCommonShare Net Income Per Common Share Notes 16 false false R17.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 17 false false R18.htm 9954471 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.calix.com/role/SignificantAccountingPoliciesPolicies Significant Accounting Policies (Policies) Policies http://www.calix.com/role/SignificantAccountingPolicies 18 false false R19.htm 9954472 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables) Sheet http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables Cash, Cash Equivalents and Restricted Cash (Tables) Tables 19 false false R20.htm 9954473 - Disclosure - Fair Value Measures and Disclosures (Tables) Sheet http://www.calix.com/role/FairValueMeasuresandDisclosuresTables Fair Value Measures and Disclosures (Tables) Tables 20 false false R21.htm 9954474 - Disclosure - Balance Sheet Details (Tables) Sheet http://www.calix.com/role/BalanceSheetDetailsTables Balance Sheet Details (Tables) Tables http://www.calix.com/role/BalanceSheetDetails 21 false false R22.htm 9954475 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.calix.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.calix.com/role/CommitmentsandContingencies 22 false false R23.htm 9954476 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.calix.com/role/StockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.calix.com/role/StockholdersEquity 23 false false R24.htm 9954477 - Disclosure - Revenue from Contracts with Customers (Tables) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersTables Revenue from Contracts with Customers (Tables) Tables http://www.calix.com/role/RevenuefromContractswithCustomers 24 false false R25.htm 9954478 - Disclosure - Income Taxes (Tables) Sheet http://www.calix.com/role/IncomeTaxesTables Income Taxes (Tables) Tables http://www.calix.com/role/IncomeTaxes 25 false false R26.htm 9954479 - Disclosure - Net Income Per Common Share (Tables) Sheet http://www.calix.com/role/NetIncomePerCommonShareTables Net Income Per Common Share (Tables) Tables http://www.calix.com/role/NetIncomePerCommonShare 26 false false R27.htm 9954480 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) Details 27 false false R28.htm 9954481 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) Details 28 false false R29.htm 9954482 - Disclosure - Fair Value Measures and Disclosures (Details) Sheet http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails Fair Value Measures and Disclosures (Details) Details http://www.calix.com/role/FairValueMeasuresandDisclosuresTables 29 false false R30.htm 9954483 - Disclosure - Balance Sheet Details - Accounts Receivable (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails Balance Sheet Details - Accounts Receivable (Details) Details 30 false false R31.htm 9954484 - Disclosure - Balance Sheet Details - Inventory (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsInventoryDetails Balance Sheet Details - Inventory (Details) Details 31 false false R32.htm 9954485 - Disclosure - Balance Sheet Details - Prepaid Expenses and Other Assets (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails Balance Sheet Details - Prepaid Expenses and Other Assets (Details) Details 32 false false R33.htm 9954486 - Disclosure - Balance Sheet Details - Narrative (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails Balance Sheet Details - Narrative (Details) Details 33 false false R34.htm 9954487 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails Balance Sheet Details - Property and Equipment, net (Details) Details 34 false false R35.htm 9954488 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails Balance Sheet Details - Accrued Liabilities (Details) Details 35 false false R36.htm 9954489 - Disclosure - Balance Sheet Details - Warranty Reserve (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails Balance Sheet Details - Warranty Reserve (Details) Details 36 false false R37.htm 9954490 - Disclosure - Commitments and Contingencies - Operating Leases (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails Commitments and Contingencies - Operating Leases (Details) Details 37 false false R38.htm 9954491 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails Commitments and Contingencies - Operating Lease Liability (Details) Details 38 false false R39.htm 9954492 - Disclosure - Commitments and Contingencies - Narrative (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails Commitments and Contingencies - Narrative (Details) Details 39 false false R40.htm 9954493 - Disclosure - Stockholders' Equity - Stock Options (Details) Sheet http://www.calix.com/role/StockholdersEquityStockOptionsDetails Stockholders' Equity - Stock Options (Details) Details 40 false false R41.htm 9954494 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details) Sheet http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails Stockholders' Equity - Employee Stock Purchase Plans (Details) Details 41 false false R42.htm 9954495 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details) Sheet http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails Stockholders' Equity - Stock-Based Compensation Expense (Details) Details 42 false false R43.htm 9954496 - Disclosure - Stockholders' Equity - Stock Repurchase Program (Details) Sheet http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails Stockholders' Equity - Stock Repurchase Program (Details) Details 43 false false R44.htm 9954497 - Disclosure - Revenue from Contracts with Customers - Revenue (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails Revenue from Contracts with Customers - Revenue (Details) Details 44 false false R45.htm 9954498 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails Revenue from Contracts with Customers - Contract Asset and Liability (Details) Details 45 false false R46.htm 9954499 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails Revenue from Contracts with Customers - Performance Obligations (Details) Details 46 false false R47.htm 9954500 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails Revenue from Contracts with Customers - Contract Costs (Details) Details 47 false false R48.htm 9954501 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails Revenue from Contracts with Customers - Concentration Risk (Details) Details 48 false false R49.htm 9954502 - Disclosure - Income Taxes - Income Taxes And The Effective Tax Rates (Details) Sheet http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails Income Taxes - Income Taxes And The Effective Tax Rates (Details) Details 49 false false R50.htm 9954503 - Disclosure - Income Taxes - Narrative (Details) Sheet http://www.calix.com/role/IncomeTaxesNarrativeDetails Income Taxes - Narrative (Details) Details 50 false false R51.htm 9954504 - Disclosure - Net Income Per Common Share (Details) Sheet http://www.calix.com/role/NetIncomePerCommonShareDetails Net Income Per Common Share (Details) Details http://www.calix.com/role/NetIncomePerCommonShareTables 51 false false All Reports Book All Reports calx-20230930.htm calx-20230930.xsd calx-20230930_cal.xml calx-20230930_def.xml calx-20230930_lab.xml calx-20230930_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 67 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "calx-20230930.htm": { "nsprefix": "calx", "nsuri": "http://www.calix.com/20230930", "dts": { "inline": { "local": [ "calx-20230930.htm" ] }, "schema": { "local": [ "calx-20230930.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/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "calx-20230930_cal.xml" ] }, "definitionLink": { "local": [ "calx-20230930_def.xml" ] }, "labelLink": { "local": [ "calx-20230930_lab.xml" ] }, "presentationLink": { "local": [ "calx-20230930_pre.xml" ] } }, "keyStandard": 220, "keyCustom": 28, "axisStandard": 20, "axisCustom": 0, "memberStandard": 37, "memberCustom": 12, "hidden": { "total": 6, "http://xbrl.sec.gov/dei/2023": 5, "http://fasb.org/us-gaap/2023": 1 }, "contextCount": 194, "entityCount": 1, "segmentCount": 52, "elementCount": 484, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 679, "http://xbrl.sec.gov/dei/2023": 29 }, "report": { "R1": { "role": "http://www.calix.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AssetsCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R3": { "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R5": { "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-43", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-43", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R7": { "role": "http://www.calix.com/role/CompanyandBasisofPresentation", "longName": "0000007 - Disclosure - Company and Basis of Presentation", "shortName": "Company and Basis of Presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.calix.com/role/SignificantAccountingPolicies", "longName": "0000008 - Disclosure - Significant Accounting Policies", "shortName": "Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities", "longName": "0000009 - Disclosure - Cash, Cash Equivalents, and Marketable Securities", "shortName": "Cash, Cash Equivalents, and Marketable Securities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.calix.com/role/FairValueMeasurements", "longName": "0000010 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.calix.com/role/BalanceSheetDetails", "longName": "0000011 - Disclosure - Balance Sheet Details", "shortName": "Balance Sheet Details", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.calix.com/role/CommitmentsandContingencies", "longName": "0000012 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.calix.com/role/StockholdersEquity", "longName": "0000013 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomers", "longName": "0000014 - Disclosure - Revenue from Contracts with Customers", "shortName": "Revenue from Contracts with Customers", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.calix.com/role/IncomeTaxes", "longName": "0000015 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.calix.com/role/NetIncomePerCommonShare", "longName": "0000016 - Disclosure - Net Income Per Common Share", "shortName": "Net Income Per Common Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R17": { "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": "17", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": null }, "R18": { "role": "http://www.calix.com/role/SignificantAccountingPoliciesPolicies", "longName": "9954471 - Disclosure - Significant Accounting Policies (Policies)", "shortName": "Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables", "longName": "9954472 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables)", "shortName": "Cash, Cash Equivalents and Restricted Cash (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.calix.com/role/FairValueMeasuresandDisclosuresTables", "longName": "9954473 - Disclosure - Fair Value Measures and Disclosures (Tables)", "shortName": "Fair Value Measures and Disclosures (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.calix.com/role/BalanceSheetDetailsTables", "longName": "9954474 - Disclosure - Balance Sheet Details (Tables)", "shortName": "Balance Sheet Details (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.calix.com/role/CommitmentsandContingenciesTables", "longName": "9954475 - Disclosure - Commitments and Contingencies (Tables)", "shortName": "Commitments and Contingencies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.calix.com/role/StockholdersEquityTables", "longName": "9954476 - Disclosure - Stockholders' Equity (Tables)", "shortName": "Stockholders' Equity (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomersTables", "longName": "9954477 - Disclosure - Revenue from Contracts with Customers (Tables)", "shortName": "Revenue from Contracts with Customers (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.calix.com/role/IncomeTaxesTables", "longName": "9954478 - Disclosure - Income Taxes (Tables)", "shortName": "Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.calix.com/role/NetIncomePerCommonShareTables", "longName": "9954479 - Disclosure - Net Income Per Common Share (Tables)", "shortName": "Net Income Per Common Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "longName": "9954480 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details)", "shortName": "Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "27", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "longName": "9954481 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details)", "shortName": "Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "28", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-76", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R29": { "role": "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails", "longName": "9954482 - Disclosure - Fair Value Measures and Disclosures (Details)", "shortName": "Fair Value Measures and Disclosures (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "29", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-100", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R30": { "role": "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails", "longName": "9954483 - Disclosure - Balance Sheet Details - Accounts Receivable (Details)", "shortName": "Balance Sheet Details - Accounts Receivable (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "30", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails", "longName": "9954484 - Disclosure - Balance Sheet Details - Inventory (Details)", "shortName": "Balance Sheet Details - Inventory (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "31", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails", "longName": "9954485 - Disclosure - Balance Sheet Details - Prepaid Expenses and Other Assets (Details)", "shortName": "Balance Sheet Details - Prepaid Expenses and Other Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DepositsAssetsCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:DepositsAssetsCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails", "longName": "9954486 - Disclosure - Balance Sheet Details - Narrative (Details)", "shortName": "Balance Sheet Details - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "calx:FinancingReceivableTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "calx:FinancingReceivableTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "longName": "9954487 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details)", "shortName": "Balance Sheet Details - Property and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "longName": "9954488 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details)", "shortName": "Balance Sheet Details - Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails", "longName": "9954489 - Disclosure - Balance Sheet Details - Warranty Reserve (Details)", "shortName": "Balance Sheet Details - Warranty Reserve (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-12", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-12", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails", "longName": "9954490 - Disclosure - Commitments and Contingencies - Operating Leases (Details)", "shortName": "Commitments and Contingencies - Operating Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "longName": "9954491 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details)", "shortName": "Commitments and Contingencies - Operating Lease Liability (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "calx:LesseeOperatingLeaseLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": null }, "R39": { "role": "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "longName": "9954492 - Disclosure - Commitments and Contingencies - Narrative (Details)", "shortName": "Commitments and Contingencies - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R40": { "role": "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "longName": "9954493 - Disclosure - Stockholders' Equity - Stock Options (Details)", "shortName": "Stockholders' Equity - Stock Options (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "longName": "9954494 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)", "shortName": "Stockholders' Equity - Employee Stock Purchase Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-3", "name": "calx:NumberOfEmployeeStockPurchasePlans", "unitRef": "plan", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "calx:NumberOfEmployeeStockPurchasePlans", "unitRef": "plan", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "longName": "9954495 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details)", "shortName": "Stockholders' Equity - Stock-Based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails", "longName": "9954496 - Disclosure - Stockholders' Equity - Stock Repurchase Program (Details)", "shortName": "Stockholders' Equity - Stock Repurchase Program (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-170", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-170", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails", "longName": "9954497 - Disclosure - Revenue from Contracts with Customers - Revenue (Details)", "shortName": "Revenue from Contracts with Customers - Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-171", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R45": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails", "longName": "9954498 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details)", "shortName": "Revenue from Contracts with Customers - Contract Asset and Liability (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-12", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R46": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails", "longName": "9954499 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details)", "shortName": "Revenue from Contracts with Customers - Performance Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails", "longName": "9954500 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details)", "shortName": "Revenue from Contracts with Customers - Contract Costs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CapitalizedContractCostGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:CapitalizedContractCostGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R48": { "role": "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails", "longName": "9954501 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details)", "shortName": "Revenue from Contracts with Customers - Concentration Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-192", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-192", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails", "longName": "9954502 - Disclosure - Income Taxes - Income Taxes And The Effective Tax Rates (Details)", "shortName": "Income Taxes - Income Taxes And The Effective Tax Rates (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } }, "R50": { "role": "http://www.calix.com/role/IncomeTaxesNarrativeDetails", "longName": "9954503 - Disclosure - Income Taxes - Narrative (Details)", "shortName": "Income Taxes - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": null }, "R51": { "role": "http://www.calix.com/role/NetIncomePerCommonShareDetails", "longName": "9954504 - Disclosure - Net Income Per Common Share (Details)", "shortName": "Net Income Per Common Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "calx-20230930.htm", "unique": true } } }, "tag": { "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remainder of 2023", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r747" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r326", "r327" ] }, "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": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r594", "r605", "r615", "r632", "r640" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersTables" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from external customers by geographic areas", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue." } } }, "auth_ref": [ "r13" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r378" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repurchases of common stock", "terseLabel": "Repurchases of common stock", "label": "Stock Repurchased During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r11", "r54", "r55", "r84", "r452", "r508", "r520", "r580" ] }, "us-gaap_ContractWithCustomerAssetNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNet", "crdr": "debit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with customer, asset", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "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." } } }, "auth_ref": [ "r264", "r266", "r277" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Domain]", "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is 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." } } }, "auth_ref": [ "r106" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Denominator:", "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of future minimum rental payments for operating leases", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r747" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r136", "r137", "r138", "r164", "r411", "r448", "r454", "r460", "r461", "r462", "r463", "r464", "r465", "r468", "r471", "r472", "r473", "r474", "r475", "r478", "r479", "r480", "r481", "r483", "r484", "r485", "r486", "r487", "r489", "r491", "r492", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r508", "r574" ] }, "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_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer [Abstract]", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomers" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contracts with Customers", "label": "Revenue from Contract with Customer [Text Block]", "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": [ "r101", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r279" ] }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MovementInStandardProductWarrantyAccrualRollForward", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]", "label": "Movement in Standard Product Warranty Accrual [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": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Cost of revenue", "label": "Cost of Goods and Services Sold", "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": [ "r69", "r411" ] }, "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": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r620" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Proceeds from common stock issuances related to employee benefit plans", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r3", "r12" ] }, "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": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r620" ] }, "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": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r623" ] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741" ] }, "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": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r622" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repurchases of common stock (in shares)", "terseLabel": "Shares repurchased (in shares)", "label": "Stock Repurchased During Period, Shares", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r11", "r54", "r55", "r84", "r449", "r508", "r520" ] }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentAgenciesDebtSecuritiesMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. government agency securities", "label": "US Government Agencies Debt Securities [Member]", "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB)." } } }, "auth_ref": [ "r545", "r562", "r758" ] }, "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": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r621" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted-average number of shares used to compute net income per common share:", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r643" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r131" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "documentation": "Fair value portion 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." } } }, "auth_ref": [] }, "us-gaap_CapitalizedContractCostAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostAmortization", "crdr": "debit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Capitalized contract cost, amortization", "label": "Capitalized Contract Cost, Amortization", "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r229" ] }, "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": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r621" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Standard and Extended Product Warranty Accrual", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r48", "r245", "r247", "r249" ] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "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": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r622" ] }, "us-gaap_CapitalizedContractCostImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Capitalized contract cost, impairment", "label": "Capitalized Contract Cost, Impairment Loss", "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r229" ] }, "us-gaap_CapitalizedContractCostGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostGross", "crdr": "debit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Capitalized contract cost, gross", "label": "Capitalized Contract Cost, Gross", "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r700" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741" ] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "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": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r623" ] }, "us-gaap_ProductWarrantyAccrualPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPayments", "crdr": "debit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cost of warranty and retrofit claims", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty." } } }, "auth_ref": [ "r248" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Stockholders\u2019 equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Financing activities:", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r74", "r75", "r76" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r131" ] }, "us-gaap_USGovernmentDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentDebtSecuritiesMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. government securities", "label": "US Government Debt Securities [Member]", "documentation": "Debt securities issued by the United States government." } } }, "auth_ref": [ "r758" ] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of income taxes", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r86" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repurchases of common stock", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r27" ] }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCashAndCashEquivalentsTable", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Cash and Cash Equivalents [Table]", "label": "Schedule of Cash and Cash Equivalents [Table]", "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r288", "r290", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ] }, "us-gaap_CashAndCashEquivalentsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsLineItems", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Line Items]", "label": "Cash and Cash Equivalents [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r288", "r290", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r276", "r555", "r556", "r557", "r558", "r559", "r560", "r561" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.calix.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "verboseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r81", "r237", "r238", "r523", "r706" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "General and administrative", "label": "General and Administrative Expense", "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": [ "r70", "r492" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Compensation and related benefits", "label": "Employee-related Liabilities, Current", "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": [ "r17" ] }, "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": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r651" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r259", "r281", "r286", "r357", "r383", "r562", "r563", "r564" ] }, "us-gaap_CommercialPaperMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommercialPaperMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commercial paper", "label": "Commercial Paper [Member]", "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds." } } }, "auth_ref": [ "r82", "r575", "r576", "r577", "r578" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r276", "r555", "r556", "r557", "r558", "r559", "r560", "r561" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r259", "r281", "r286", "r357", "r384", "r552", "r553", "r562", "r563", "r564" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ] }, "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": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r651" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r91", "r111", "r134", "r165", "r171", "r175", "r216", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r341", "r343", "r362", "r422", "r482", "r569", "r581", "r711", "r712", "r749" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares issued (in shares)", "label": "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": [ "r54", "r261" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of September 30, 2023 and December 31, 2022", "label": "Preferred Stock, Value, Issued", "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": [ "r54", "r425", "r569" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Axis]", "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r106" ] }, "us-gaap_CashMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Cash [Member]", "documentation": "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." } } }, "auth_ref": [ "r106" ] }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrentAbstract", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of accounts receivable, net", "label": "Accounts Receivable, after Allowance for Credit Loss, Current [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r652" ] }, "us-gaap_NotesAndLoansReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesAndLoansReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Notes receivable, outstanding after allowance for credit loss, current", "label": "Financing Receivable, after Allowance for Credit Loss, Current", "documentation": "Amortized cost, after allowance for credit loss, of financing receivable classified as current. Excludes net investment in lease." } } }, "auth_ref": [ "r181", "r182", "r416" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of product warranty activities", "label": "Schedule of Product Warranty Liability [Table Text Block]", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r246" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of accrued liabilities", "label": "Schedule of Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r235", "r236", "r493" ] }, "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": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r652" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares authorized (in shares)", "label": "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": [ "r54", "r468" ] }, "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of cash and cash equivalents", "label": "Schedule of Cash and Cash Equivalents [Table Text Block]", "documentation": "Tabular disclosure of the components of cash and cash equivalents." } } }, "auth_ref": [] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "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": [ "r54", "r468", "r488", "r765", "r766" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r236", "r493" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining performance obligation, amount", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r98" ] }, "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": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r653" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r180", "r557", "r714", "r760", "r761" ] }, "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": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r596", "r607", "r617", "r642" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Other", "label": "Other Accrued Liabilities, Current", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r17" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of inventory", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r14", "r61", "r62", "r63" ] }, "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": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r652" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts receivable, net", "totalLabel": "Accounts receivable, net", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "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": [ "r181", "r182" ] }, "us-gaap_MunicipalNotesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MunicipalNotesMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Municipal securities", "label": "Municipal Notes [Member]", "documentation": "Short-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilities", "crdr": "credit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other liabilities", "label": "Other Liabilities", "documentation": "Amount of liabilities classified as other." } } }, "auth_ref": [ "r49", "r421", "r462", "r463", "r581", "r764" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r67" ] }, "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": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r654" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r40", "r41", "r289" ] }, "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": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r653" ] }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Net accretion of available-for-sale securities", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r76" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts payable", "label": "Accounts Payable, Current", "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": [ "r15", "r569" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r54", "r261" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture": { "xbrltype": "durationItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee termination period following purchase date to receive shares subject to risk of forfeiture", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture" } } }, "auth_ref": [] }, "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": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r649" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r644" ] }, "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": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r643" ] }, "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": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r655" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award vesting rights, percentage", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "documentation": "Percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [ "r716" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rent expense", "label": "Operating Lease, Cost", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r374", "r568" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of additional shares authorized (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized", "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of accrued liabilities", "label": "Accrued Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "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]" } } }, "auth_ref": [ "r586", "r656" ] }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualClassifiedCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of warranty and retrofit", "label": "Product Warranty Accrual, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17", "r709", "r710" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables" ], "lang": { "en-us": { "role": { "terseLabel": "Debt securities, available-for-sale", "label": "Debt Securities, Available-for-Sale [Table Text Block]", "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r55", "r468" ] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "us-gaap_DepositsAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepositsAssetsCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Supplier deposits", "label": "Deposits Assets, Current", "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter." } } }, "auth_ref": [ "r669" ] }, "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": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r586", "r656" ] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets, Fair Value Disclosure", "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r45" ] }, "us-gaap_LossContingenciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesLineItems", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies [Line Items]", "label": "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": [ "r239", "r240", "r241", "r244", "r707", "r708" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "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": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r586", "r656" ] }, "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": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r595", "r606", "r616", "r641" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Tax Disclosure [Abstract]", "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r595", "r606", "r616", "r641" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock repurchase program, authorized amount", "label": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShare" ], "lang": { "en-us": { "role": { "verboseLabel": "Net Income Per Common Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r149", "r160", "r161", "r162" ] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining authorized repurchase amount", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with customer, liability, revenue recognized", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r278" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r18", "r105", "r134", "r216", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r342", "r343", "r344", "r362", "r569", "r711", "r749", "r750" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Allowance for doubtful accounts", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r114", "r183", "r219" ] }, "us-gaap_NotesReceivableNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesReceivableNet", "crdr": "debit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Notes receivable, outstanding after allowance for credit loss", "label": "Financing Receivable, after Allowance for Credit Loss", "documentation": "Amortized cost, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease." } } }, "auth_ref": [ "r181", "r225", "r477" ] }, "us-gaap_LossContingenciesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesTable", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Loss Contingencies [Table]", "label": "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": [ "r239", "r240", "r241", "r244", "r707", "r708" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating activities:", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_VestingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingAxis", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting [Axis]", "label": "Vesting [Axis]", "documentation": "Information by vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "calx_ShortTermMarketableSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShortTermMarketableSecuritiesMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-Term Marketable Securities", "label": "Short-Term Marketable Securities [Member]", "documentation": "Short-Term Marketable Securities" } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r80" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "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]" } } }, "auth_ref": [ "r587", "r598", "r608", "r633" ] }, "calx_FinancingReceivableInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.calix.com/20230930", "localname": "FinancingReceivableInterestRateStatedPercentage", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stated interest rate", "label": "Financing Receivable, Interest Rate, Stated Percentage", "documentation": "Financing Receivable, Interest Rate, Stated Percentage" } } }, "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": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r588", "r599", "r609", "r634" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomeTargetAchievementPerformanceThresholdPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomeTargetAchievementPerformanceThresholdPercent", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per share, target achievement performance threshold, percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent" } } }, "auth_ref": [] }, "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": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r650" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares award weighting percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent" } } }, "auth_ref": [] }, "calx_SoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "SoftwareMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software", "label": "Software [Member]", "documentation": "Software" } } }, "auth_ref": [] }, "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": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r589", "r600", "r610", "r635" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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": [ "r356", "r357", "r360" ] }, "us-gaap_VestingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingDomain", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting [Domain]", "label": "Vesting [Domain]", "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Other long-term liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r19" ] }, "calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "AccruedExcessAndObsoleteInventoryAtContractManufacturer", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Component inventory held by suppliers", "terseLabel": "Accrued customer rebates/prepayments", "label": "Accrued Excess and Obsolete Inventory At Contract Manufacturer", "documentation": "Accrued excess and obsolete inventory at contract manufacturer." } } }, "auth_ref": [] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 }, "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventory", "totalLabel": "Total inventory", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r115", "r540", "r569" ] }, "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": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r587", "r598", "r608", "r633" ] }, "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": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r643" ] }, "calx_A2019EquityIncentiveAwardPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "A2019EquityIncentiveAwardPlanMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2019 Equity Incentive Award Plan", "label": "2019 Equity Incentive Award Plan [Member]", "documentation": "2019 Equity Incentive Award Plan [Member]" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Adjustments to reconcile net income 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": [] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Target achievement threshold for shares award sliding scale", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent" } } }, "auth_ref": [] }, "us-gaap_InventoryNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNetAbstract", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of inventory, net", "label": "Inventory, Net [Abstract]" } } }, "auth_ref": [] }, "calx_StandardAndExtendedProductWarrantyAccrualIncreaseForWarrantiesIssuedNetOfAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "StandardAndExtendedProductWarrantyAccrualIncreaseForWarrantiesIssuedNetOfAdjustments", "crdr": "credit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accruals for product warranty and retrofit", "label": "Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments", "documentation": "Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments" } } }, "auth_ref": [] }, "calx_AccruedCustomerRebates": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "AccruedCustomerRebates", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer advances or rebates", "label": "Accrued Customer Rebates", "documentation": "Accrued customer rebates." } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disclosure of share-based compensation arrangements by share-based payment award", "label": "Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block]", "documentation": "Tabular disclosure of share-based payment arrangement." } } }, "auth_ref": [ "r8", "r38" ] }, "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": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r593", "r604", "r614", "r639" ] }, "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": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r590", "r601", "r611", "r636" ] }, "calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "TaxesPayableCurrentExcludingAccruedIncomeTaxes", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Taxes payable", "label": "Taxes Payable, Current, Excluding Accrued Income Taxes", "documentation": "Taxes Payable, Current, Excluding Accrued Income Taxes" } } }, "auth_ref": [] }, "calx_A2021PerformanceTargetsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "A2021PerformanceTargetsMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2021 Performance Targets", "label": "2021 Performance Targets [Member]", "documentation": "2021 Performance Targets" } } }, "auth_ref": [] }, "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": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r590", "r601", "r611", "r636" ] }, "calx_PrepaidExpensesAndOtherAssetsMiscellaneousCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "PrepaidExpensesAndOtherAssetsMiscellaneousCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expenses And Other Assets, Miscellaneous, Current", "documentation": "Prepaid Expenses And Other Assets, Miscellaneous, Current" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of property and equipment, net", "label": "Property, Plant and Equipment [Table Text Block]", "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": [ "r7" ] }, "calx_NumberOfEmployeeStockPurchasePlans": { "xbrltype": "integerItemType", "nsuri": "http://www.calix.com/20230930", "localname": "NumberOfEmployeeStockPurchasePlans", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of employee stock purchase plans", "label": "Number Of Employee Stock Purchase Plans", "documentation": "Number Of Employee Stock Purchase Plans" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Domain]", "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r30", "r32", "r46", "r47", "r180", "r522" ] }, "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": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r591", "r602", "r612", "r637" ] }, "calx_AmericasNonUSMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "AmericasNonUSMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Americas ex U.S.", "label": "Americas, Non-U.S. [Member]", "documentation": "Americas, Non-U.S." } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Interest income and other expense, net:", "label": "Nonoperating Income (Expense) [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash equivalents", "label": "Cash Equivalents, at Carrying Value", "documentation": "Amount of 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": [ "r668", "r759" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash and cash equivalents", "totalLabel": "Total cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r28", "r106", "r539" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Axis]", "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r30", "r32", "r46", "r47", "r180", "r445", "r522" ] }, "calx_RevenueShareObligationCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "RevenueShareObligationCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue share payments", "label": "Revenue Share Obligation, Current", "documentation": "Revenue Share Obligation, Current" } } }, "auth_ref": [] }, "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": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r592", "r603", "r613", "r638" ] }, "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": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r643" ] }, "calx_FinancingReceivableTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.calix.com/20230930", "localname": "FinancingReceivableTerm", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term of interest period", "label": "Financing Receivable, Term", "documentation": "Notes Receivable ,Term Of interest Period" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.calix.com/role/SignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Total interest income and other expense, net", "label": "Nonoperating Income (Expense)", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r71" ] }, "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": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "calx_CashCashEquivalentsAndMarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "CashCashEquivalentsAndMarketableSecurities", "crdr": "debit", "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total cash, cash equivalents, and marketable securities", "label": "Cash, Cash Equivalents, And Marketable Securities", "documentation": "Cash, Cash Equivalents, And Marketable Securities" } } }, "auth_ref": [] }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "presentation": [ "http://www.calix.com/role/StockholdersEquity" ], "lang": { "en-us": { "role": { "verboseLabel": "Stockholders' Equity", "label": "Shareholders' Equity and Share-Based Payments [Text Block]", "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)." } } }, "auth_ref": [ "r83", "r85" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod": { "xbrltype": "sharesItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum number of shares allocated per purchase period", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period" } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "calx_LesseeOperatingLeaseLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.calix.com/20230930", "localname": "LesseeOperatingLeaseLiabilityTableTextBlock", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, operating lease liability", "label": "Lessee, Operating Lease Liability [Table Text Block]", "documentation": "Lessee, Operating Lease Liability" } } }, "auth_ref": [] }, "calx_A2017NonqualifiedEmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "A2017NonqualifiedEmployeeStockPurchasePlanMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2017 Nonqualified Employee Stock Purchase Plan", "label": "2017 Nonqualified Employee Stock Purchase Plan [Member]", "documentation": "2017 Nonqualified Employee Stock Purchase Plan" } } }, "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": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r651" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods": { "xbrltype": "integerItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of offering periods", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods" } } }, "auth_ref": [] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet": { "xbrltype": "sharesItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares)", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met" } } }, "auth_ref": [] }, "calx_ShortTermMarketableSecuritiesAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShortTermMarketableSecuritiesAndCashEquivalentsMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-Term Marketable Securities And Cash Equivalents", "label": "Short-Term Marketable Securities And Cash Equivalents [Member]", "documentation": "Short-Term Marketable Securities And Cash Equivalents" } } }, "auth_ref": [] }, "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": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r643" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "ESPP, discounted purchase price percentage", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares": { "xbrltype": "sharesItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Increase in the number of shares of common stock issuable (in shares)", "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares", "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares" } } }, "auth_ref": [] }, "calx_LesseeOperatingLeaseLiabilityToBePaidYearFourAndAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "LesseeOperatingLeaseLiabilityToBePaidYearFourAndAfterYearFour", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027 and thereafter", "label": "Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four", "documentation": "Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four" } } }, "auth_ref": [] }, "calx_SanJoseCaliforniaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "SanJoseCaliforniaMember", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "San Jose, California", "label": "San Jose, California [Member]", "documentation": "San Jose, California" } } }, "auth_ref": [] }, "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": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r651" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.calix.com/role/NetIncomePerCommonShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "terseLabel": "Net income", "verboseLabel": "Net income", "label": "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": [ "r66", "r76", "r95", "r103", "r119", "r122", "r126", "r134", "r139", "r141", "r142", "r143", "r144", "r147", "r148", "r156", "r165", "r170", "r174", "r176", "r216", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r354", "r362", "r433", "r490", "r506", "r507", "r548", "r579", "r711" ] }, "us-gaap_CorporateDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateDebtSecuritiesMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate debt securities", "label": "Corporate Debt Securities [Member]", "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment." } } }, "auth_ref": [ "r562", "r564", "r762" ] }, "calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with customer, asset, expected to be billed remainder of year, percent", "label": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent", "documentation": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent" } } }, "auth_ref": [] }, "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": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r651" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceMaximumCombinedPayoutPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceMaximumCombinedPayoutPercent", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum combined payout percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Options", "label": "Employee Stock Option [Member]", "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": [] }, "calx_CustomerOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "CustomerOneMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer One", "label": "Customer One [Member]", "documentation": "Customer One" } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Concentration Risk", "label": "Customer Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r31", "r180" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "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": [ "r165", "r170", "r174", "r176", "r548" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r231", "r232", "r233", "r234", "r412", "r413" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r240", "r241", "r242", "r243", "r280", "r287", "r314", "r315", "r316", "r386", "r410", "r438", "r458", "r459", "r511", "r513", "r515", "r516", "r518", "r533", "r534", "r549", "r554", "r565", "r570", "r573", "r705", "r713", "r752", "r753", "r754", "r755", "r756" ] }, "us-gaap_FinanceReceivablesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceReceivablesMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable", "label": "Financing Receivable [Member]", "documentation": "Amounts due the Company from customers, clients, lessees, borrowers, or others under the terms of its agreements therewith. Such amount may include accrued interest receivable in accordance with the terms of the agreements. The agreements also may contain provisions and related items including a discount or premium, payable on demand, secured, or unsecured, interest bearing or noninterest bearing, among myriad other features and characteristics." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r412" ] }, "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_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Interest income, net", "label": "Interest Income (Expense), Nonoperating, Net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-in Capital", "label": "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": [ "r320", "r321", "r322", "r452", "r675", "r676", "r677", "r745", "r765" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r240", "r241", "r242", "r243", "r287", "r410", "r438", "r458", "r459", "r511", "r513", "r515", "r516", "r518", "r533", "r534", "r549", "r554", "r565", "r570", "r713", "r751", "r752", "r753", "r754", "r755", "r756" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r240", "r241", "r242", "r243", "r280", "r287", "r314", "r315", "r316", "r386", "r410", "r438", "r458", "r459", "r511", "r513", "r515", "r516", "r518", "r533", "r534", "r549", "r554", "r565", "r570", "r573", "r705", "r713", "r752", "r753", "r754", "r755", "r756" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r11", "r21", "r102", "r124", "r125", "r126", "r136", "r137", "r138", "r140", "r146", "r148", "r164", "r217", "r218", "r263", "r320", "r321", "r322", "r334", "r335", "r345", "r346", "r347", "r348", "r349", "r350", "r352", "r364", "r365", "r366", "r367", "r368", "r369", "r379", "r439", "r440", "r441", "r452", "r508" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r240", "r241", "r242", "r243", "r287", "r410", "r438", "r458", "r459", "r511", "r513", "r515", "r516", "r518", "r533", "r534", "r549", "r554", "r565", "r570", "r713", "r751", "r752", "r753", "r754", "r755", "r756" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r55" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock options granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r299" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Deficit", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r102", "r136", "r137", "r138", "r140", "r146", "r148", "r217", "r218", "r320", "r321", "r322", "r334", "r335", "r345", "r347", "r348", "r350", "r352", "r439", "r441", "r452", "r765" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r34", "r35" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r571", "r572", "r573", "r575", "r576", "r577", "r578", "r675", "r676", "r745", "r763", "r765" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Property and equipment, gross", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r80", "r107", "r431" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Research and development", "label": "Research and Development Expense", "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": [ "r51", "r324", "r757" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r7", "r420", "r431", "r569" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r99" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r11", "r102", "r124", "r125", "r126", "r136", "r137", "r138", "r140", "r146", "r148", "r164", "r217", "r218", "r263", "r320", "r321", "r322", "r334", "r335", "r345", "r346", "r347", "r348", "r349", "r350", "r352", "r364", "r365", "r366", "r367", "r368", "r369", "r379", "r439", "r440", "r441", "r452", "r508" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease, payments", "label": "Operating Lease, Payments", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r373", "r375" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "verboseLabel": "Accumulated Other Comprehensive Loss", "label": "AOCI Attributable to Parent [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": [ "r2", "r10", "r24", "r346", "r349", "r379", "r439", "r440", "r671", "r672", "r673", "r675", "r676", "r677" ] }, "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities" ], "lang": { "en-us": { "role": { "terseLabel": "Cash, Cash Equivalents and Marketable Securities", "label": "Cash, Cash Equivalents, and Marketable Securities [Text Block]", "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss)." } } }, "auth_ref": [ "r680" ] }, "us-gaap_CashAndCashEquivalentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Abstract]", "label": "Cash and Cash Equivalents [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average operating discount rate used to determine the operating lease liability (percent)", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r377", "r568" ] }, "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": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r646" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.calix.com/role/CompanyandBasisofPresentation" ], "lang": { "en-us": { "role": { "verboseLabel": "Company and Basis of Presentation", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r52", "r87", "r446", "r447" ] }, "us-gaap_Cash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Cash", "crdr": "debit", "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Cash", "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. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r97", "r424", "r453", "r476", "r569", "r581", "r668" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r104", "r116", "r134", "r216", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r341", "r343", "r362", "r569", "r711", "r712", "r749" ] }, "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": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r645" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "totalLabel": "Total other comprehensive income (loss), net of tax", "terseLabel": "Other comprehensive income (loss)", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r4", "r9", "r88", "r120", "r123" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r7" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total future minimum lease payments", "terseLabel": "Total future minimum lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r378" ] }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Maturities of marketable securities", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r129", "r130", "r681" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments, net", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "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, attributable to parent entity." } } }, "auth_ref": [ "r4", "r9", "r88" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r80" ] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts receivable", "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "documentation": "Amount, before 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": [ "r112", "r181", "r182", "r541" ] }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleRealizedGainLoss", "crdr": "credit", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Realized gains and losses on marketable securities", "label": "Debt Securities, Available-for-Sale, Realized Gain (Loss)", "documentation": "Amount of realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r693" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r378" ] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.calix.com/role/FairValueMeasurements" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements", "label": "Fair Value Disclosures [Text Block]", "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": [ "r355" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of net income per share", "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": [ "r678" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r378" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRecognitionPolicyTextBlock", "presentation": [ "http://www.calix.com/role/SignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue Recognition", "label": "Revenue [Policy Text Block]", "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources." } } }, "auth_ref": [ "r491", "r536", "r544" ] }, "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": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r626" ] }, "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": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "crdr": "credit", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax benefit recognized", "label": "Share-Based Payment Arrangement, Expense, Tax Benefit", "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement." } } }, "auth_ref": [ "r318" ] }, "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": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r632" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r5" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r68", "r134", "r165", "r170", "r174", "r176", "r216", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r362", "r548", "r711" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r318", "r323" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r628" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "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": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r627" ] }, "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": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "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": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r631" ] }, "us-gaap_EmployeeStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "verboseLabel": "Employee Stock Purchase Plan", "label": "Employee Stock [Member]", "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock." } } }, "auth_ref": [] }, "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": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r629" ] }, "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": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r630" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Other comprehensive income (loss), net of tax:", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r630" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r5" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease, liability, current, statement of financial position", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r372" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r73" ] }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain (loss) on available-for-sale marketable securities, net", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r117", "r118", "r215" ] }, "us-gaap_LongtermPurchaseCommitmentPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermPurchaseCommitmentPeriod", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase commitment period", "label": "Long-Term Purchase Commitment, Period", "documentation": "Period covered by the long-term purchase commitment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest", "crdr": "credit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for credit loss", "label": "Financing Receivable, Allowance for Credit Loss, Excluding Accrued Interest", "documentation": "Amount excluding accrued interest, of allowance for credit loss on financing receivable. Excludes net investment in lease." } } }, "auth_ref": [ "r698" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r356", "r357", "r360" ] }, "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": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.calix.com/role/SignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "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_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Furniture and fixtures", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r582" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTable", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-sale [Table]", "label": "Debt Securities, Available-for-Sale [Table]", "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r259", "r281", "r282", "r283", "r284", "r285", "r286", "r383", "r384", "r385", "r552", "r553", "r562", "r563", "r564" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective tax rate", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r329" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures", "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r39", "r54", "r55", "r84" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares authorized (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r567" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares available for future grant (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r38" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails", "http://www.calix.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Valuation allowance", "label": "Deferred Tax Assets, Valuation Allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r332" ] }, "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": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "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": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r632" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Changes in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r34", "r35", "r412" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r5" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities", "weight": 1.0, "order": 1.0 }, "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "weight": 1.0, "order": 1.0 }, "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 1.0 }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Marketable securities", "terseLabel": "Fair Value", "label": "Debt Securities, Available-for-Sale, Excluding Accrued Interest, Current", "documentation": "Amount excluding accrued interest, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r699" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted-average grant date fair value (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r309" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresTables" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value, assets measured on recurring basis", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r45", "r89" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred revenue", "label": "Contract with Customer, Liability, Current", "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": [ "r264", "r265", "r277" ] }, "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": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r619" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accrued liabilities", "label": "Increase (Decrease) in Accrued Liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r5" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Long-term portion of deferred revenue", "label": "Contract with Customer, Liability, Noncurrent", "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": [ "r264", "r265", "r277" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r584" ] }, "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": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r632" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r264", "r265", "r277" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted-average exercise price per share, stock options (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r300" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "ESPP, maximum employee payroll deduction percentage", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate", "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan." } } }, "auth_ref": [ "r38" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Money Market Funds [Member]", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r715" ] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Excluding Accrued Interest, after Allowance for Credit Loss, Current", "documentation": "Amortized cost excluding accrued interest, after allowance for credit loss, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r699" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares issued (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period", "documentation": "Number of shares issued under share-based payment arrangement." } } }, "auth_ref": [ "r38" ] }, "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": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r632" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares purchased (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Purchased for Award", "documentation": "Number of shares purchased for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r743" ] }, "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": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r597", "r605", "r615", "r632", "r640", "r644", "r652" ] }, "us-gaap_InventoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoriesMember", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Inventories [Member]", "documentation": "Tangible personal property held for sale in the ordinary course of business, or in process of, or to be consumed in, production for sale." } } }, "auth_ref": [] }, "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": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r597", "r605", "r615", "r632", "r640", "r644", "r652" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in dollars per share)", "verboseLabel": "Diluted net income per common share (in dollars per share)", "label": "Earnings Per Share, Diluted", "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": [ "r128", "r141", "r142", "r143", "r144", "r145", "r152", "r157", "r158", "r159", "r163", "r353", "r354", "r418", "r436", "r546" ] }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheTwoMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period Two", "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.calix.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "verboseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r135", "r325", "r330", "r331", "r333", "r336", "r338", "r339", "r340", "r451" ] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Balance Sheet Details", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r667" ] }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheOneMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period One", "label": "Share-Based Payment Arrangement, Tranche One [Member]", "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of accounts receivable, net", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r22" ] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r585" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "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": [ "r16", "r134", "r216", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r342", "r343", "r344", "r362", "r466", "r547", "r581", "r711", "r749", "r750" ] }, "srt_EuropeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "EuropeMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Europe", "label": "Europe [Member]" } } }, "auth_ref": [ "r767", "r768", "r769", "r770" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital, Common Stock", "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": [ "r56" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r618" ] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-sale [Line Items]", "label": "Debt Securities, Available-for-Sale [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": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "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": [ "r25", "r121", "r123", "r127", "r417", "r435" ] }, "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": [] }, "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": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r648" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r650" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk [Line Items]", "label": "Concentration Risk [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r522" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r60", "r93", "r429", "r569", "r674", "r697", "r746" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "crdr": "debit", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized stock-based compensation expense, stock options", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for option under share-based payment arrangement." } } }, "auth_ref": [ "r742" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized stock-based compensation expense", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r742" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r657" ] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Licensed Software", "label": "Computer Software, Intangible Asset [Member]", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r538", "r703", "r704" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Axis]", "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": [ "r30", "r32", "r46", "r47", "r180", "r522", "r659" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer equipment", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r355", "r361" ] }, "srt_AsiaPacificMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "AsiaPacificMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asia Pacific", "label": "Asia Pacific [Member]" } } }, "auth_ref": [ "r767", "r768", "r769", "r770" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk [Table]", "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r29", "r30", "r32", "r33", "r46", "r90", "r522" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Sales and marketing", "label": "Selling and Marketing Expense", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Depreciation and amortization", "label": "Depreciation", "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": [ "r6", "r36" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r220", "r221", "r222", "r223", "r224", "r226", "r227", "r228", "r260", "r262", "r351", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r434", "r550", "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r693", "r694", "r695", "r696" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Domain]", "label": "Title of Individual [Domain]" } } }, "auth_ref": [] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r259", "r281", "r282", "r283", "r284", "r285", "r286", "r357", "r383", "r384", "r385", "r552", "r553", "r562", "r563", "r564" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "verboseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Numerator:", "label": "Net Income (Loss) Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.calix.com/role/NetIncomePerCommonShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of dilutive common stock equivalents (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "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": [ "r153", "r154", "r155", "r159", "r291" ] }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetRelatedDisclosuresAbstract", "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Related Disclosures [Abstract]", "label": "Balance Sheet Related Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r67" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r356", "r357", "r358", "r359", "r361" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r180", "r557", "r714", "r760", "r761" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Operating lease liability", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r371" ] }, "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNetByTypeAbstract", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of property and equipment, net", "label": "Property, Plant and Equipment, Net, by Type [Abstract]" } } }, "auth_ref": [] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "terseLabel": "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", "r65", "r94", "r165", "r170", "r174", "r176", "r419", "r432", "r548" ] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r260", "r262", "r351", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r434", "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r693", "r694", "r695", "r696" ] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Location [Domain]", "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r43", "r44" ] }, "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": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r647" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares issued (in shares)", "label": "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": [ "r55" ] }, "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": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r623" ] }, "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": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r644" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 }, "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Prepaid expenses and other current assets", "totalLabel": "Total prepaid expense and other assets", "label": "Prepaid Expense and Other Assets, Current", "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": [ "r670" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less imputed interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r378" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Goodwill", "label": "Goodwill", "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": [ "r109", "r230", "r415", "r551", "r569", "r701", "r702" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, $0.025 par value; 100,000 shares authorized; 65,950 shares issued and outstanding as of September 30, 2023, and 65,735 shares issued and outstanding as of December 31, 2022", "label": "Common Stock, Value, Issued", "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": [ "r55", "r426", "r569" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating leases", "verboseLabel": "Accrued liabilities - current portion of operating leases", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r371" ] }, "calx_ProductReturnReserveCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ProductReturnReserveCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product returns", "label": "Product Return Reserve, Current", "documentation": "Product Return Reserve, Current" } } }, "auth_ref": [] }, "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": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r623" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares outstanding (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "periodEndLabel": "Ending Balance (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r11", "r55", "r468", "r488", "r765", "r766" ] }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockOfferingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.calix.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockOfferingPeriod", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Offering period", "label": "Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period", "documentation": "Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period" } } }, "auth_ref": [] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "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": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r624" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "calx_CustomerTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "CustomerTwoMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Two", "label": "Customer Two [Member]", "documentation": "Customer Two" } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of marketable securities", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r26", "r129", "r184" ] }, "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": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r624" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating leases", "verboseLabel": "Operating leases", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r371" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Potentially dilutive shares, weighted average (in shares)", "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": [ "r160" ] }, "us-gaap_RoyaltyGuaranteesCommitmentsAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RoyaltyGuaranteesCommitmentsAmount", "crdr": "credit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Royalty payment commitment", "label": "Royalty Guarantees, Commitments, Amount", "documentation": "The amount the entity has committed to make for future royalty guarantees." } } }, "auth_ref": [ "r414" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain (Loss), before Tax", "documentation": "Amount, before tax, of unrealized gain (loss) in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r685", "r686" ] }, "calx_AccruedBusinessEventsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "AccruedBusinessEventsCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business events", "label": "Accrued Business Events, Current", "documentation": "Accrued Business Events, Current" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per common share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "calx_AccruedFreight": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "AccruedFreight", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Freight", "label": "Accrued Freight", "documentation": "Accrued Freight" } } }, "auth_ref": [] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r620" ] }, "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": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r624" ] }, "calx_MiddleEastAndAfricaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "MiddleEastAndAfricaMember", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Middle East & Africa", "label": "Middle East And Africa [Member]", "documentation": "Middle East And Africa" } } }, "auth_ref": [] }, "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": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r650" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r178", "r179", "r455", "r456", "r457", "r512", "r514", "r517", "r519", "r521", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r537", "r556", "r573", "r714", "r760" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r23", "r24", "r64", "r113", "r427", "r443", "r444" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use operating leases", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r370" ] }, "calx_PaymentsForFinancingArrangements": { "xbrltype": "monetaryItemType", "nsuri": "http://www.calix.com/20230930", "localname": "PaymentsForFinancingArrangements", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments related to financing arrangements", "label": "Payments For Financing Arrangements", "documentation": "Payments For Financing Arrangements" } } }, "auth_ref": [] }, "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": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r624" ] }, "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": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r643" ] }, "calx_StockRepurchasedDuringPeriodAverageCostPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://www.calix.com/20230930", "localname": "StockRepurchasedDuringPeriodAverageCostPerShare", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Average price paid per share (in dollars per share)", "label": "Stock Repurchased During Period, Average Cost Per Share", "documentation": "Stock Repurchased During Period, Average Cost Per Share" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accumulated depreciation and amortization", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r37", "r108", "r430" ] }, "calx_PerformanceBasedStockOptionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.calix.com/20230930", "localname": "PerformanceBasedStockOptionsMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Based Stock Options", "label": "Performance Based Stock Options [Member]", "documentation": "Performance Based Stock Options" } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Income taxes", "terseLabel": "Income taxes", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r96", "r100", "r147", "r148", "r168", "r328", "r337", "r437" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r583" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award performance period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite 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": [ "r566" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration risk, percentage", "label": "Concentration Risk, Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r30", "r32", "r46", "r47", "r180" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award vesting period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r566" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.calix.com/role/SignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Significant Accounting Policies", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r77", "r133" ] }, "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": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r624" ] }, "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": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r624" ] }, "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Category of Item Purchased [Axis]", "label": "Category of Item Purchased [Axis]", "documentation": "Information by category of items purchased under a long-term purchase commitment." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r583" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recognition period", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for 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": [ "r319" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.calix.com/role/NetIncomePerCommonShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Diluted (in shares)", "totalLabel": "Weighted-average common shares outstanding used to compute diluted net income per share (in shares)", "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": [ "r151", "r159" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r643" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "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": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r625" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance obligations expected to be satisfied, expected timing", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, 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": [ "r99" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "ASSETS", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r178", "r179", "r455", "r456", "r457", "r512", "r514", "r517", "r519", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r537", "r556", "r573", "r714", "r760" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r583" ] }, "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": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r625" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.calix.com/role/NetIncomePerCommonShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted-average common shares outstanding used to compute basic net income per share (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "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": [ "r150", "r159" ] }, "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": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r625" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining lease term for operating lease", "label": "Operating Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r376", "r568" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r583" ] }, "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": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r625" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenue", "terseLabel": "Total revenues", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "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": [ "r166", "r167", "r169", "r172", "r173", "r177", "r178", "r180", "r275", "r276", "r411" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Location [Axis]", "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r136", "r137", "r138", "r164", "r411", "r448", "r454", "r460", "r461", "r462", "r463", "r464", "r465", "r468", "r471", "r472", "r473", "r474", "r475", "r478", "r479", "r480", "r481", "r483", "r484", "r485", "r486", "r487", "r489", "r491", "r492", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r508", "r574" ] }, "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": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r625" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Other long-term liabilities", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "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": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r625" ] }, "us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Purchase Commitment, Category of Item Purchased [Domain]", "label": "Long-Term Purchase Commitment, Category of Item Purchased [Domain]", "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining performance obligation, percentage", "label": "Revenue, Remaining Performance Obligation, Percentage", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r658" ] }, "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": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r625" ] }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredRevenue", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred revenue", "label": "Increase (Decrease) in Deferred Revenue", "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r535" ] }, "us-gaap_AccruedInsuranceCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedInsuranceCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Insurance", "label": "Accrued Insurance, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of prepaid expenses and other current assets", "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]", "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r76" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r11", "r54", "r55", "r84" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_NotesAndLoansReceivableNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesAndLoansReceivableNetNoncurrent", "crdr": "debit", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Notes receivable, outstanding after allowance for credit loss, noncurrent", "label": "Financing Receivable, after Allowance for Credit Loss, Noncurrent", "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as noncurrent." } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_AccruedProfessionalFeesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedProfessionalFeesCurrent", "crdr": "credit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Professional and consulting fees", "label": "Accrued Professional Fees, Current", "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": [ "r17" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Commitments and contingencies (See Note 6)", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r20", "r50", "r423", "r467" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Other assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r110" ] }, "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted", "crdr": "credit", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding purchase commitments", "label": "Purchase Commitment, Remaining Minimum Amount Committed", "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations." } } }, "auth_ref": [ "r53", "r92" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "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": [ "r5" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Other expense, net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r72" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r11", "r54", "r55", "r84", "r300" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Domain]", "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": [ "r30", "r32", "r46", "r47", "r180", "r522" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r55", "r58", "r59", "r78", "r470", "r488", "r509", "r510", "r569", "r581", "r674", "r697", "r746", "r765" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventory", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r5" ] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Axis]", "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r679", "r748" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r583" ] }, "srt_ExecutiveOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ExecutiveOfficerMember", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer", "label": "Executive Officer [Member]" } } }, "auth_ref": [ "r679" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accumulated deficit", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r57", "r84", "r428", "r442", "r444", "r450", "r469", "r569" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r583" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r7" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "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_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic net income per common share (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r128", "r141", "r142", "r143", "r144", "r145", "r150", "r152", "r157", "r158", "r159", "r163", "r353", "r354", "r418", "r436", "r546" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "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": [ "r363" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r1", "r74" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents at beginning of period", "periodEndLabel": "Cash and cash equivalents at end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r28", "r74", "r132" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r79", "r543" ] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating expenses:", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares purchased under ESPP (in shares)", "label": "Stock Issued During Period, Shares, Employee Stock Ownership Plan", "documentation": "Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan." } } }, "auth_ref": [ "r11", "r42", "r54", "r55", "r84" ] }, "us-gaap_EquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquipmentMember", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Test equipment", "label": "Equipment [Member]", "documentation": "Tangible personal property used to produce goods and services." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasicAbstract", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per common share:", "label": "Earnings Per Share, Basic [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r79", "r542" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.calix.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r583" ] }, "us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationPriorYearIncomeTaxes", "crdr": "debit", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxesAndTheEffectiveTaxRatesDetails", "http://www.calix.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prior year income taxes benefit", "label": "Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Amount", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to revisions of previously reported income tax expense (benefit)." } } }, "auth_ref": [ "r744" ] } } } }, "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": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "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" }, "r3": { "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" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r5": { "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" }, "r6": { "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" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1" }, "r9": { "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" }, "r10": { "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" }, "r11": { "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" }, "r12": { "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" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "a", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r15": { "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" }, "r16": { "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" }, "r17": { "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" }, "r18": { "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" }, "r19": { "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" }, "r20": { "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" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "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.3,4)", "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": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r24": { "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" }, "r25": { "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" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r27": { "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" }, "r28": { "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" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16" }, "r30": { "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" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r32": { "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" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21" }, "r34": { "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" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "r38": { "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" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r40": { "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" }, "r41": { "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" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "25", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480637/718-40-25-10" }, "r43": { "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" }, "r44": { "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" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "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)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r50": { "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" }, "r51": { "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" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r53": { "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(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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" }, "r61": { "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(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r62": { "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(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r63": { "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(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r64": { "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" }, "r65": { "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" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r70": { "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" }, "r71": { "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" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r73": { "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" }, "r74": { "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" }, "r75": { "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" }, "r76": { "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" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r78": { "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" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-12A" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r84": { "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" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r88": { "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" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r91": { "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" }, "r92": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "210", "Topic": "946", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20" }, "r98": { "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" }, "r99": { "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" }, "r100": { "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" }, "r101": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r113": { "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" }, "r114": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r116": { "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" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r119": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r379": { "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" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r386": { "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" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483119/928-440-50-1" }, "r415": { "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" }, "r416": { "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(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21" }, "r454": { "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" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r477": { "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(5)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r513": { "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" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r515": { "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" }, "r516": { "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" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r518": { "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" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r520": { "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" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r522": { "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" }, "r523": { "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" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r533": { "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" }, "r534": { "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" }, "r535": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r536": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r537": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r538": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r539": { "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" }, "r540": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r543": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r545": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r565": { "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" }, "r566": { "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" }, "r567": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r568": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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" }, "r582": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r583": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r584": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r586": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r587": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r588": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r589": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r590": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r591": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r592": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r593": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r594": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r595": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r596": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r597": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r598": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r599": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r600": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r601": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r602": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r603": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r604": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r605": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r606": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r607": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r608": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r609": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r610": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r611": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r612": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r613": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r614": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r615": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r616": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r617": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r618": { "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" }, "r619": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r620": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r621": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r622": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r623": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r624": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r625": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r626": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r627": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r628": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r629": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r630": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r631": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r632": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r633": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r634": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "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" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r658": { "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" }, "r659": { "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" }, "r660": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r661": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r662": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r663": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r664": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r665": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r666": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r667": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//210/tableOfContent" }, "r668": { "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(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r669": { "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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r680": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//320/tableOfContent" }, "r681": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r682": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r683": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r684": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r685": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r686": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r687": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r688": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r689": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r690": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r691": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r692": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r693": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r694": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r695": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r696": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r697": { "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" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r699": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1" }, "r700": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r701": { "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" }, "r702": { "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" }, "r703": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r705": { "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" }, "r706": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r707": { "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" }, "r708": { "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" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r711": { "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" }, "r712": { "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" }, "r713": { "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" }, "r714": { "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" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r720": { "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" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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" }, "r733": { "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" }, "r734": { "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" }, "r735": { "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r745": { "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" }, "r746": { "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" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r749": { "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" }, "r750": { "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" }, "r751": { "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" }, "r752": { "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" }, "r753": { "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" }, "r754": { "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" }, "r755": { "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" }, "r756": { "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" }, "r757": { "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" }, "r758": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2" }, "r759": { "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" }, "r760": { "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" }, "r761": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r762": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1" }, "r763": { "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" }, "r764": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r765": { "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" }, "r766": { "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" }, "r767": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r768": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r769": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r770": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 68 0001406666-23-000040-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001406666-23-000040-xbrl.zip M4$L#!!0 ( !R"6%<.^I5*M%H! ']D$0 1 8V%L>"TR,#(S,#DS,"YH M=&WLO6MWXLB2+OQ]?H5>>F:?JK4$I2N27-V<1=FNWIZILKV-:U_>+[-DE!CM M$A(M"5_ZUY_(E+@9,!(2* 4Q:T^U;40J,^*)R(C(R(A?_^_+R!.>2!BY@?]; M0VY)#>'_=G[]_YK-?WZY^R9$N$?0?C3?;*% M6\^.!T$X:C;9M\Z#\6OH/@YC09$4=?I4^F%XI@TTRU$MJVD,K$%3:P_4IJT^ MZ,VV9LB&91+IP23BXQEI&\0V'\RF;A.MJ !KH(J2DI35E9&*09D?[20/![ZS%X>G<< M66]*9E.5Y^-LHH>L+@PT?;P?3/PX?%U>Y_2]Z8=+)'>C0%-DXSVB)T_,WF![ MRU."/[@OK7XP8N-*EBK-:!ZYZY@#H\J?_OG]6Z\_)".[^9:I#G'73Q\^6)KZ M"O.7YTT_?K"C9-PSS_8??VL0O_FCUP"H$]OI_#HBL2W0[S?)'Q/WZ;?&>>#' M(,+-^].OGY*A M'P+GM?.KXSX)4?SJD=\:CAN-/?OUS ]\ A-P7\[H@R1,?G0=A_CL1_C\&O1( MZ/:3][_$=V3P6Z/?!$3X]HB.1-RS2Q]>]WH.LPMM[\IWR,O_D->&X#J_-09- M16]T)*"Q)K7A_W[]M#1JCI=T09TY5*5]]>S'V>#M1F=@>Q'9?=RIIOSJ1D## M?Q$[_ I_B69O,!H=2M:R7G +CP?.\BO,1N=O!5YP/@G#I05<^LX%*/V&D(CR M;PT0_S,'_M(B>#HM78=YO:>C M?^GV^^&$.--7N21*7[:RD$_+D [)@,!S?1*MD40JI6<1TP2P5('I[+,8Y.^W M1N2.QAX57_:W8<@HL2ATK9?(@2$^+8^1O'_^TG0.43 )V6]LDSE+R_//9M-T%AZUFE0#+7\R_7WZDD]+ZUY/!H4#,B3;09RL3)::\GR@ M])-L*YOX;K*L:&@#]V*T3(IT]S_[T;O(3R6-+RI1^ZRIRL6I!%M*CP)GMCS8Z&%:BX\R96C'0;@C M05>^3_]X0?Q@!/I\S;!9X;PTQ*?EV6_EI\X!/]^J20/L[@.KR39O9% 8&=0L M9%"H3IUO+$7(8'!(AJR;9HED,/=-AG0UY)$:=,FO#KSL9>RY?3?^3D8/\ K' M'5&KCD8FIB;BS B\!.\&3,-@- ;GPX^C[HL+^^'T,?@[&*F]..C_3,;Z]=/: M5\RH,9M)[CW*6"!Y/NV[3'*KYB3O.@XSQ<$HMUWGRC^WQVYL>W4AORS5G?Y] M+%WUV7/O+@CL>WZQ+FT0Q_TVUU] \<&GO3MTQVC0\,&[O M;FB=]5]9,<(W-*^[SUN1 U8:_6OO %?O@)7%"Z7NSO"A';#2"%]WS_=0BE]9 MWI<+T7SO3N\1*OXRZ5][S[QBQ5\F+^KN>!]4\9=)>!Z.(?>TM-I[H95$WJHY M_U30\^2<075W4P\<>:N(2^C,UI-Q:MT]W\,Y8$LT+V(@J'5W>JMQP,JC?^T= MX,H=L/)X47=G^, .6'F$YR^OM[2EU?VP]H![VNZYU&]HCDYOM?2ONQ_+P9Y6 M&B_09:V(\+7W0JO*>:O@GIJ&GB?G#*J[FWKXG+BER> M@:#5_;BW"B^E3/K7W3.OVDLIDQ=U]]@/ZJ6427@>[MSN:6EU]WPK2WVHX,ZS M5G=O^:"I#Q4P2*^[AWSXU()OTY\IS;WM71NCYFYHWJ96.?6K%L&VPX#D+P4NH)_C:W_BVOQ"\3^=SZ MJ%]LCQ9\[PT)B;\%?5;Z/B$]+>]\UAL&87Q/PE&RW=H/'LE,_JKTSIX]9U1@ <1@-PZ]'G(G[WD<"S)*JI%'+KX?/.A#(E@5N/?RL3 M:AK8:G/K[7-%\3(QSJVGGX'B]79SN/7QN:1\B9@WN/7NMU+^^\2'$<:V=QW$ M]8&ZP:U'SQ/!RT0XMU[\_ARHS%,HXD>N1G]J(X/<^O4EFU:(@_=Q<,+N_4&@ M41L@A\%M;.-$U7)](Q]HL>W)B*]S:.;4+;8R<5#?0!%:;&4" MP>0V;H46VP&XSVT0K1;:>[');Q3-=L._V]Z$?'G]GG1PI@-\ M#%8?;PPJ/1'>5/Z/J/I>W$^N\H=+1*3%;4SZ2!%9 MFNMYM(CD-D[.(R*/%03.>E.MIX6'"R8*T-BZHA6<+/(&4'UQ@ M=+_RW!3<5M,&MAX9&.7'#60M,F0)P^T\ M<0-#S7RI\,R3X2[=JL0<95G"X#=?^P?"DL$2P]V(A 0)&%/>4TR9WR#-?KVO M4M&)D>V30^=^/.E0.38[0@%'^$M&0J_8C;IWK$8G'#">!R!KMF'C*4!4B.0(! MQO5QQUH/#06#_;AU;( &1MAYX@9WD>0HC,_N;/^1)/2FOWYW?7V5J(7N MIL#^G5#4G]"YS$@Z2K#12<> 'Z<#3#^9_DY'V,0B[F*ZZUADO_#-HK=$Y38: M>1L&L)+X]=:#Q75]AZ:@C^D87U[O7\=D60O-/JP/X;F-M7%(^%(U/;=AK5R$ M/P]&8/20L(;(YS:*PS$#2I4 ;H,6F1B0]'8)!O&S'9+ZH)[;( %G1"\3Z2JW M[G8^$>?*AP4^N@\>Z481B:,OK]_M M?P?AN6='T7HC=+HSO_GF7MDBEO-X KX,GW"61:)*_\)'@["&A4ME%5N7>G:L*-, M;:1QZV3SS0X@>1A?P#12^9#A?[-Q9I_-*.LL/+HH2M-/=N,=O[XYN"+7]F@Q M_-15)-FBKDG\>N7WZ2N>2!?V<8<^6QOMI7'KB3-:KCGB&8V]X)607AST?]Z, M:9/MLC(^UC-9D6])"";"B#;WOK?#1[(UT)+YC7\G4>SZC\LK[ W!&/Q"Q9]: MB/"5I),X(T<(DQB2&W\/04\N% "W,0E$XT8TWC\'1XI&;J,SA\,&=:7NW=@C M8)GXCOOD.I.I&T4_NGPA_0G=^6X& [>_M>[!KN+&5KBP.(;'!9D[@#VD9 >@ MTE3,<@#(;1P* 9@/@$=A$50B MS&_(Y>!/9F#N ND$\$]AY?S>U^+JZMF/O) M;2SSZ,6;/^$R %@'M_&YC=XB \.P(,XF;-;"6-@\,J=!$8%^LGTVSFN).C< MAKZS1$_X#9G..<8>V\ S]MDN7.,VZ%T-UWB(_.BUCHKO-P(I&]>!_\>$GIN[ MQ%EZ\?3 M(4Z+JS#==6ZCHYSQ1V'\4;/P1VG*TH*H%>,/MZ$[SOA3E7[C+F^/4_XHV?E3 MJOQP&QO+Q)\>\3P:/O:=I"$7_'SY0B/&!SBIJ&0[XC:2Q#>[*MJ=VMP&2_AF M5T6;59O;* G?[*IH[VIS&T#)Q*X[$A%:YPGX=4'K. 7L^ME1;U]M;L,@W'.L MJAVLWO&)BF6LDDVLWA&+BF6LDGVLWC&,WXE/0ML#AG6=D>N[41S:]"3WN'>R M>LEH1P9"+-W\!'53TLU/@[L0 MP;9[Z,'$C\/7LQ^]8]N"#>[<_^I94='.:G#GUU?/BHHV3(,[A[UZ5E2U#W+G MB6]A!4O$G=#"6,?IM!G<.=J\,*2J?8,[+YH7AE2U>W#G(O/"D*KV$.[\WRQU MK[HC6&/?CJX#_T?O./<2D[NC?=X84]&>8M;.0Z] 8JK86\S:^>L52$P5>XQ9 M.^^=,N:[ZS@>N;0C6KVW.Z!,.M*=IG8>?37LJ6J_J9N77YWT5++KU,WGKTYZ M*ME[ZA@!Z$:N?6OWX07](]URZA@&.!Q7JMIIZA8+.+BL5+'!6'4+!!Q<5JK8 M5ZR*H@#QZY@XFY-&[L@3\2?DCHQLUW?]QX52)#$CW7^XC-YL146)%?RJE !$YCO(Y"YP MQ0-B4&?N;!TN]N_(BLQ/[LM92*)@$O9)E/PZ)+;#)N^X3YU?X1\&6'= +,6R M3%E3^P^: C]:AF*HU//^P'7A">_0)@EP:#SP.8>W-@ MCUSO]>S_@ 5%(N&:/ MW8"GY_T>,;#]J1K#:],'(_9/ ^^#5[-?G="Z2]-ES M?3*=FZQ(__694J3ID'Z0\/=LX@,=Z%,P'9N;N0C#D Q^:_RRG2%&HW-/9?+7 M3S9PAA*T9+):_%"UX%1R$54(!L(Y%2 _CA9IFX!_503FT%9AEFP2-G@"_AG5 M)23<#'98PRX ,]_0PEA#BT;GQ_75_>6%T+OOWE_VEI>P,'E>9MN[//]Q=W5_ M==D3NM<7PN4_S__:O?[]4CB_^?[]JM>[NKFN< E*IB7\PXZ&X.W%@2\*%^>" M(NF:M7'2"Z#1-X FIK(]??XA" '+35B+9X\CES M.OI#$,.VQE[P1,*8QD#2E[#W)1_/579+2M1V#)M#[$S?G'[<8A]]BIW5SRRS M94F;/Y9:\NRS3VSLH?B8),AME_II/C!8<8_[KS=UWX5?8D?W OYZP@W8AW;COJ+8"&[(A^#:U M#QWBGET$_0DU,ZCYTF![]@ >Z,A2\V]L7Y^/TD'8<02[DL'U%EOK=L)&YP.M M@2& '?TQ(Q8.SGG+:IFZN@OCM9:AMS/Q/1>*CD4I M\\A@A30)54K705O-T$1V*@".*[$V6'7NV5?OTS< MWB70G3GPE^8(AAC2KS4=^[7Y2NRP2?PI^E0P,,DX9E[[7WZ1V])G51(%&N_9 M9><\C)6?CGL7=HA)-29F%9"87Q@9N.?7<XZ6 M[CG:4>\Y]W?=Z]X5VUEPTTDVG7B&E^FN,PB#4:*MBO\KQ(%0UEAUVVY8/^6( M1MB%KRYH;A HV%+/YDVRW-S&:[[VYD)U)Q"*-PJSK(:6,G.I%6Z#AS-]MH="Z(9S_;(=F_Q;T?'V9K=%5:X_CNM*:Z M0^;>?KE*MNU:O):3-FL*$ MK4O"(%P'K8\U=*'S:H&NXX0DBM+_?(/QY*D&L!H=Q3 ,@'D!S?X[B%8VH)U?PR3Z)KR%W<[U^_.3 M5QD[IPC1"G7*1E6V8ZH>Z)W0C5T8,&3X(B%QA/$DC"8T0!(' M CS!-FU9^?#PD6HM&D7N]N.S&D4>P9U7VM8NL%+UEF[LYGB__YFI9@-KGLG* M5DLR=CN*>_^5FE+^9%6KI4G9 B5[.N![3QH_9\@&VZNX;CC0HFW2J1!>VOVA M<.[94?0F W>[&[&DI+CV.#+2)+39AM=['3T$7@Y_ZM@(,0UP,VQF)K! -WPL1EBCDNW*V2N 7Y4VJ*Q)5,6,,/=_J M?OMG@;@LDOM=49@JH^10\6W$G,"GR\%RV0!M!G/]5Q#^3(1EIL^VATO?CR.Y M/HU%G2DT:ZDJH_O*=V@HC @/KT)_2&!U]':A\#PD+#!*#>QPYNR="1_DCTFL M<&A'PL#UP$"W/0\>H?D^U&[_8^)2JQV,]0>2/@ CIX9[\E59I='4),$7 M3/_99@%V/?V8YK@(#GP*VRI]=!R2/F&;K*P(+)LP$C[ >,!)(9K WA(- WIH M.DTIB8=V_&89PK.]/%4ZS^3+Z4(^BH+M.\('96&U#P *>.CAW[ 6^B7V/'R3 M3B4=C"9!16PF;*9V% N6)#CV:]3:F%F2,Q!U/@E#>$N28$751VS'DV@&5K/1 M^1>)W@+S;%TN2T:P_0->0LD=%8+92^7ICZO_7@?5TR7(XKFVIUJX=@I#H((# M,C-RXQA$C7@@.V'@T\W#>Q4(;"2OPA7=4VC-C2^$"9:GQ65*65/A /W0AF;(]I1L6^-4HRWYF.(-'' MTC3 KTHN5*%,-, %FH U <:0 0.EOP8"E$L/M]T "A3<68"D5(=]FU?Q4 MNLVU'T0C4!WPEG"Z 8+ C( &KR(U*F XV(0IV1Z%QS!XCH?3CUM@8Q V-X<, M7)]EG;*##QK 5F"9&V;(/I8_3Q_;^L#F^4T?I(9%^O"&N4Z?='VFX5*K27EH M*E-[:=%(VISTMC;XN8*@ X<_]99LZ+N$/Q6EI6CF'L*?>KO\4966(>\VZKLY M4FI+LCQ:]7F>I(FA1U6TE52]Q%1+S?A;02WX]3SR!T\517N.$$?/+ M)(*!HBAKL0,YV\W3/2A=?'3+H\>S05Q.G?S?$R*WWYLPNOAM<*/BPMH(&\)S=B=ATML>K:'@T2TDM7]&%:JMNQ0R<2 MZ"TKU]F4KZA^L#^NC=T)\'^)5[^2K+3#;F.LJ]F8_#L,Y\A^),V'D-@_F_8@)N&9[3W;KU'C$U8XQ0JG M6.'T* ^,HB'QO.D.('P O#J4 M-#FM('6K%<3%J2P/Y[$O68[3+)[$J\O.,6_Z<3 KFR:WD[)I(A6,D C/])\4 M:%_#I,&),/'=!&8LS1.MBV;;$"5M=I%N.M5.DHD: M325]S?6C?I+-&JW/9A6%8#ZUS0>FG)@^V6N]T[9T:"[Q,1*96#I^NUK#1V4MFZ7A._[W[Y=DE+Z)W?7-]?7M^O5MZOQAC, M7FZNDN0=H]5N[W8E5FFI\FZ9*^\-J[MT=%@GN51 MS[3FPVWW[EZX2IVRKU?7W>OSJ^XW4'Q4C719_'7XT[+]W\E-AVC2YUG;",1)-IRHC3E?^VM"78@U!9A J]T1K0,!D]18.?V&U3EBKUQ?9HUT*A M-R1DK<>&HL\G/U'T$2I9H&)M%/V%W9\%;4;CD QI3] GDO@ -5PJ+1@Y(JC& M:L,P'=480F4[5&@.628UQD["AH'GD#"JHQ)+DN78@5I=IR]<_C%QXU=4PK7A M6!N5,$(E U3TK+:D'0V%KU[PC YE?3AKH!) J&2 BDGOV\4PG3@0-FB#=1%F MU 2U8:]YJIH 3Y4RXZ2M+9XJ*2WAN^W;CTS49_F %V[4GR0=\&C!E:YO>Z^1 MRRR$N8:@*B2Y"D*?N2/1Q$N,B)LQ2::&JJ,^D)!/5G>@%9$+*T:CA3RO,TKW^,HK=$;@'N+_7 MAZFRA0H L9(!*VJC@[9\O?F'LHY8R825=J/SS?UCXH(?_\IV]G-[[,:P\X,& M""9A'W?X&G%244Y5ZC'ZEQTHUF+T3VT)?Z/E5D#F605YJ@+@#][T=QH']()H M0F\/=Q^"22Q\M\.?)!;NW.@GJH;:<%PYV9Q35 V9@6(JBZI!:[';P"&PB*F% MVS#H$X=J I3[VK!3R9>D:=52[A$.F>"@3Z^03N^0WMS_]?)N\?XH"G9M.*F< M;.(?;NC9@6*^N3_ZC3R";\]VD9$#*4EI/NR5IWUQ?7%[W+B]HNZ#>S;>KB^X] M_/*E^PVD_5+H_?7R*@(P>2"BHDLB:4]+FH3-I/#V"7)!^2@]Y1@]EB1Y[ M"B_M=:WK0Q1O5&\IS$XU,M77\*S JC,*TY74"@E+O8F01)L!]*%'B$"+"-U>;]$&S* B5M<]8/_W MWKH/ISNV.OULU>>3, 16"'84D3@ZRR A6U>=171J.49N.*P7 X']U^(<%[0( M-\W1[=,?R!\3%UR,)*:S T+>$.(M9_(04!)J(%7_^99*N5;X^>W1!T]+V]B# M?A(Y;QO0JXL-Z.EO2?_Y2=1\M.WQ&<58UW?H?R[G .O&YW88O@(U_DZ=VFQM MZ-5I&WJ5EAE3=;%MZ"L]Z-?;2;M(;PX6H9R@G&R3$ZT".9$;'<,2)4/E2$Q* MLK=JL<$F16R2(-A"!OP>S2\E'R'7*I!:B]F6[>B"/,3SRPC=)]OU*'N^!B&] MQG3YTO*^B\DBE,#.J_X*;!-R9JHR491^7M'!O:U32'BRE'L M!T4)I[T1L=215/2.,+3*9GH5_X3 M<"T(7]$LKU!#S[@ @I17@MI@\^B2**F%O5RTLOD%T!:57 1 M&N)9HD %8X M=$I&\VU(QK;K".1E3%L%)G5# G:9L+]T=(56=(4Z.N729<*DKN^PZYY=QI@= MC1\3)$]JBZ9J<63](*X.J[KW@"NKT:%1$(LG)ZU,HUHU^%;H]P'M[5""[B[1 M/,JEF\ .\8VHNY94NK=&Q1*M=6+@P/,XOGK8HZU+Q M1(\L1<7DZ;CE!.SJ"S(@(:VW'=LO& ZO7D5/^7'E]X,1N;=?$E=V!^NGG21M M61)/X4J$TZ'3!,N"$SW.;!NBI/($IQ.PIG\/ N?9]3PTG"O4RE,FY!4:>A(I MMT6Y^(TBM)+Y!<\6';PK>"P>P7,")G%2;QIMX1 M1-,H?'4!K6!^@;0M3E$&D&10QY8H%[\#PY']NX]:"1E/0],27"JLW DF]"XC M153!,VW>MI+LEY1+)L[12':F)).\HJPT.I;2%MNEI>:6Q+:*+7J47)3< Z?H MY)57PB]^YOS__GKS;>+ MR[O>7WXQ%=GX+%S^[A8DJ@9/&6PGI)[,TL]#,D3\2=[<6_PB"QK05UXF [S#S<>GD\B6!() MIR+VNJ. F8V.JHF6=H3N >(J:P':/>#* ERIHJX=829B#>_ARR^.D&^!_]B,23@2 MQD'(,!(, =HV'.C^=\UP';.AFLK[&ZU)N-=_2.&5A';?G=H)=?V):XR=D\@ M%>$&;^KSH[67;U:7(%2TP+BH:649[S6USX\;4[ENZY> *3W!U!$VA>!:3[/K M2=[,\"X:?T%KJ,3;2@MN[NYRU08#2#2DPLGI:%KS"Z8L-Y9* 9/1Z+1%53U" M8[I&L7*,D?,@<]ECY'F%C-[S-W31D+%<+2*O4' \+_(L>KU9%Y5V62E1&!4O MX59',!JY,:U:F32=H&" J1._#QP6/O0($:Z#F CMCWNUV#.,D8G;TQ?D4[4O MD7OFN]YOC3BD+6;?A@YG%*+M:1?I,X6V(=$UO<'TT1%**X%0\D9"G4#8LA<' M_9_#P /N1-.[9+0^=/R*%ZG>&^/0:MAQGZ9CIT,TZ?-GLLGF5 %R;L/I.65$ M,20*__F>X-Z2L#>T0_*N47EU_75-'Y+D+0RHMW9X$_9B.R8.:[T]'S7=V:69 M5"OO*Y)-\]'V-1^UT9%:TIJ&#"M_$,9V*#S1X3X+&Y<0T==$^9NZ+$R>S33J M3N)A$ +;G9RVDZ&]0^'UT]OB090[/;W1T45I31AHE>#); 5[]J[;NL@?M"G.:?) S6K*B=F^#YT)Q,ZV821S&87:!BF05"78_,^24SQS%+!%"APV)%(.0S".$#NV, M\6=Q4V05.6U;]M6N]MD>#"T%V9>T(PU2[>R2YR;3CN% M2M48V1D6MLY:W+ZH_%9VWGEM-!>W3XX>1^JBI><@>$ZK4&1/[ED<=N-,?F,^ M[[P*<,9BG#'65-;:C3-E&N:8 E96,O@,+VM,JJT8L>@E(+&M%>ZKC%F$_$(H MN\K9"4)R B&\=%]1:128,B6W[0FT/7;3]86^/79C>[<&$^CNEE0A9<:66^#* ME7^>\&1!V/+*F4+E3)8T42M>*Q/C*/P":UNUE-*!I5)@288$X.(I0_7$ZEM- M1A./!A.$@*6#]X/1."1#XD?N$Q&\(*H\S[!^4O>AD#Z/8/KPTYIJ15-6L9S> M\T5&)5VYO@&WKDE\,[BW7_(*HT:%4=57#?*5S"*TQ>L(LQ7M7@W,='HC03-6 M+_M6 K.3LM<75+U#!F[?Q7[W?&CV.Q+;\";GT@Y]($>TP*F+A%%YI:S=Z*BZ M*AKFJEV57<[05N<86UG5>?G8,@!;IB4:TFK@I1)LG=X=H&ACHFK5IOH)7\S8 M$I993"Z^9+S**W=FHV/HDFAI>#,( 9@_?%,<@/18S[!$O5VX&'E=+@@5N>:Q M:SN '=L(G4 ;@5(H6 MY=)ZWW$@RVR3_Q33)BO3C*"%?-61'3ZZ/GNWMJZY70J.SJ\/X:?.9 M5PQ_8-=;6QM7G;Y+TV$RXR!BYYEG(?'LV'TBGY]=)QY.Q7?A6RFLI?E7[ >8 MP23>_)6]TW.K$F+DU-YDRBW\2R=+]8$[()9B6::LJ?T'38$?+4,Q5+DM]_N& M[$CD?V6K,?W2,)SG@3^2YD-([)]->P#K.[.]9_LU:GQ:1AE ;$ISJ46IOHE@ M"WALOY=4/ACL#7V)$(#:#&AQ,^ RZ#D2TJ=@.C8WA](%*XA:Z9W*E,%Y]]O5 M/T7AZOI\LX)<%L,*MH4-4[^YOKB\[EU>"/!3[^;;U47W_I)V?X7_?+^\ON\) M-U_AH^^W=Y=_A>>N_GY)EWGS_7+C0GE9V8/"AKQYK@O0TIF&9R;;?(]E-B),V+/'$3F;_O#9<:.Q M9[^>N3Y[+?O2YW2L=&.F^\H;$Y$1)ODXW7(LJZ6W9;KKI &A],7IAM1B&](; M>S?Y3+5:BBEO_%AJ[?J9KFH[??.]RB?VG<5M#/1:F^A059OTMP18WR;]'LP9(GR'YX:1< E6CG/" MQ+B&OVRF14;X9S@*R'-JD./D@V_B+MV:8R$'>G,NRSETGC)8)T'*FWX<4$+* M,SHJ94CM,9(*47+HLCV*#8O..V,C5BXW6Z!B& M)IIK;D6BV*#8<"DV1O5BHS8DFD5$,WE)OLM1N=&00)\4LW'(3;W3RBZ#( 3[(A&FV> M.KDAG@YK/I>()[/14=N6:)B%K63$$[]XVF)7EH@G"_ D*VN+%V!1J$/ XO

UB8C$NWC$EY14RFU5EOLUB+04QH=3=)IQ4F$'D(OMXE;!'HJM6GIAEM62)3[ MVADUB)?>C F]".8_"N1E3.^61KLU^CQ$JA+_R50XPWW-\)1\SQYHSJ35]<@. M?Q(JG56[H,>]Z6WQ,GO$\^AQH.]\G_+C,E&6N?= K='1%5'5"Q]C\'>8CG#* MZ#F6""<=K/FV*!]C2A/"*:,W6"*.8745O3Y\M$%#U[5D79PE2K(T;4ULSR$A&ET*-6517U=P_7XPJORPX80%,*L)?,48]2V(6@%0_NS@^EW;O:(M-$@4IV8P2\,)XB$)I\%A4?!)S.]5 MWD56Y]TF>4LK<&YEE$EJU_WK QB6SB!P,OJ+>U%([4:G#=8[3U

']0)W54A&HV.65BB,(\^N%N;BS8H[5W6^3_UDZ$,A:S&"Z<-/*S$5RIA% MZ5D2JW5R1._HKJEZ]A&OO1T#;E:LP=)P8]%[DXB;(\7-BC%8%FXTB>J;50\4 M<7,4N%DQ]DK#C0RX,3C1-V5&!FN3X^UF"NM7'30\X>.V+1'%=Z0MG]>NT8NW MHB+7IE0NPI"C &0NI:_2 D)EW>]&G!T5SK;$*\M3=QH-4LJ89H4PW"&\F4O= MZ32;I3;)5">1RL),W0<"*H-,#=_8?L'[C?S:N?-LLFD37=>? #72=+/ C[XP M=B;/W5-F7K[$H0T$=7T[?+V*R2@"L:4O#0-6;W1Z1I%[ZZ W)4U1+JT2%#=[ M!R+Y(&?U_"#98,GF6KNLPHN(Y*-"\M;D 7Z03 ^\5-$P"[N5B.1C1/+6= 5^ MD&RQY'=+/[5+H+5(D;@JZBQ@@E&9_@!(8NIX?R$^V:%%G$XO?(JRQ5/*$4*I M"H.\.)3D1L<0)073'H\82IDLXN)04BB43!WKE1XQE#*9I,6A1&O?2J)96N-G MC#%G0L(UB8L4#-GB]>W7T^.-EO^Y-Y/E%-P!F=Y++,\I>O87^S([5<1/3K^O?XXMO-;$O:HZGXW%J2\W=4O M[="'M4?3;S.8S39P:;Z!FXV.U%*.L")";./J(2Y?BE M1Z@=\J__Z'1'/M\I!>DZ[:$PZW$/U12VL*3B_"Z4+92M.;&G,ZRLK6Q1E"V6+JX7OWY]\1[9TYE'61[9.($_['^P7 MXC1MF)3]2 1_,GH@H1 ,DF/Q2)A$Q!'B@!Z6CX&Q'#6X*?MH%V=Y++,L-5"D M<%_*TN BR[+=2]@LR T"FBVII]4H09'R";,N= MC/V"S$PTF72$V3@(LNPW$O8+,@M IHFF53A @T?^O!WY9Q*R/D3O<0HGNV=TN#J,P@*J_I6X,018@6L99+@ZC"(-I> MTP(0(8H0+6)KEP91%2!JBKI95I&S@QV'3F>2TEYE^*O@7 A/P'"6=3I-Y-GU M+%BNK6!RT?&G#QU'@M ABZX9I15=>RF-&:?7&2I2'$TB@9CW?67)T2(;$C]RG64O%#Q[P\2-K M($[SJ6/[9;=LS/UXO\M%Y'CTSW&&AYGA*9VQ__!# K/XDSC"H^WZJ8P*H+CM M)]OU[ >/-$'Q-B-0K\+(#G^2F/Y-B$A_$KJQ2R(FSU6?T1]1<#Y_7(&IW/-% MC9MLFW/>_C7P*'E^!P[3O?3&[\W8UPW="#ZZ@%_]QUM82N# OGLSN+=?UNVJ M)NRJ;9ZV5 1;!K!]*.2U1S!]^*E*V%F-CK8F;?DC(HY3Q)7H%N\/9_D\"C/I M#6<63FQ&+'*L_59\TH-KOYRHE"DJ+7VU+F JR'Q^Z]" M',)@'FL0*]C.OR=1/")^7,!"/NE4\5QBNV(BYQ3;E)?G*2OO*2>3UW9]YW[. MU^Z,K5.!O0U"]D$!PJ*6],%0J#'OT"N#1@RU"*N'$(R;I \@"1[,Q S!D:-%G 6M[#I2\$*Y]@/:B!OB_8 M6K#IBT9[%;;\J=<32.@Z7V.65]&%+N5E0HIU=Y6P7VU9].%:Q97HL*S1:;L> MPUGT<-@0Y;+;VY; SHHC8BC7*-<'OEA4IES3XW5%;"N%@Q HURC7*->%_.PQNBI)95"Q7E&N4:Y7JWBUYERK5*$]1%M7@W*&[D>DN,P7&CL6>_TJ62 M]U4!/KGKD\B"RI]$%E3^)+*@\B>1!94_B2RH_$ED0>5/,A9\8N=\\%_'?>K\ M"O],OS&RPT?7G]K$B_9NGX!?$*8>2^?7A_!39V:1XR@XRHF-4IK/+DO;G':% M.NT]0@2[3S,M;?\5'%/!#V(8G;4S]!UPP G5 #YS8NT8?AFXONWW7=N#F<(? MV'VFUL95#Z?O;M&\TW$0N=3S/@L)S=1](I^?72<>3N,'"]]+O6MI_A7[ >8P MB3=_9>\4W1H%8035EVFQ^"^=+(U*N -B*99ERIK:?] 4^-$R%$.5VW*_;\B. M1/Y741K3+PUGY63']B-I/H3$_MFT!["^,]M[ME^CQJ=EG '(IE176@8E^R:* M+4"RS2)^&\@U&.P-@(D<.*0?A"QU^VP"H OI4S =FYNY",.0QJU^V_BE=P__^7YY?=\3;K[" M;S?G__/7FV\7EW>]O_QB*K+Q6;C\VX^K^W]QO[X/5[X0#X,)C.%$HC#Q[8GC MPI;V,??,/(W(V_>'SU-!V?;8<]J7/Z?#I%DD5 M_)MH,7M?\O%<][>D1/^G7E+ZYO3C%OOH300\^4QMMXRVOO%CJ25O_.R]8?66 M;+9W&O7]SZRV5?I4VLS5-++- M9WW' EE^IV7!UB1K:^71-:>ZB2(\S/%E>]OV,$UKI4VA>W'0_YDAG35+&;HP M>$Y^5NI)DB[,E1IMX.S=VJ[3='WAW!Z[L>TA@1("]?N3T<1CCG%2YW(Y.9HF MQ".I5DAU009NW\U2 >44*)-<>65Z9QAX8 A&,\/ZCXD;ORZ1:8/"5HHH[(7< MH!RI"WP3-6D_E.5:0I8EGQ3INJ-@XI[;?)X(=T;#( M?T^\5T$6!46B%U W<"U#]8G:W'Q[2Z12FIV96S/2P#ID2KIP9S-+8\VJU;)3 MR(\EDY3[1-%L -PU493?/-""@K!,>EE0$HTR*O>BR*'(\;/N7!*G[-VFM!H=0Y-% MPZA-K*349E%*A04[L^&%\;CY8">)HJ,Q\2.6Z+53))+#CA+9J,!.;)3/V/<# MN81<.N0.I+Z_ \U+04?WP3R=@68S7/EI+@.+YS,%=KZ@O^X(;%B1&Y,>"9_< M/DF:LMR1?O#HLU'^;GL3DG,_4R2)-6V7E-7N+(A*KE&)N@.YA%PZO(;?4K&/ M.P4O$B9D+8/S3UE!G,6V=DGV!/OWRUN17"=/M"R7 M7E;M'HZB:2>*I74V_&Y 8NHY.X[41@=1=,PHVN()[H*BG%N_UNB8HMHNO/,C MS.K@-""7D$O(I3VZ=@?0V#K3V$;A!MZ<]GNK@:]V1\:3L#\$3D9OW;73.D': MG.I0P/V:4W>-#[9.(-J-CJ$422/"4!HOL-G5T]J F30:M@H9FGM6I%D"C)"J@VF.7$(N(9<*J>[IQ'+H/$U96_#ZXM4/BQ^ML Z714=3"%W 15"CZ MR*4].@![D'R5-\D_N>J>/3*.R>@!' -5*JW&Y[YZ==='NC8D56WO2UU6%5!% MIE5 =?"X2ZYL@0WGL1)-W1O.[\%JWB+9A4O5*')2:50[GC[S*,XHSKR*\[X+ M!RMR4LU4TD1-+>M^ (HTBO1)B72^7..5"L7[JM^HR*Q@ZKI[Y;M6;T291IE& MF5Z1:>5@19 5F=X>P8= 3CW*>4A!SF]@5CV(J,DL(4E'64-9.7-;VW2=.@3> K$FJ M(IIK6C*BO*&\U5W>\AV[KQS1[>W87:%71$2E7:1>'PH<"ES-!6ZELNK^!$YK M=#19%R5#0Y%#D3LFDI(. MT:3/TP/V>;$5UW>('Y\UM9;.9+H"8&UM4LP2:4[CPC%>"T]$IX0A]V+#Y)U MD:4>1.'NQ8K9Z"A260? ',7C3A1+Z\SZW8"4KWNQ8C4Z/#4I1!0=V#GHF(_W^Y;P1Y=M0V48#@+ MN81<0BXAEY!+/'$IEQ>^I:IDH0Y+*DU15T5-*YR?CA#B%T);O()B"%(Y1! > MV*QKV^6]5W_A*%UG#' @EY!+R*73X5*^"R)9BQN7W\1'U1H=4UFU&7)?%D%D MH?PCEW:3_Q6_X'#BKW,D_H>^H+)76&2ID7/3CP/:O$LN4"8GI0'V[GHWHTM= M*36^OSHZ:IO5T=$TI21/O/KZQ"5%@BH&<7UO(LY[K[REFJP:D"Z)IH(BC2*-(KUO]U9=J?"UM_HGJM7H MJ*)D%JE^@C*-,HTRO4VF#U=$3),:'4U:7RP3I1JE&J6Z-.-[I5!9Z;),T](U M0S2TLNX55R_0V9MWE=*[:V,+,&S>AD3T8T,TDMDIJ$';QH3&5+*>HR M,X\TA64>&6K)G=&K#X9B!?B=8IVG6P%^F]B5$,I465J0MGK4B+*&LG92LI:E MVDTQ6=-8SHXAB3 [E#>4MZ.3MWR'[RME)?=W^*[3#EZ:4<(5$10X%#A^UIU/ MX%9J?^Q/X-J-CFI:HB%A!R\4N:,2N3P2M_],%*/1:1N6J+<+9Z)@ R]LX,6+ MC&'=,>02#;_E8BIW M"M[B4,%C/4ALX'6(I LM2U&(O V\\LF?+M$C*[E=5GMPCJ)U)PJU=5&JW7"6 MK[^7+C02GYM3K HX+/-J;O&<5LG)%JC8^DE M5 /"D%SEL-G5_]J F32JM@H9FO&&B#E2Q&1RM=Y'3,YMNMWH:(JHFJMW02Z?#I5RVY4H3F9)[H^:S)=I)>J]VOAF<[J>%IZ277.:M! MQZ-RBL1@QZ/]TZ>>PKUN9]TBV<7KS+33,J%E9>FB.*,XHSAO$N>5.FVEBS.K M1"I+FJB5764;11I%^C1$.E]*V$K&[MYJ+[9U*MSJFALUNU9>1)E&F4:97I%I M9>7>QOYDFM93U571,%<=:I1JE&J4ZM*J&.S=]C8:'4.71$L['LL[>_/@-R*T M8_?@-C8/7OL9-@_&YL'8/!B;!_/3,Q&;!V/SX-P$PN;!V#R8A^;!A13V,7; MQ>;!V#SX1%*3WC8/EK%Y\,YU;+?$5$I-/#(;G;8F*@8V-"T3@L<2ZCRE2.8V ML2LAE&FQK""I-KVG4-90UO8C:WOO]&9(C8YE&:*IEWQL@-+&%>I.5=KR54S4 M"YR\KXJ6W.BH2GD'ZRA17"$+)2J+1+4/ELMB*(V.IDJBL>;N%8H:Y]C<^"#)%7LUFVSS.; 1CMI#EQ6 M=(&C<-V)0FV=U;^'KJZK2#*P.?"1PRA+38N]=IHT3,"8+&K8R[QN.,,2^\@E MY!)W[N !5+:5J&R+)PL32]T7;&Y5VU *!KR02\@EY!)R";G$$Y?RV'3ZEE[C MA5H3F1(-XXB2J7(4D$<('=8M*(8@F4,$X9'.NN96WGM5&([2=\8(!W()N81< M.ATNY;I"HJ\T^-EPA>3 G7Y,!6P*T6B7<-L$@8?J ;FTFWI8<1LXT0XJ5]KA MT!=@]HJ:+'5V;OIQ0,OL)%5VE"(G"MC_Z]V,,75+Z*?,,CRFQOI_:5I9J9G5 MUS@N*8Y4,8CK>U.T?/K44[C7U2S?(MG%KY*:K*=(6VVC.*,XHSCO69RW=,HM M09Q9YK:D2Z*IH$BC2*-([]O[55<:O^^MOHII-#JJ*)E%/%J4:91IE.EM,KU2 M8'-_,FTV.II$+7 9I1JE&J5Z?\;WWBMYFA8M46V(AE:X;BXW IV] 5@I_;]P M%/Y'V=2CK53YEZ5M"D!AY;,($>P^S5^R_5? NN ',8P>!U3X'>(G9;5\)A>L ME\K ]6V_[]H>S!3^P&H>M#:N.GV7IK0,FK@U#B)6U. L))Y-K[C/^\7]UW+- ML51BI?E7[ >8Q"3>_)6]D]3*1-'VF\IC"__2R5)5YPZ(I5B6*6MJ_T%3X$?+ M4 Q5;LO]OB$[$OE?16],OS2<-5\9VX^D^1 2^V?3'L#ZSFSOV7Z-&I^6@08H MFY*=TGP3N98!N9E6@\'>X)=( >P'0!4>4V,$E,TB;=\*UZ$TP0JB5LYS MF2HX[WZ[^J\+&Z9^=V[O!#@I][-MZN+[CW\TKN'_WR_ MO+[O"3=?A?-N[Z_"UV\W_^AM7!XOZ_EPY0OQ,)C &$XD@IUK3QP7]K./61B3 M%+>L30M50VNIJEEZ[TBYI4F[C7KX/I?[FZN6I\_E)G]^G6.AZ(F-5(D;;6;, M/5OG@[VSOOKT['Q+@/4).M?P%^$[/#:,A$O8RIQUO?)V)LK1MM#+1MP>&<=I M8S%)9,Z4(BDJMM3;@93SU+$I'94\2.6[9]U;PW,#"<:$VIS@T=( TA/XD"0Z MRP*FG1-9,XQ1&E+YFF2IA1\L7G"UOH;TISOD4N5$.F!PDA =[W M78^P0K;)WDG_3G_KV]%0&(?!DPO.E/#P*@0\FFU..EG(IVEM+HZ)(H6:O=!FMOQ2"4LA9.+ =*ZI%7O^==35^0,6SZ+F.>8/N. M8(_HM=0_=]?51WJ9^."Z>I$SN<5*:W1D193-U41+O(U^- #:HJ$+ 8A>E9-$ M4RV6#V+JT"JZ9$P9X)F)BJ)SA*E3LJ;IB9/=[X>$ 2,8"/:3 M[7HTKZ@)C&Q&-LU*(OU)R()E:%[GI6^NFTU;]'EWRJ?N@L=S,[APHS[0*J:" M>!N2D3L915?^$TFCI+DETJ3W&&5YM5\+UNTZ"I1M:S>X(\I6@62!:E=7STGJ M7."I%CK]?&C[CS":ZR^>>$01B2,6,/%<^\'U"IQ^9#6FZCY&F89 6ZXP S/C MT5H_D7!ZJ$;<)VH$L/Z0N.L?U(G;<)L9+.Z0V!&Y(,E_K_PIO^YF[,JYUZN2 MU.C(L-EKA4^S<<>O[XZ_%V3)@"Q=5*75'E*UW_]KH,JI9>;'0?B* ;@J/;95 MR9HRQB5K3&954AH=TRAB,F-HC6.TY-;#2VC)J8!5\+X445E3.[ 2-)V8+0TN M\MAV'8&\T$P#DCA> >OGD7AB:%3SI9A3ADWCVY<)W[J^PPIC=QG/Z*B*:.K'54R]+JI^%C89VZ])?08TN0^IV7/' M2VX3/N46,UJ]U1(-G1.+"J%UV*/O\@%%*X:V1=G@*2OYQ.QT>MHU(4MG(FB9 M\ZN_*:^^S5FU3JA,T-):D7*=:' ?EXI>P4Q.+6TU.I9H%L]00@N[<&II2)Z( M/T$+N\JLTE49F[+G+N%.7@&3Z2&D:&@\I0 BJ*I6W$5!)5.M+DNK!EH[ MZ5[M!?YC,R;A"$WL&IC8C&?7@=^?A+2K8P&S259H&FE;P332(P59UL:B>P69 M2K7\.M.A]H%OP^)>P5]GK;%1M;U>FP:D5=2&.@<.WJ8,_/+Z(Z)W>V;U[;HS M'N8637KV*8NJ4G*W!>Z[HR P2RK2M"]@ZHV.(HN2L9J9R"DP#UU0DQ6KWBM\ M5JIJRGJ:M!AMVCJ28NRUJ5I9BTF>4FG-VTG8']HT$RL84(,%%$G\RK*RR!\3 M=TPO,55MIM1/X9>9DG5KO[*;9/=!MP\<"%N=3WW>G586 M^!J$/9"CWHQ1%^0AO^31#S5*95R(5 MFBA@ZF#(EQ6Z06N>0^AM4_N50(]>9U8U43W:0E5U/6_Z,(E8S<&/\/_OA \K MLM!..,"_V\G3+ :\>X!?H9D'IJB9A>L4YF5BC5R'(P/F7C(7]@A1%;830U3D M$A(7^#M^6K_#\;&SK._G]C7I.UY"8Y"L5EZ&,38REINB63EG>%+1R=1*%09@ MIM)V(J. 3B'H_Q3<*)H V@BML^6QMO=Q()#1V M>"1$>B$\&;BR,/7AYU>9+ M_3:"/?FXK#?,S9@.&5V^D+#OPE:06^MKC8[2%MOZ:DXD5MLZ&E3E<%_+0562 MSZ)9A8,B&*O<"1QW9+QX%+6HZS%&R<,)U-<@G//H9G#.&,1D+[>LT0KXBJA) M1;+:,?987^6=$U$#]X4XS3])&*P#DT&;WIN*K'P^TI@B[YI[RLY%0WPP=P7# MD-919D^@(5Z%(H>5O"S*W,Q-[RZP)K<.-QL=0]0+I>R@_ MD2@.W3[X?/2#KN\L_V'AR74"K=!6HV4UJN5FFT&$'C2[X$!8967@5^]@8YI! M1>Z,FY;#H-VYRMUA#F$FUE!X2]Q>"@GG+12Y73&4NB=9_(YV?7B8=3+;SPK50!2?.O MV \P@TF\^2M[I^?6O821TWA3AG3A7SI9JKC= ;$4RS)E3>T_: K\:!F*HV9&BB5K%D@>""J%IQ*+J+2 ,$YM<+8>:?=62=B56J"E9OB3!.<=[]= M_5,4KJ[/-VO'92G<_YZ0;>;7-_>7/>'^1CB_N;ZXO.Y=7M"?>C??KBZZ]_#+ MUZOK[O7Y5?>;T+N'/WR_O+[O;5PB)VOZ\,.W)XX+&]C'U:EFT\HT.^]=%LK* M>YJTI%U\_?+DEB"D;LSU9 1C]%?/JY<=E9OPT?;=/YE@GL_V=_@%')3;D$3 M*_;KS>#K=,/OS?;["S?J>T$T"/DO?PAZ>O[TI;]SI]LL@ M-N*9&P/8^QDLA73]&75#1=;A.2SF!928WV\)'^+@D;!.3<]N/!3<.!*BR4/D M.JX=NB02!7I%39$^L^^PG^7/0A *\)791\F:TP\_"L]V1--<@G!,MPB6JR]T M)X^3*!9D$$"�"&+5R Q?ALAT28/@LL;PGW,/(41O 8?9%';.J#"H]>\ F M:GH;(*38LFFEA)AZV,('0._$$<%_'<1L6/JBZ#4">$69]P,8# M@;\/2)A<3YM/+Z*4 OK,EK]V@<1/)A(&MO/ Z)%\,J-A)'Q(V?BE=QO->$@I MZX$S *AB;H/K^\$339"E8\0P]8B]$];AAL+#)**KBDBTQ#UVN='X' DPL@ D M!N.?OH]RAHS&P?-T39/8]> ] EC!7C,&H N@L^P$)GY$<9N6T:!48SB<+YJ2 MQ!V-/7?PNC*9E.@>^"2A0%[H:03Q9[0E+WW8.-(OO2$K8?E9Z:M3$E+RT-<] MAL'SZJOB81A,'H>S]"YG84CPQ/Z8N(G+(PI>\&I[:>GYM)\E@U9('EZG7Z>P MHXM]LKT)2;&VNC2J*>$%$U8_@$XM>8I>0*?!+I#>UHIVS;Z5,.U],TA[7,., M;F$SZ;\F_Z[9(%:V@CJHZPU;%,_*FPK8DFL_F=I >7Q[D4(M2=%A2+/35N;, M*E_8'I@0PI^?AX'GO3:#9S^%]GR#&-I/M&P-\4&GD+$=)@J?#A@ZM,Y-LK$P MC4=8G=[DSFVJ07^T>BUA7IB1O7":-$05R!5H%3= M$8S-5+/_V!*Z$3UY'+DQ73SS3N!- 8AT./'HA/LDC&V8XB (XB0N N,$; ^< MD\KUDZBMR_8%T!=4;?GT3T"'Z4K8?32V@D?BDY!]! LG8_IF>R8Y0!B@MCN& MM\_6\7NW>SM;2*KGY_RC$TH6T (^,$(%8]=/=YY$RU,R)IO2.@:G_"5,C2?S M3E4.;;O&[LPY_P:=G#P\6R$%#MT68 X^ 5T9V>$KHS-[CPWJ9;P@*5,FOE7X M\PE-0SWLW?/>8##&Q(M!UW8]+V%A"FC8,KVD.-)LHTEBW]$"SD"EPS8Z-2WZ MBW;N= .:$O)\41"^)&,+O2$AL%R&P0M8Y0B4=!):5V514"1%@9=%R;N %K!_ M./,-:"IL:XD.5&2DI._+ZB!6J$=2-FQB8\HO2GR*T">*!6?"P$/L_I#:+6&< MF&'TZZ_$#AG]0P*(27:UV2L2=A+?H&M>_S^S M9;(5 NU@D/5XK0'65G4$/?E*EL:2!ID)_M\V$ -@)F\)M>TVW79+SQ+A6@UI M4_(U5?;MMP==8.PE<;@HWLN<,Y(X:65$Q0NH. 6)H"(=<]*QM: 14BW"-L8' M9M33C4S0FEI3%^BQK>_8X5P+#-P07-RI4H0/619L(O0]6JG: 95&(RP$'@-S M_;L=@A)%%N5G49=&#Y*=15S4J;!M4Q[1@$$4"93H3,J$LNNK)=:I28 M^,FX\PTIA]N0O&/E8!$XTH\G;,K);M]GVZ;CTL#%U'2B^_9LLF\VK)6@X)M M8*Z(KK8MHFM6%M%5R!Y[@"DT(_?N.+@+:UQPY4U<5IE-4Z[,*PP'U>8 M#KQ;E%9Y)TK+E_$1+2Q_T4]+E\\TOI.$PQ,YH3[P6D,MU03YK+6U4;)M!!P8P& 8>##C_U$*VR)#*E\1X8V')>19[ ND[ ?/D% M$>G%-MWVG=I8W#/@V'0QS$ORX24+$(O2)44[@2K99V@T=PG"23QR.HG-#DK. MQ!M>\'%'Z&R7=.>23 C70/%_D7@*(>[A NR;1UC\0*!I?U2[T[C18B1K:9&@ M\:85,]*8W_KG=L*53>V(41)13-$4)E1_YT4D";KOU=L6Y_&R1<0'R2E#/ZTD M^)!#'K+9/R>:?666D7U%[PEA]A4G<\'LJYIE7_'A/:FYO:,QV%;X^+':0D MG;E(^( CTD[[MC&M]8/GY,#O18,@>+ MM,P_7DY.F9Z51>R,+5ED8H6PR,YHJ8=E#-(YLWO 4F 1JN-V6 @I.8U,,B1FP=D_)@'] M6@HB@%>?;*0??4U(%:F3O"C)GIB/^D[^.Q=2MGY5[_*!AD:9=CT[BL Z MI:L'T9F$(67I ^G;DX@L1AJ7<;Y> A/HSC.?J"T]'7)^C,@Y1==%91;%>NX? M+=+.GQWUTZ I/8=<2 %KPA^:$0"[)?2HDEH<[BT %P!-!YWX-"$*I@\Z,/"2 M_#>;'I/1#[T@20-B0Z3A7/I>X F+0A/F.@&_?5;D$"8X&4V2(N=)I@/]."2@ M?R)P&MAP5 >SKA7T;<#ME 1,-.-7@?I;GC"=4@L\J'1R*Y.BW2]L[YW6O:+@ M#F@<0DSB;-.T.&>6@P=.%'6;8/.#^3,'BNV%(Q(/@Y3B">WF;&!!YDS+!*@N MG'LOG''3A #V)>K%^1$1:7I?>J"=Q#?RW"EL+UXIO+K^^M8TH3VIYT;!VU:E M4^K^#L3]!K->ND0(^.[3BX3/ !W8 .86BY[OVJ/^_JW'?AD#R MG8KTA\29>+3W1G+[]HV1SWS&-2:]E3$4765N-O4F5HMJ^)ML7[8[,^LZ3<,9 M!)X7/-/MX@.+@043F(\3?3S+LOGJ;.'I2Z:!(W8[& C@V>.(G$U_^.RXT=BS M7\]ES.E8:;5ISBLP22E)271E+1F2OKF].,6^^C-;>?D,T-K MJ:JY\6.I)>_TF=S2I-U&?6^R5DLWE!K-5-*.'LD2/4ZZBMUOCV:S5RS*,D:D< M1)$75#/)4GL2*BV%\]XI%%]5E-XZ_@HZQUD#1U>VU\#)6\I&EQH=V/.4ML91 MASN4 Y2#]^0@0QVXW'(@@QQ8HFR65<.8HTK%M=D/WQR28%7BO4I1AHIJBX>R M\;D=AC2A^.\T_IU;OA20+U.4+)Z*P"*FRL;4EGAUR9A2 5.J*%N%=39_A87K MHK._KZ0$5-T9Y<@EK'U0"=- PG314%:;-=;>.T!,S3"5H5K\>YA:A8W>Z.AZ M6761T9+.S?W-64!H4^]5DLR#:NAQE_3Y;I,"AZR^!\S[D/8MNK83_U(]YY(:5G#67K5]?P;6WFG9+ MBP0PQ9(DART.X*5N2RMZ_'7/YDI8H[O;[X80X5S21F43Q M>7*Q,+>R5QH=W1!EM7 V&D8T.8;<%K/VL)!3P=R5VJ*A8\B3&^6_0Y][ M%<@MAOUA!5)K=#1-5 V>(ET(N;(A5^AF<]F0TQL=117;:EG]7#%E 9-_^1:_ M+6EDAQ6_=J-CBJJ.:0S'C+A"A2+*1IP!"M\4+:NPPD>;'],<*B=E+CG=4798F-*3X+8BMK6RC@$X2S4KL;97[I([ MR\EW:>U)%5;N!!.Z8TQ164 0>-L5LU?K*9DX1Z,=-FQBL)"7''TC]LE[0GH MW:9H2-O*S?MOK.GSAGW=4E99F_NZ88NVJN>"+=KJT*)M<[OEMW!-@(8)O[D[4XCV*FJ1>Z[6SJ4Y,T?;&CM*5"M$M#!:->#14T MO:5H>NE-"I26K%JE-RF0M9:IEC]9N:7KV7H?'/=DLW65J'6I_FS]"KK,@EQJ MXR!D;.%PD#C9&A+RU_2A.U/!YZ""D70Y2/=CW@GN&^O.A-3+0;VO=*-GM\.+ MM1BIWUWJDF^];CF1VN,I%&^$S5TJ_]3B;T:A>[^SK8+N%)O.X;HT&M"E=KGM M]^DWST/BN#%5D+L>T8'399JBI=3CA&[O)0Q0H(];H#\4D^@(Y@\_Y13M>8?6 MWT,0U;EI,VV!^86 U))[^V6=A)J-CKRF>N3'6DLFRM]IRM_A-M2R6.N'G"/IX\B1!1 MF15QT%O*JJH*E2*LRE)KL\HY7/7I0F26;JBM0+,*0\V@36 Q5%0;B!U.^95M MIY55#HRC2-$^NDYD/*S#FYC[),[QJ(!"M6"KLG]H,SQ3$PVS7>X)-^^7M%$U MH&HXH &ZHALJ,$ MJ=%I&ZL5&W?-*4,11Q$_:A$_W.Y?L@-@R/>+)X<77IXNH%Z:?W5F5V;U7!ZX-X;Q7OK?). M/;RWBO=6.7%H3L=?*=1'J*)HI9560)9EJQ;W+$5+[;621H+M>^KROS5 M&YVV(BIMGMIM(C1+M^-6L%G%87&[T3&*W"I!B!VK]BO;%C&85I,MO-B*%UM/ MZ&97H7:N55D@9J.CJ*)IE)4MR)&S?MS0S&>!K&"S"@O$HCU&-+S86AN,'4[] ME6N"P&J86FN75N8+8QYX4Y-?V3,+];&NQO30))EVG%=EC'W4#)FY+(]5:![> M\M D6FH)0Q^U0=CA=%_9=H?*=%KQ+&V,?.3!RW< 2-\=VQX&.PXE=3(7%L>J M -)S4*S253?HY3,I5K!7A4FA ] PE%$;A!U.N6TU*5:QU*9*JT8UN Z2Z8YM MMLM(SL(VVQMDO(9M?C3):'04217;Q0OV\=&E&U4#J@8.#FPNR:*U)GNOEIO^FMH/GY;ZO2>_+W:'3RH] M4()L[S^O28WWRT/(Y@$:NJ]'OAT0X#T;PYE=AE"P]$MPX$OIV-!3('Q/W"<0.:"'8OB/ MG'^2M'[(3,P%.Q8&E(!/C(! "5L(Z:7%C80Q4 M)2(\/8;7$DJQ1R&&&=DCD,X8?H2AGX.)YP@/A(Y)W"?B"'$ ;_<\.HH=1206 M@E 8VR[[( Z!& ,2PAP\UWYP/3=^%5R?/LMDUWM-'DF5W0.)GPGQTX7!*%0\ M7:!&#'/N1D(TZ0_%Q=71R:=/-V%I,)O1'##)A*/A=,8. 04W IH[0O)LP&8\ M&8WIRZ/D\36O3M<\B0B=.B42)!ZZ_2%]1T"Y.?VNZX\G,(\)G31,(5DC'6I.BK,L%6ZL4GM@3.U71G6OY$GX@FR\)=?3$66/PLW#S#0$T-SNE[&D) ,/-*/A3\F M 5BH"48CXZ48&X4\""+D^X$BVRA4H%!1V [(FD'(Y:-268 M\@[! @!+2,GFOR&7Z].]/D'/E.Z4:I$+\[2!>GX$JI=IV55*B6\&6R;WYE'2 MKR=LM$,B^$&<#BTF^BMPB-=T0OB#SU!L)X((WTWDP :U0GT:=P"O H%.ETF_ MN_CG1(K8.&'$WA0LDN9(&*_.&/_##U9E)6":8D9%T'8A4\^#,!C-]43R64SZ M0]_]8T(6:!WXA/)R!)[>.IHS-K]'\LG"I!(UN*"G9QH.6!H%(-.PDX6I[*&5.SKT\V :M$% M6"W^>3[_5+K*>X=KX#)^XONVSJXBI$D]W#43/?T^G("WOL6AA^ M<.ESP016Z$0?SX0L.D&O5[VV]NY5Q=X;UFKIAE)ZK3*I92KJR<\U&[>VG'IQ MD1"3IWI:CXSCM'R:Q,JGJ1F28FI5:"HUN7(L*\/)9 TID*4NWK%2X#Z(;:]8 MG;'Z)=I_!ZOR=>I3#V I*_EN&8. IQSP/IUX]I:^M^=V-.SZ#OW/Y3P4MB;V MF#=V+2NT18YH*"6?5Q_%812*WBF(WI9^CSN*WL!](4[S3Q(&ZZ1.;728ZZ=\ M1K%#L3M)L=O2OFM_.YY6JQWO!"Z'[%"2%S.@.6I^H(D"L;1.,%:0O83FR1O4 MUN'N3+QK(2@R^F^G +TOI0FJL6OY2+D.(;XF3):\C](Z/WD2<9.\93[1O=AR('DP\TC# ,HIP(VG SQ%A[U*U'4=$7?$ MB..H'9JFM/E#7-'PR8Z]"+'DQ3Z)UF%G M32K8H#BC.!].G+>4)%KZ3\EFC%]''0>320<]"XMFT6L;\_OE_+1=* M2BDDS;]B/P Q)O'FKZST: E6U:A;I8HZS?4TJVIIY=4NPE1[ MGO'&4_$BU6ATVHHH6SS5*D#,E8ZYPU4 RH YDT/,G6#, .MC9!<@^7 UC=XW M$BSTXDX";SP5-*)-6155;'-5X1 Q5SKF>&J1XAMSA3K$R0$[C#W(G$#_X#@BAS=\] M#!ED$IG#'<2];Q7H&#(X";SM]QQK%5=M>GF4IW-=Q%3IF-KO6=4JI@S>,%74 MY=\Q81=K2^R3.$Z%=!]-A[[0@T18#OMD]'M/7P:N]8TI$T9^[^-0$"Q28L$*#Q MZ!;]Z6]F5N%% B1 @B3(KHVS'C5)%*JR?IF5F96/\435>TU=PDMVENPLV7F= MG7=[2+NBWWEJ^11MO M*TVT'\0VR@%M)/!33:9!1U%^S16Z6@?6.I"^1,NEPS"LQW!^,QS#-=F7.6-A MBJC@*SS^F^.9WU+0:!RP0$1F/83B,QR< <"6,'P(9MO-O1A0H1&5-RP$,R_8 MK,154E"KL-A341&NDEHX?$8%\]039JQ*)'/.K,AA'V=@D +DP^"#%[+@GQYL MU8-KO;-=6"8 ]S,SF?V$T"N@F;Y.G7T*6S6$GN**7O'B%#]9AZJXL'- GL . M0F9A)91PSD#&.([W#"M6?K)=^,2+X+U6\/-=EOIC0\>;:;[*84(UR+-=6N>4+6X:B/E%7)1$)AWKO!9>RR=9KBNF1 M+^WS F)R"@1Z!4BEWWPN"/6_U!Z"0C[OJ M9-RP!;-[PR[#YR#Y[L7PW8[XKH;YKG]S/^FK>K=A3^#Q^.X%Q-H\H&%&1C=L M)GE>PEGD*(;8^;V._Q=][?U3D^=>O#GO//^-V)I-GBR_Y1X,;NY[^N8]VL\R M:.(:T+-+>A^*GB&@9S)J!WJ:#H]H]QW.BU*XFJ!/JYGZJ);0![9O=/-@1';0 M<'C^F]G+-)0D8TO&/IZI=0!C8[>MGCKN]J^&L2LTZ-GSANZ]^P0D]OR5(/;7 MDNNX2<7KN-'9KN.2ES/1*0":?\3(!,WTX^PS@\D]L:"NR^;]W:8 MA%5X;Y.]M)O[X>%%<.4-6V.(>&>[=@#6IO+H>9N]HN25R#E.LWA/?LPX MT^$XZXW57F_SHD0F*%\-L*J*Z@:!A6T;^F-UH%]SEK+TUK=&\Y+>^CT.$F#Q MVHS=!\8>=-5NKW70 MF^"W,69=J-UAP\&;\@[O )14MNSD]=X9SCM8R/<[L45OQ0[E'0M_V(')P )V M&1C6^S+FY.:^WU4G_8.KP69/\_[^[*[AE7(A^JX-[F:"P3)X)+!V\K@.^RW8W"X3BV(ATU[3]I]0UA2 MYU0_YLT ?.:1BF*(_!/^/,&0"GNQ0@4T, MYP#N(.#WWG:0XA469BA+V#S/ MA,C<#F7A8+Q-?>6EQF\;&0+UA_ME#*:YKI M/[T@*&LJL[,C5C6Z;\^:7 N<^%6K>/Q,_L[(QUM@NZRP<+PR0 M;KL(-A"ZMJM@#S6]^TMEGR/]7ON%OC\--3YXKKDG028W]Z-.F0APR]74#SH;)0!KQ['],GW0#B%JT\P M8 A$>?M79"^Q#/IFI-*X>P&12GPUA!D6+T46[Y:Q23(VJ?VA.#(V2<8F;1+A M*YHZB2R7 4@R(N(4?8=VNM1*U"8J)%S7FS;60)WNJB3L+B,V0G*>Y+PC<=[@ MI)RGW]SW^ZK6O9BJ'2\@*@E=;1&H8@>>^C(VI#+/#4_*+'WOB9KEQJU\?E+/VDG#5!SM(;:T\CE>M68FIGVD63F)I@]6E5&S1U@=0B MW9I#8])NL?W5"PWGW#KU8;=E%\UNIV4V[>9^-%'[6E.^QM9#F7I^H MVN&QI(WOYYFM%\G8DK';8NKMP]A#8.R!.NXU;.BUN^0"_HTDM]V(5*%F-FI9/ M3Y7,9;?M$S&;'2VO MDZ,*.,/S"0-WO'0#_ JF8[1F+LK<1Z'P#WO&)OID,M;Z/7/:U^&?DY$^ZFE# MS31'FM5E_QG=W'_EQ3F,^WA'&R5K%3B=B*H'3J4643&S]S7*9PIP26F;Y9,U M>9+T0==N]9N]FZV+4@K_M(VI[8!,84%)N_7)J&(.]>!L.=1B+8J3+D;F3LO< M:9D[W>I489D[+7.GBS.IF!ND=P]Q]:PI<]G,WC,,5"9URJ3.)MU?;Q=+QULQ M]IF#,Z-%[5F=<#(&4[FO#H<7D]4I64^RWCD<5,VSW@18;Z2.M8LI9? "4D!0 M#?!#Z$ MZ-7 U_QAN-$,_C?RL4!F+=8<=+N4(MO79:.'*P;:MCX/IP(:E7]7];','3DI M3#[YW@PV%NAL.&3MH=LN]D]>L?V5;,&7:R_KDY&!Y?0 MD%%D[474[B"R)A'5N[D?J;UNFQ#U$E1S4?)XB=%^6 QZICP;OF^XHHBMST+8 M7UM60#IS?)85F>&_Q<80XQG.:\< MIO9S-J7Y; VOCJ:'%QE0^KC[876[@BA MHT!K@/I![W#]0&K@]:2YZ/I@6$]8H#U0/.Q8,L5&'5+[/K-_)=Z\PUM)8Y9IB28WGQ**8MN$3 MWP6AVFSV(S*!O>B'M7EK?'/?5T?]LL8T4J&^ GAM$]%'AA=VRE8'XX,+MTBE MN@XX/K,GYD9,">;8H@]$^/X%[*0>U( ,%_OQ!;?CXQ261>%E>QJJ6A=Y2ALW M%:DCM>H6HFF;R&X635B91=6U@R\>I7)=!PL?EPP3-]Q'Q<%BHS*4Y)S.ZF0S MJ/!K'-&UVI>C])O[GCII55EUB:C3^J@;1E2/$'6X'TUJT36#0_"B 2\4(]^5 MZO/9U&>Q$9]I'SXSF,P3VY>5^C?WNCIJK&V85)Y;B*5MRG.36,*Z(>JD555I M7X#J_%L4\,;Q: ;)LOQGOR2,]^,M;<>^O#2D>OS#-MV^2S"=_JJP&3"-4%_6 M6@6F%Z OOW>#R,<8#JDIGS]J.MF,?7F(FED,)P=GODA%N;U0JA8N?3"4J'O# M:-RFUF@O0$]^Y]-?4C\^LWXL]J$NU^B\/T5?NI&O-.)]X:.A#CR4/N,3 MW^N%<^9+_?>LXCJ40K3X1&7+=*& M95'Y%E7N:9X^5\/HU5PG#?!X_^9^K*O=45-U0\Y?>%IRM>3JEG)U-2]6 UP] MN+F?=-5^TWW#VEU.?E=A\WLJ%9HO8KQG3>BUS-XD;*JX,O1 'U:L#+VU"OM1 M*T._GAON(PQ'%9^9@E7%#'?UO_XQUK71+X%BB,+1A?4+DG+2*^6987?C0-20 M#EY !>F^UAE,RK]N5U5F3>L,M8FRO%&D_&B& M'A*RK-"]1)U$W>E1]P+NQWXS'(PD48Q0F3*P)UQ,@?-FRA)&\ZJUE\YL^. F_C9'?AH.#G;.2WR2_732_ M[54_LS:[3>AX:ZP*B60WR6[M67W%ROD=K RV/@*CEJBA%&S])83=,'P+ M.\Y_#QFZKHOY]KUK^EC3XYWGBV]L%KP/@HA9'UCXJRJQG?J.IXUJ\6LO"$O;]BBF8]B+X "%^$7GO?S4@$:\W7+]),H) M%[$;1L@6-.?Y6:9)70-<2G37_>&"_4$*.HY+N%P%7$J4T*IPJ:E1CKA&N5G8 M3Z+I*M"TEY=U;S3QZC?CEJ!IA](8Q^O#/-EV ,I?[OO+%U P)A.;!0;9@5%9 M9\L#O.9+MH:)T^K#X>C-2&N?"?S&>])4JZ2&=O%J$WHE([] 1CY)[$J_RT,S MFZH/*CE9/*D8CSYCZ*Q3GNUP MKAC*$XSB^0I\:[$GYGA+^,P$HALP;N#-PF?J;2F"ZO@-HF.$,")SY^C'(,>? MLHS\( )@XCC/[Z 'S\$O%L8W!N-0?[W;?/=,8!( ##T-+WWT MC86J!-'T3V;2V,8CS!_'46;V=V:5#>+-E!]J^=#7V&^PSGZ?O97AA*O?(P/9 MC[$ EK:P^87XPP(XHV*9FV'*BKV;>VW0*2M=!3!RX*^.\G6>61A_)8BR7CLVI++Y59KZW((**#6;6;78_\1O3\WT6+#T765*!T2S:]@#F M', /@/4?YPD&]7Y'>3^CYQ:V:R^B1=DVX!^N!Z\QYS;\PE*F*WI,^+W"N1$* MYQ>@6L'B,K?1,GX< .HXRA2F';&.\D";FLN2Q:GT.-J3&BXJ %VTU4W*OMC$ M D&H*L_ -C5Q,=B."RI:F*EY5!L%_9O[?J=,L1(@4 5+V8%8'>=ZK&^C=W\1 MA9<2&L LZ!OME[@>#A"",R)2Y35L,G,10O ODL?$E;%7\LNAI1 M6S\VM8='IO8 >$[KE 5W)^3&H FB>+/3/[!$5F8=PYO[T2[4$/WKX07%P7%W M[(/GFGNN>52!4S++I#U&U.DUIP>(\[B/ M!9F67F#C#^[H)+2?6%J'Z<=\*)#0B[KI(\846"X*RQ_9R*P_N>I**H>FKQ$G M\U^<+6Z*/6,3?3(9:_V>.>WK\,_)2!_UM*%FFB/-ZK+_($[%0W,_C8]Z9+=3 MGQG?;HT9+/#.<)Z-57#S*J]X@=:5)7H9O:HJ:+/9T10TKK0"@C%9SA\OOI@9G@ZL'(OV+#_U@LF9B5\^F9\2\&[]5)9H^G' MW! :\!=!,.DME>!Y;R#=OB6P Y0 M[1?$XQ4O28W/VUEK7A'S<0+=C[-W-CI0 M_B\S_+I71 />$*W;5$?*JZN < 8@H<]=-AAL._N]B=@'&/'K,W.>&*_.6YOY M0._MJ\-A4ZT/+C&5\CS\-9#=Y"Z O_! ^_KLU68K'=FJ7Y #=[G-P"Z#K8;R MV+H4ML("^[49"X,8U/[A/:?E>563L49Q[(;/Z!9-'E]GX#.JL;&5R;YZO[%/ MAFTAA[WS(O_!M1YPN^*_:S-<_^*:O%]8ZB#'KM[1!^V6 5^]T'"46?XN@/S[ MR8W N<_> P*U]N_,Y_2E\"ONNF(OEE&8"9*3 MI_91BQD*> M'K:%UO#(^K5(G4QOVBTA.WNTJ17Q-Y<383/I] >#QF-A>AVMMU_;TZT1-OV. MUATV$6'36M/Y\EQFN7?"&.:M_?UV;EL6<^]0?$Q$&?E\8H1RJXAT!67I^73H M /NMQ],E''?Z0)$K5FZ*5OC"U9-:Z4*IEC+LWMSWU,GA!7I/9X=GSPMGZ=J, MK#=E>#>^E68YO_Q J8JKX$*L.NN M;8C4%4-8O6F-"JH0P+XO;1^'SA>Z&/#:"%MOP#(Y,6)H^&G-#.?1]@SG9F]S MTGSG8>_F?M#9O.=5XE1G*@/BLUR*-RZ4&_7&U'MBG?8G@O$?P.P-8 [CD2FQ MUYV7L\".7I6RN[;G+6$J?.FNPU[ $UOEV XQ]F^QB >^AC=B"9]A!9^8;Y*B M(C;X5D]WN(\[O!GJ^2,']@9E? KO3IU#E-9>>=W%CK=Z"_L\$_$(,CB*.@]6#L*'@7H77WREW MZ-$-/3D/0(1AS8VU7,7Z%3)V52/);1[V_Z@M=?"V:F>5A?IU(HX^[Q&"K$RM M3PI[8)$;9F+-!F?54:KL[D>;_(C9.D]L[5HD"]4ODI%4;= M>FIX+8[;>U):\=:4*RWQ>5Y9C!(@BYB0AF*&.<_LO"@F5>E0:54&_Z?(-^>7 MFL2?*&5!1,7'_"!;%PIAB3!0X)71#/X!VCJ8!3^),CVO_XBK#_U,6^V!I62[ M(%PM%H"-5/+4QS?I8ZJR=-"V(/N,\W1K2C?.!C& '$F_D9V"C M.S! \S&Y+GV>,W>3AH!%-,'S:\R\ @L,;DZ! JV!3L$FH9+?/GJ>%:0C=93W M_/58%X^:L*&R#KB.KY" ZYYL))NHPI@'TA)L9WA3OI(C$#("&*);^?$&$QFRAC5_+$(#(PB.5'F>%B)CX4P-U(DOQN+I4.U1GF! MVJPXYHZ#XF!QT@-G+(@*!U"[V%_P:6E1^*O%N9BC?8_2<^RS>! M2LA&@X6OSV<;!X(9,V1FU0Z6>0VX[_319T8(0A#7S8\TW +XEP7\[5K\'&5! M2,(R(0\I8H(^V8$S@1%Q%6 @%@GR.A2CX:D\(S[AX4IYNKYW 9#K'G=94S1;4[2W1IS, M?V5YT'//198'O83RH.45+,MK51Y5,:SIZ/HGB*Q'FGJ[5=IWFRKL6D,#4(L\ MYXGK*4\&Z/E1 )K7(S=T4=D"Q01=.F#RQJHA+\T(!Z<#YPYJNKCCTPA^0$H7 MGE^\/G7>N\$]-2+B"70Y@_P#W%M!%^_YEY+B!T;.#(Y][G7 .T0+C*$ S6%A MF8O1T1A"W0V$+IYKF?M5,/O0'H.WIV_&NPY3:'TV:.Y/MA61/XDKJJ27)0T: MY@::]BDM<]L%S0]FR@H3 ?RS9#R M8( :">I+I3.X6@%K+!S2UL*\H]J%>;]@=P:@$"KA;_^*[' %*A]]^!OZE.); M@,WDBM%HLS+I:+19F?1+"$^)%X@=5?B+E+T*\_)W%+SY,H2=WM4F\?I!/03: MHJ+X\&SXEO()+)9VB\"W8!![*R:]D^N#Y,?X:7R/P*5N\C'W5X(UG]Q9/6+K%W+>(LSC^L%9=Y*=O#3W M$WZU[+E_11CQA-U9UD;@?Z+;$DPHS@$4,$9>D2 $?@GCAS8_(>,/Y259U&)D MGZXY;_D-AR 4SH)D-K9?09?Q$YAIN)] TX2^J5B'8^@A+-PD88ZYZ-5=@,5- M#F!!%L']_+C,?L*]LGA@&MBFP?19QDO-0W!H$!1'! ]T;7BN6) =!!'%-:WM M-NW4=%4>W,/'VW"(]DON1\DJ3D4BKASL.]J2!^R\Q8_)WU8;4I-0]H&6\7%& MWP8/3X9-!9C?>?[OB)T'BY]8AO-%S*JF&4TW^&6E/V(KFJ]XAS]=Y:5CN*>D M*>+ESIDCT*\VO2;% 59%]%*,^&W&S(X9I;_!\Y-*4D!*\=[GO_7??"VKSV;A[ M<[_;6U4BJ8BCZ*A@5GR[QT\.]"$E47VW<52?H#'>Z6*<[*[.9; L6OY6JNK' M)>I:5"!]^086]\ZP_?\Q'(QU%33MIC3%RI9:1]NL38)!&YR8'26#W1J!=B># M[K'D7H/0U1&ZDXN"KM9VZ/8 NL..7A"+G8$N*(\!*X3B$RAL=:./M;Z>IW[F7N(U[GM7><>F?H1;R 4KP)M6#9LG M3(G3B=I^OPH#G%G:5HJ6KB)M,W?B2>?6[\R,T)@,"F1Q4Z(W3^4V"M\1Z/!@ M]&QV+%X3OHH(,]HP)8$3T0-J!\*1](ABB(+^1%O2A0C1$A:MZ?E+CR>?),[& M$"\,1:S)U/.^<=\NM^IO?W]X^*2X+,QX+&VZ#*2?\[XY6$PC#6M!Z2A<$?3U MIY3/E*_\54E0I)6J1#OD7[]9^?<9702!';(O/%:MEB $2]4#^8)B<"/Q(R-5 MXH!=<7I6DS?4%_:)6HRNA938,]OD[I,X=BVS;B4.7EJ/U=_B?$J#0]>PP@W" MXJTC?Q?,J/:1/VC-D3\I._+YRDLDFN T0;$=:&U.>][WM)YT":1*(4@+]!E+ MG&0DAI,VW.(^)0VHK+WMP[9L^P1LM-&^VTXW2>@%1A^Q3;="&/?L9'0\VX4O M'4<$4#P)OPH^ []$QMH!F>')(4/V9TH?,*YZPPVH<",U)XPH]#<^OQ/Y(BXR M\*90Q/_RDSU[LQ@WV^:82A(;8ET:,1@D[;>WGS[\T$IZ?"?G5OPYNM4Q?R+M MSLT<[[D^?LL4M0-]J2SD(358 .YBUIEA,PW\;=$E33V&IS MRFF3_N/?N6[X?E:) A^\\ ^VYB*=V=_!7/^;^5Z!9C4!N\[U-M4JP>7/7H0Q MX.*:)8XXI^2#:J=T_#S\=L9L'J*(,?\.P1<^P>L*@44[2%%HA+G6\F&\P*U& MQ*5B<[ ;FV&1*@RFY)Z)8L>3HR]C&R1TQ&SY8M@%PIYM'YT/)BH5K]QRWN>IFB;<<61V ME+?I'R)&0^$^'#=-7M]V-W=5"!V7(#26FB NIA2*PW.'D]B<():I9FQ:<(+& MUWAHVBZ,[P3*9 S"+1*[-FU'YT3E'WP=K\4R8 0O"K<1=8)QPP54Y619^MXT M3O@"PL57T4:V5M_:@97).,B&L(=US$^,- H"+/MAB603/A&LNH':,??^E(4Q M\X%Q..O/B IZAHG9Z(HWBK>;6>LUDV=>+_>GOR.CJ7C3:[K"AETPIO1.6>7Y MV!6&M,.([$?7_IM9263%YCWE5AJFF?MU+XF:)>R.I*J&" M&V:2SZ?[:1MB6 M.YK36[ZXF31LOUA/50RHHLS3(7?/FQ<&B)'W01 QB\^1VX9&KXR,A+R-'^H<&-1P+@V>Y-3XZ_#"; M2^M,-@F>O;?8$:,5N9G#LO$#K"3G+29A'/\IW/_%%/V &?6HQ1#M FI*E/T> M"[Y\\,+_R^"E\4JR<*Z-8C $Q_V"-.(D.3J;F)B/LB0GV2R3[2@\$Q&9C':0 M"V^GM/J$]OPR>A/+_/HBXYFH&(E]--IRK()Z)#["W^VNT37LCE![TS9!,X&R:Y^SAE+*R.9\?#@I^R:/E\!JP36V[; M/>6GS-WIVR^?/N6*QY0.J7>UD?(A&X%=^24?_EO)OJ?EJC7"!Z>K& Y5N$KB MNED2S9\M$I(>]T7WH3D5(+Z86!HKWW/0@8%9ZW3.P^/[^<@&W6/%> A/0X+R M:!J8ODTG 59E+' V#+OH;"CWAME^2LS<\5M0UN ])MEBQ-)GD5;\VK.PF<<" M)!B1[ )0Y,UF/'>?GW'9/ L.L&V!XTM1^*+J?C=S;?)13)D?@G4%F=8M$63; MC_:!ULPB$AF,"N7'V6OB/:XJY995Y6I[J&DW]X']_99,F8U3?6-K*3OQ(7J, M@E#1!CMR>O=#WK SJ))*NYD'CYQPV^L4=)A!59@G_.(:CS#GBMR2B,8D>D[K M2QK6I"$>URG]) ;WQ6#,Q1*!=2F(IB%>:*'-$]\O" =%3A%*:K"MGXA[7,<, MM&/%_I0?)^7W+4--!^MZRX4@J)0\M)+BO@U0B4!=^09F]1-&;V:J!Z;4$L%@ MQ3'@Y#["K$01647TO\3CME?CN#UF9M[Q%.IF4_.&6O_FOK^MNGW5K#SDO%.Y M< >'.'%S!O?'N)#D)[+?:])N@)[9( MECEJOLP15?XHJ@?2.T\]D*URH)D@@_R)?LI;FF0D_M!'5$N^S@UWSYL;K217 MJNCB)JM2[[R422/OXZ#JJK)*)SG%^*-KI1R>R)O MM#;>FH*3]48#2T2^']?RCJ?54=YN4IMJI7'5C=F?7[U/G/ZB2 7OGKX%%;^-5 '.P+ #\;<>KW3%'VU MP:95+[243YG<2=-,7?5D>F67C3&QM]WT5V+OX]5,W9_$.I84/W]QV5,1ZM ; M;+U7W'&X]@VV -7)+K&/Q?6/JZ])KJN MWP3*7O?WJ/?R/*PS)P_MY--6I@_I0\K*VBP)778+E9'X-2ZB-O*$:M],;:2F MMNUF2J>;J?$!-U.3%B4,$:9NB9ZYFG$;72JJIWB]L0.\@8A\)HZM>-$OH.SGKSEW&PT^$71 N8&PP2[)9%/Y$^[$4P!ROX^:Y2^ID&,RL* M !)OCX.*L 'A+19C-)8!NXO_\8ME!TO'6-W9+JV&'OI%#"\BD0IL47H?_UI$ MYDPFG?&@A\$YH0__WXI?+.)V.A2W\RJT-K_K:YU!=UCZ=;>C[?4=R#JM_*7; MGRQ_#D3HL#>2DY63'?9[E89]1?S >0*X#AGZOV[@D$NBX2QLH'*G+[\K:YSL ML-FF$XAXKFGI-MXEW"CL3M2=B&626/B6-75Q13<%/YU463X79.I>JL2$N"CB)J:- M E;-KU/_U3U:-A705HD$+XJ4'\W00T)J"1WU)KCV&DDE47Y%KW8H)FR9CL]DV(IQ.7=@9,TTD>)UO,%T%1KM6O0ZA7<^5XBE'QZYR =3\ M89U^#:T]NV8*C6S3HNNYY?K;2YP]Q!=QQ3Z)M]P$3UQGO=3O,+FY'_7*FJD= M9U_PJYK[(QE+,M9Q&&M'[<"]&:O7O;D?3LHJ9TK&DHQUY8PU;(:QJMP$9;A. MN[G7U9XF#S3)=R^4[T9GX3O]YEY3)\/+X+O:!NJ,_M\E&:A?8(-X+S->RP.F MO9>1NK;R4C^'7H]ZA<+FPAEO?!;&PRZF:J]75@&X,N,50_RHQYK$5F5L3 MP*7(9Q8PP\?6@UC\C3TQQUMBR-LQ;DJ!J]]%Q7-\N.+9(+9>@+/S=^8RWW!X[W8+>[T&H4\IY]+G>5PN.\LE7U^[ MN1^JH\,O^:3KH,W8.LM%5E]'LZ;?FTAL73.VSG)7T^^!6=-5!_VR[I427%]*^>\\1B35# '^:\H/*/E/\E][UEU+8ST+_XUN[@==M3OI2OZ3_/>B M^>\\CJ[QS7U/4P?=INXJCLY_+^ BX[UK>@NFA,9W9^?T(P_#^\/NIB8-IPT=>4B>5_RON3]NBZ$ M,_&^=G,_48<%K<\E[TO>E[Q_&O?%F7@?^QXTF%YV;MXGY\/$\'S'@@541DA:<, /USZ]A/O).JR1R^T><\ 'Z!BQ&V( M?<7#-BC/=L!4['^$VVN8)G _-0!)6N3ZD9-VBOWR]C4%)].CV"P(^(4JF#OL MT7!@E7]%ML]+QO,^-\$2:#^S35P;K$L5[6YQ# 1J/&Y*'(O!BJP F]TN?8;- M2:AU-N&-GH75/8HP:08@\A8P>%H> G'%N_K []*9PJ>!#?MC\,73GT$8=Z$M MWEUCB?(@;@U%/2\P&)L]KOC2"M!O>; "UPL5;PJB#WZ;'9D:YYI$(&P-;*"0 MC!P#R$C87>_\PZ=?C">"P!2KU@=+WG\%MM.R@Z3U/+4?QEY_Q M7LSO/+]N8Y?LRM(&('6[H]3B>HNWH.$M(;Z( 6LR/$:7=78Q?$DO)A1N]<3: M_LO['\.)*BH+F=4-;N[[>D'_D/SR"!Q*W/R#7)_C":5'6/J;?0\SO(D>%;3RR>U^9U,O4?)Z"VHI.*0]8Q-] M,AEK_9XY[>OPS\E('_6TH6::(\WJLO\@WK;WO1B?0+?9*.Y+NLVXLZ.)S?I& M?>8E<+G>[H9(O'_#X? Z N:' 39;G6"AG$3B/H3B,QPXWP!%#,S/^GCH@)\\ M\>C!AA:\WMJE0$\3;RN8 Q@-K50V:^]&INO/)P^4C57!-DS6"9Y57$7Z/F@# M7$'@M:0"YCCP+V7J>X8UQ4] LPV1W80NX8)(LN*^2$%R%N/1#?_?]>"K1^IB MSW_JPW;./?INSAR+%"E@X:2O&JAI0O=0XW^#+((S)G+$C.#]H)C@;QV<,2EH MV'W&\9YS9RZ*)/Y;D("DM\&0SBI_,*-T4U"A=$B-\'QZ;SQWTH^2 MV=" H.)$)K:UYSK.AE(TM]DL\PP*HP !N3"^,6P?5ZAIO*:GWGYG9H2Y;,K' M&6B$#-N2 LU R;/9,RS==D$PVP8JHESNV5P'#+!NN(4*H1&/?/L,RAR(\:3B)[?EO]SO!46H)Y\8 M/[\B<#<3=YTV8(F "PE6BB NKP8P7L-F2:=M&;K7+ M!8G[V$]IL_&O:"S#74N9IX0[I9L^8DP#SXG"\D>*ND&=UD%&*-(&:\3)_'?N MQY-9@HR[G0(TOMT:,YCKG>$\&ZO@YE6>+8 GLO0K6WI5]IG-CL8^W&L%XLOC MN?E7HS5S4>8^\O,_=JMBH/L1U_[ZRDC@WBA9J\#I1%0]<"JUB(JR M!G4V/(6SM,WR2;EVIA=J9[U2=M#X#4?)@"1K[T_<,P[8M]/E+%RW:9P^[ Q' M1^D6UATW/JK>T<>#H_0@TR:-3[;;&?3V:Y@F";OCN\FP^5$E8>&5HV[SB.UV MQGJU#G]73-C!L-J3)VSWIFOK[:+$D7/A':..TUSP6JG5FNZ#DW7Z7D'SLEP? M..4D/>"ND8QI#SBEJ:Z#UT@FB;:CH^T%%-;]EVNCK^]+:(0L.&HUW0IC[(NJ MMA%U(_*O4@F;1I(T+SK<3QOM"/;=<2'X]CN&X. 5;A P^#_KJ_&];G3?$-L\ M]0:JIA^]P5I3 7S'X+)CE,>1HD"*@NJB8$?I\5.( AU$@390QX-K+>0A18$4 M!1<@"G94BC^%*.AAR]6!VC\\VT^* BD*I"C85Q3L*.Q_"E'0O[D?#$$4Z-=: M7JB^*'@!]5/>1KZW/&[1=UDCMQ$1L:-0R"E$!!;@G*B]T<%V0XNK,;=E#(GX MT8[R&*= _!!S8K7&ZN!(P$O ;P'\CKSP4P >>]0-U?[XFKLCMV4,B?C1CJX2 MIT#\F*J*C[I-U3QI"^)?P"WO R5=&('"OBO_ZGSIG/NB5W:9V\WQ.UI]G(+C M)ZC4]0]O^]'B=H9M&4,"?KRC6?P) #_J4N'^06/W?1+Q$O%;$'_^:)<11KL, M57W:ZHY4EL0_P+N8/ZP+_=A\-;^['ZN3J5)J7<"43V(;RR:!2 MO/(ZIOW,?HR0@TU^'H'&-KHVST0;QY"('A\CI& 3T6-0R;2)1+1$]/$1?8PK M\TU$XZVX)F\():*/C^C)^>_$Q]3EKGNX$ZEE@#_TNN3ZWEWKXU4'S>JNYO[+X:)%VNEKZ-O56]D@["?,@(>^?BJ_"'4]MQ 7VE\.OX14EW7J-1Y\QZY9:9F5'#YF_"#J)@ D"/ MK>O+]SHM7=M;>B5(3^\W]AMM(F\""FS_%_8CY6K$[6B-V#XD5B^]/- M6Z ?XTYH\39:U%@UT_(4FYS";W 7>4<_,X?BY$%L*#QSL/4?=BWF39AQ)-%Y MC7=OQI%FD3-#PB9O<:A]6Z:-7MS\F#HMK[=7_G^"M&M;Y^S\OJ^T^J=M &KL M<'7V%6R=[QLV8[X/NQ,+HU/P<4*;VHP\ A6ANZMYL5JS [-^RA6,806CCKZK M_;)KU5M$_Y1KF( X'>]J(KS]O%"5_Q,Y*U'DOD?K?IA[%0>;&>^&$Q M4P(X*X+9*AYK74DJ.5KX<0;3)J#LG/:L;H=[HHKEP[3=TRR(^$1,E][@P!%M MSVQX"V@IYIKVF3GI-XC?9(_Z(Z.4;N8Z965N,RI< 3\V@%VA/G$*GE\?V7J: MQVW$17]C#HNTL7T9JGY"W.G=7SY_^AC0/[5??L9>T+RQ]39>WL)NP,S7!5/&>F#@>8'KQ.DHZ:T_*>]5OFVAB_I$I]7'VA0X) M/J%/!'4MM\T@)LP[D/($Z'1!F&67*)AQ?^OX0(LW++7]J&<]M6P^OW3;U]IZ M[05AIJH!0) K+,^&[QMNN(+?+)>>'Y)ND[HXF :8ML/ M[;^YA!1* D#^$0 1$C2 3AYH0_B^CO*PU0.T38?'ET:N>!M+=!@<+CD:LDN' M(YL/T:@IFE#=BH&#N/G=]X*@MOC$BKK=SJ;<4(YFPC4Y^R'6%=IEA:Z97OR[ M=T))YC84+K*RNLQA$(O361Y\^^WX+ONIF&8/F1?7)AUFQ!383/OO^R[M^@AK M&-_<]W?9[_G=5Y$]EX;/5?GT3W*.R',2]-VITZH6,NF"AZSL=+;,* M+"FZ"O('RUTK/G< [LV"[S^\JTB6]X FVT>U^9\; FQF?V?6[=_,]Q*:=%.: M: =<;)YB?OH!H6>GF%_O@,B44\P/U%?7VX#\'A\H=C('Q8%)H.%(.A5YM?AU MFXF*8T8?LXB;F(U*<6ML_OI:,=H[PNZ%@S9VRBB?[>#;V5>S=>X?O.3RARXO M0540>P)BE'&%5.LFEUKK?K/8S,R+1/BCND\/Y6>1M.PH>S#SZ<5U9*H&G0'3L'"8OU58'2T?YZ*:W_(?M4K]92J > MO.F4+>7,\J47VXR=3093-D473L:>L8D^F8RU?L^<]G7XYV2DCWK:4#/-D69U MV7\&XYOM\DX;GX!)-]H]$Y-..LH.9]+Z3KUW015G7XWO;^P 8S0BGWV%G__F M>.:W='O&' ! /&8]A.(S'(S!7BYAN-"/V,T]'TR!T;#;BZ_GC+%DM.L?<@/W&7#:SPZ\(H()E3]87V#JI MC'Z@F>5XI)+H[DW;*FTH#X297EH]!C_GD(L''@=[G\1Y/D#VZ*O$53Y 43XP.: M9:6TJ(CZ"BD3=;(K]FSIVC[B)C:% N;$KU/_U;U.91-VU_9JJO7NU9!2. 04 M+:&CW@377B.I).I.AKH74)50V*=3-D/W7]8\.D:-PEW/'=;INFVTW4BD:V[Y M5Y,6MZ,R"8=1SL1[E$(LJ)CDDJ3/C32,YAVK6K^IPDAMZP(NF58R;2/5/-K$M!C< MW%7[PZ9*K$JFE4S;GG4W6 &C34RKW]SW>^IH7):3()E6,NW+8-H=52/:Q+04 MYJ].!@?7]SL5T[Z _FGO#[7G=Q3/J4.J*Y-)12N\&K%3R2K?B!FH+3*H794V MN;9F)I(QKI8Q*EF^AS/& /NP-U""6S*&9(P669>',\80&6-\>+MVR1B2,5ID MP1W.&!@MW%7'H[*4PW-PQ@NX/GV[$3IZU-9N+ZM!2G&@_6!KP8)D0Q+&^@R; M4N09*0JZU[!Z5&D^X(D[GYQA*WZ4Z#TR>H?'1._DYK[7[[2D<8^$[Q7"=WNU MF,/@JV. Q:B@Y(.$KX1O,_ ='1.^&&I07GGRI<$W7QT[R>C-IK^U,7-L/:TR MES!6I1!$W;1G7L[,8E@=&@:SE(B*0L/J61 "4C'E;#-!33&L/Z,@3MVV[,#T M803%QOL\7N_-,\V(RO[DZA''.;1Q7ANOX+B^Z!J)V(* ?,:> Y45C^R$8@\EQ"7@786DS_!5, MQVC-7!1@3!#T_]B=LCP"=D?9].LK(\G#;92L5>!T(JH>.)5:1*5R&'CFNE@O M+J5MED_*,YWU%N83%PC?HYP#E@TO0H$]\[T%#1^$1AB%GK]29@S+;#J@S?A+ MCZ:0S 4KRVL_9FK882W^:W6UZ?$XM0 M,3?@^T*56KXS,Z+5>[.9;6(IB[3(+0X[,YY@1C@.5H/A+_A7YTLGF3.F7AL^ M%L:#*<,Q9=FA2)L. OILREV> 5]XZ6SB;&T:')]+WXC0E=R).=Z2ZC_Q.D_$HRF;%VN7HG U+V%+X\(\ M-]>6*QJ,.YAY[A%8D*1?$*%4LG$&HF0Q/,^E$5?\H<&\@@-L*F65,E)(-2HD4SP/_%"'N)UU!9U_9M[?5+J M[MJ[BF)O1YW38RQE %*[J%CKUH*7V!Y)U.;-*0S$B"'O@5,B\+)\E' @=F9" M3BMF/P^+GPMY8VV6.+\@AHK+KL,R E'2A]=]]P/8\ES)7Z2;(SH%V"CMYS;H M5U@K:.E[H,,(D:KBGW_RBL6%8A0WZ]'C]72^*TO'X*7[ RQGQ1YM44O'HZ)^ M@!NP>.%=O#C]>H<$K/(MBM<7B[:D4CTJ7O!KG(9*W1VH]5T\GLN$\R/6"].Z MM_A7@:#I*._Y08 U[(1 CAM_T2D9B),QT< #ECAA8#WP+CM7>XO8#"OBXW%! M_ICUA^)N"'FLJ?"W3[3B3_%^%C (4J1(0F)G*$$0WTJK_YM>Y%A(;Q@6?KR* M->*B\F"H$H&J!FN-72Y7"M&[M M>F%O#1^Y(?C$_"]SHZA8F#[+A7V W1 AVS 8[B$<@@H-NE?M,'K' MWE7"UM?UFQ'8YH-KO;'146>55 C31Q=9(8PD#X@3T2H-+<\H3 R(*2Z=Z[Q\ M\5G& 8ZAVNKPTP#IM$_M,/&D983&598/Z\.7W<$1ZD9IVGZC;JT;I74FVGX3 MNJ+)'J4BU\5-=BC+A[VLBEFR?)@L'R8+.5T8*67Y,(FZ]J'N!<2_DU%IA/"J MH\:N51BC,7C*25[G)!M*]^=AD9.6LV7BG9!9_S)5K:&L?P!56F^D;H*:/L;8 M.74RD#G-DA\NA!]V)/L?Q@_80J^G]@^O)BGY0?)#*W+\#^*'7O?FOC=0)WI? M\H/DA\O@AQVI_8?Q V833=3NN$WGPPMP:+QAKK>PW5:X-.08%S3&2W(O_)O^ M8-:M@?%9CRP7_A H7A0&H>%2Z%<4\+!L'E#!1"3%6O1$P"-AIGD?;^H#W],/E$#[<4:A/\''=$LI#*CV<:;?W ^'JCX>M^@XDR!K M'F0[;.;C@JP'(!NHO<-+T$J0M1ID.PS1XX*LSR59]^#BY!)DK0;9#NONN" ; M ,CZZGARA>7<+D+#?9LDRU+ +^:_QCHNYJ]?T M*1?/<'C /&?!AS#T[6E$P&.M)26R)/#.H]^> 7AC!%X#EY42>*T&WNYBQ:<& M'I:T5(>3IIK*M*AOS$7HP0=X>DLRY5KAZSVLD=:E<_E^CF"1]KEAX-9EZ7X7 M;-N).A@=K,74W2X(_X%,SY+XOS#\ MCYK!_PCQWV]3:/$+<%J\V5UN\QB^BX,# =I&Q^HBH6B%5R<2ZIE$ H1%0F%, M2N'!AV+[PF(D!UPW!]0SBK9PP 0YX!HC$B4'7#<'U#.+RCE@T"7#J"5]/R4' M2 XXCF&TA0,T,HW:Q $OX*[HDX=-%GGCCR1)2<1ELN_8>H4ZA8B;?D4$<)X[ M\O+J(R]V!%<^P);%N_6%F9%/C7G>BOUZYWN+UVGKB' _4Y*9N/,9 O[GO MJY.!3+Z_;NSMB)L\#_9Z-_>:.KK&NEX2>]5#(L^#O3[*/2K++;%WQ=C;$>UX M'NP-4.Z-NZVKW_:*\K3N,WW:^!5I6W7 M\YQ1"SS;CWMEV]C7,,4.M;,-6.ZS>"[/#!M_)0VL%6_)>\56Z9HG2"K6W<=> M7'&3OCOJ; SO25MP(7MDGA(-O+KI(\8T\'"UI8]L-%4X.9/S5GNCHN;P:=.S MBLT$^S?Q0W,_7L$2+)W;J<^,;[?&#!9X9SC/QBJX>94'.* [2_0R>E5EA-GL M:(S &=W"!I $G#L0$,S'7\%TC-;,19G[*)'_L7O;1C?WU$#PUU?&?0R#1LE: M!8,GHNJ!4ZE%5!1VK_%PI,HD*6W7F6L3VMAT,SYE;M'9<=<;QFJ"#9-QP[O; MWBD.@N+&G.^_OOU#T3L[L'+$*:S19M#AQ$A[@2>]5M_8@1D%0=QC]<$UG%5@ M4V?>=TD;5M@D*^W#^EDTH(6??.3-V.'P.'M+8AKQCIJ_FQ4$^MM\<\]'I.?B)-NGU5<6 +Q?4:YP:_>)S MV1]VE ?'R4Q:]#JF]M+93V=)AV78XADH?+PM=64B8.O09>3#6C;C%_ASYE0757J!^U&#-?"IYHV +;AG? +?#R9 #[LH3[D MFHR&X&V+XR:I=[R?J0-PX9V>IW_R/M[TUD7" C1_T>S82W!,[:5Q2:A_/>,? M5H24@=\"L)B+/9W5^&/0Y)^8XRUQ.)54+=->4O-4X"G0=& I%EO0)&"^QA+1 M"?K?DB$[P7N#_$.@2S^'<]XDVH??4$MF+_*5:02O90%?#\@W&-Q?J?'D00YC M'6#J^?K*PZ;6_C=0' A9&Q\3B-8_3'=L MXZNT ??Z0!SZ!9\SRR[Z/+8DDB]@"Q-:\>;,F6]XC_%'4K[Q#Y]Q%N'-"+& 51%$S_J ;=MK?,9S'61J6@'AB' %7P01L1P6 M6/#MX!N@)D)6#0T@:\"X)DYO#.\'$O\RUH!3+"A."W2"]LV>YCUW(C\%S>Q9WH&(/:]6C& M/O$/O9P0G'L[]7=/V&?+JZEI/,I)ANN+9N^9_NG" M>O2XR/V3+QNG@(2M0H&.\C%*!& J<^G9WU61AIH1,(B\"2")9>_1%T' MA.TB64'Z$C+H'3EP9 \-OKJ,/!%K^@R/*N^ 3AZ@U^(*#/_VDP''^?OWJO(> MWL\/5^U!Y5N2GO>PMG<@"Q6M>_O?N;6@N"66"3+G5/9)+G]))C^X+F[3YXTA M_]^DI_8*CCB%SFGE#3.ID2&?4T]3%>S QT_J;6Q&6X"8A$G.5\EV@&B,(2&4 M%T$J=\ IDY[V&Z04J8F(!G4W-L:(Q/;K9823H9S, /CXQ_\EFSV?7BK?J MP/]F! ?$@ -G 6[AH^--#2Z<@.]\A(BA3'W/L*;441[$+RQMA>I5B/J$\I/I M>!'HH8$W"Y]Q-/Q9L I0;_N9_N :%WR()#&9$/?,%:WLZ!T>J;]]^91P"Q>8=#P@/_X5V;AH$A>T(N /@R2 B7H\JM:)]C8# M2O M^4Y_%MKZVS>_OZ6YO0?ER0$A@5+]@8A,WZD*B T0*Z3D@E7Y=WSR+Y<.:@$+ MPYQCRV9'& *X20)?*#N<6]"E(#Y?8,=V" N7U"Z M]:#7.( @(;*2X0C-2#N$AKV **=R<>-:H#?@V:#^'P/2)Y#/?5)\;*QEAE7*,H, Y@![W(VJ M*HZW,IQP)0X,OD$T JA@#$R5>!)B9; :TPOP>,:!Z>\GPXE8?'3E68)/A=?3 MPML-F]8'Q$?N904"O&5"3AA$W@;02^23%Z_4Y.?>II#B8A*A*'8(Q[9L5.*4 MP, ]A>%-EM4M H:J*1Z!\ %A((]3JCLGO/(+ W^"AO$CBA6G8 8(6S3+A%0" MV#I6XM1Q@/!@BVP^UE%>)R\DA9O-2 4FH4>O57Y")N/. GW056%SLLC]&1@" MU/((!'_\+3RI=P9PIH,,0&)E?DQ6,\Y%^>D1<19[(R2H!*#-T57,)UG!_G3$$5O%9S D^9 TGQ6H_H0TXH M/EJP9 A3U)H1T.XC'4:PGISR85B -_I]!0'4B,!7I3";3B3GP7R]G3X,. #]+WYJ5+,73U#-[?I''[T"G#CQT4;^)!)= MZ L/F3DGW^&:FX9^(6(7<'(Y4Y#,PU3>T6W_A@]I[:PA/3B[3.S$U78]\S7H MTTB!S.[!OGKN(XH"].\Y!I=Y>?VN(WI9AIH&/=+Q#' MG<0[1C_FG$/R#7V$2-BUR<8>*U"<&)^8BZ;9 E8]#X0+ZPM;AED?5I=\6#UQ M!06O>8Z]L5R5B 7J.EW(QI)G(1(0Y<+8O%/X15;"TPLX+G-"EAM;>/>5 MP,/QA*;.S1^A-,.3ZOIH\6R0"+8+,P(JK;)@QG.><0(E CT^)8*,C"Z0Y;"2 M6/3#'H"$M>DS?$T08.!W0< 12 =H$VW N*30P/722X3W9.L-D?LD54L]_ M-%S[;X-;A)F%Q[=5P)1@981\O1% $IW9M#4 U)D=QC:AL8 7BX'P>U@'C&6C MK:HF\YHQ;N6@&\&&!=_&",_7&W9T/NWBV0>+Z=;R MGO%P?P\'G64)S]]S?) *XYJ[F?"@F=M+U%(-4.C@P RB /_R3 :S1PT4K2HZ MW1@+4\<^>K[L]+3**9N)7S@ S<#GARF:R^NJ3_8\!S%N?X=3@710M.PRBA _ MA,GV=G(^5_X:?O,9&XB%>@L9/O @BENL^)_5,_@A'_\)L$&JMMVX%IX'.,V7 M_$C&,XY_P.>7412GY!%&/T2B_,$-BJ7,3+'4?P,-B"8E2B\X(7*7+'.&5]8TT%"KGKDU\!9$[,YX\'BV1 M\4 D.A0IEC"Z4\V'$ZM?2!UV(NQTR MKI%TJ$Q<$K(/_U<<@2 ,.6+>9$,RFE>\))]-,_XOY!_T@L(/X?%%HOFB;LM" M6WS', *"9?TF&8WXN,JOJH0&,-2,KS&[1V6JY 4P>GH9DTC'(N[.!K,8 5RQ:%X R3 \ ]?W1)9<+/($TSQCRF_/[ M!7T]-B<\0L,-N)$@X))S"=KN)I_@?0":!^3P-><8RD/?&X^ %^#Z;)1:B!<' M89#U;>#EB>&;<^&_2.V,>'Y92RX+/=O-7N#X/ M!6'$7IC5FO/H%_KIQA9@ALL\+72,=Q M/#P%?&$(:GPW*D1%ZM*)^7?ON)Y1M[UQ/:_CF(X'DV0L4OZ3.'!XP'8< =IN MGJ#(O^2B9"VN$PYZ@!B/(@'M#0P%DL=T1_"OSI>.\OO#PZ]21&ENCU9V0]"NT 78@8;&73ZAB&OY4401'[$(R7).5H1D MUIX>)@57;VK&SN+$BSW@B9D5WP7EK'JA\6/P2&A\9R)$-SWD.&A$L'EU@1>' MHP.+BV>/F&V4OBP-?FTN*/=='%)?_0Z$LU":Y.MZ.<5ZS?JKCH%*@#[N@5@S ML>HS,T4@8((7WW,]#/)>Y%J0MY)#OV[N8^QJ6]NNW*(HOR?=X_+?98Z0RN@B M1PZI?5S&\S.+J+SE10D_-\@:Z9F3!;?GBWN_Y C*?HN7RT4PKJ@,]MJK#.Z= M!SEH$;L*>R+@JCRBX&MR!_P!$?H'1^C;[0B%7W\$M23Y1@"FQ=*K;$_IG&V] MD,IXA$(12!_2C6DXS[F]?[+@=X8OO+R@1,).!3_?54>I&#V^$Z5&2":.N0S8 M7?R/7S#8W#%6=[9+LZ6'?A%CB8M4O#U<*_A!]SG\Z_1BL=/EEXNB()YXL_BZ M0U^ME2$1WPTZX\&D].MN1]OK.ZW3[X[W?+)\LN..II5_*^?Z$N8Z[/0&PPN9 MZR715<[U:'@=5IO/CH*FK:A;.JI4VZNX_-66-967/M.JK)^'#9V' AL*49?K M&J@-9I7 ETR-#8TX1XR*N*_0BK).U\H:[6;/1=QA)>(FQH4"=L6O4__5/=H6 M58H 5R'!BR*EL,44+:&C+NFX!QW_!V^[79,1%6V7_N<-MZ@D/1NBYR<>OM7$ ML7*-))-244K%EM%12L7S2,6+[J$WKF1PK?M?3]@AIC*>SMP^IAHA:[>/J;[\ M,U7CKK9N?=A3Q[W!?MU"B/U$%7NVXD M5^IRT0BJ6[>]FMZ^K3T#&7Z4:JL4D/NM>S3JJ^/!I'UL)*$LH5QOW4.]I_9T MJ;9**%\\E+6!I@ZNW9GP@O76-DJIL^NM!8W7SAAZO;NH95H<=[I2?M!'F=JB M&);\ S!QYJ.#*EWY# O4\3($:E%8/A7Z"I:8P((A^2))S'9%8LG7>3I=A:K, M\24\&YA)9@-M;:PQR1-R126J7#4#3Q2F% E/E.?&R[92J01>F?6W+Y^R9>N2 MXKUI*S=\C(H.!XQ]$VFOHD;L9K%B+ #.L&Q?-C,-ZXI0V3>1B+J]H*7R)DU[ M"+!="19\<&8X#20,%3$!KL$4/$K'Y@NYE16=XHI.$UG1259TDA6=CM!([GQG M&/XV4_*$4JNF[-%P>8U(DU&IBDPF55Q-(Y=%5B!.$Y%?^61K09;A]A(.AQS: M^7K/V2/W![TWZ&AY;6$X&:3: M6V'$]^I*\FW1_C:@=B$#5W_O^@:X/.)#_: M8#CH]'.C3;3U41*5)# 6;%-G>)\M3KTV_7%GE'_?:++V.DWCD]<*)G^0*K2F M_/R@=]?UKL$HI09?>OD4"I?>[B2L#U[*NR(-$WOZ8G$DCYJJP)0$U:GN-Q++ M7269T U47BW-NFL!.].(U=/N?J<*9Y_2DF?\@S]HNNW&085DO.T%W62*7BO3 M72XI-4?.5:;H71)=Y5QEBEX#%J1,T9,I>L=)T7M1N+_&D'J9-2.S9EI&1YDU M(W,)I52\%E)*J2BEXJ70\X7F$OZ><;O*R&P9 [AG#&"_JP[Z,C);0OGRH:R- MU<&HA;DZ$LH2RC4C=S5U,AI=-Y)?<&"VUL+S]NR!V5) 2@%9>=W][D#MCKKM M8R,)90GE>NON:6B!M3!51T)90KG>NB=]=: /KQO)+UAM[;7PO#V[VEK;TSRC M_W=YGN9%/EJY#DNM+7DOEBH@VV5PS:#7Z=7DFV*(7!QK2'A4@4>W4]=E*>&Q MZ[Y3CG&U[*)+:2KA4>X7FG3&$AYMD4#G'.,2ZGQD0S@RA3XPX53K;V2<]KO9 M=-Z#TENIVL8/FC;N#//OZ&G9UV82L6N6_LBE 'HS!<:E%^B#KNC6OO1LEZ<1 M-E6PI%:U$I5RC!>&[:8E2=(=H(;V]C3B?9F3VB1;RX"HBH$Y[#/<2=Q3*S)# MH.3W)%\]P*;IQ3JV_%\9XQO9;ZY90=^1#VF%2!0:!L.C._-9@$\ M,UV)M_)NW%@QA(4LTWL9AO ?V]VIMSCI5C0M!8*\%1W.6[R$8OGPQ7!$Q^0_ M:(?K+J;5:<-!LKA%LKBD%[W,&FYE!MXE90O*N4;FQ\G\N);14>;'R:QA*16OA912*DJI>"GT?*%9PU^V>%UE.H8, M_-TW*D/M#:X\\%Q).FSAB2"A+*%<,\=TH/8'5VY_O6"U59>5 M;XZ60LP!H'?T0;M%F_"\8\"[:!,E\YQJ\U'=5'R9Y23!(<%Q.>EK;1Q#,HMD M%@D."8[+E6!'3R8^7\;=ML".M2S;2MU7TV38Z4KY8=C1DZS@),_VV0[GI9FV M<:(M)K+"C.S--%M*[H,?!Y[K,B>=+-@%/PPZX^1](DG79XX1\NQ>GCHX9X9% MC6EIU7.@!8NS"N$58&%@AVF<+ Q+#8;I=S;NC&=^NYV*3-_,]_AFK=-+V_H6 MI]*, 1MT.E4SS:Y[D[1M/ M&Q-+&:?E@/@WHYF;(67G8@)X$/)^[,@R!6AYAF7EDOX-S!Z/0J:(Y%U5F4;8 M])WO!$]K-STWL -L98\]M@W<3Z2\\<@R_@#JO_V,\X$?6C0?D>(.[S+G<9/A M9_IF&@6PEH!/,UHN/3^,&W%_8RN@H@\H>+1-^-X&9L9Y;,EF%R3IHP]EZ04V M;O9=//\TVQ=SQC)/B5SA;OI(3(O21S8")IO>]IU]]G2NX>1)D?WOW$\#PQ_9 M[12(_^W6F,%<[PSGV5@%-Z_R, 8,9^E7MO2J<)_-C@9WKHM9#"01\?,=* +, MQU_!=(S6S$6!\WKV7S?_L&=LHD\F8ZW?,Z=]'?XY&>FCGC;43'.D65WVG]'- M_5=43WY]9=S'.]HH6:O Z414/7 JM8B*HN0UO L%89:V63XY@R2G$:L7DOC, M F;X0G*^ 2'K>$N4[==33<+/KM#*K%"6E&AW>O8EI9++NA+"DA2TI<5TF)4^/^&C,K9?*T3)YN&1UE\K0L*2&EXK604DI%*14OA9XO MM*3$YUVN5YFC)[-!]L[&G\B\)HGDRT=RKZ=J$UDA12+YXI&L]=31\,K3IE]P MAEY?:]_67DP\M!204D""@!RH_=&52T@)Y9< Y4E/[?>E_261?/%([NMJ]]KK M^KUDK770OJT]N]8JZTK(A->ZNJOLGBO!40J.NN>G!$?K,IG;.,9U,DM=!X!D MEA<$CKKJJ@1'JR78074E#H\.N3 -721[\Q[Q2]^;V54B"8]J#E^>".GMZ99[ M*2+D18-#KVO&27#4ENLO<8RK9!8I224XRL%1MP*K)=B^8U2N #!TWJ9,EM&4+>TERC,5:.NE];MC-)R;#L*M_4SA=M\+_3"U5(4K0I9 M &3X*[+7"(+/=3N3]#E.NJ7/3#LM&6\,]X)$+RW:IE: @[Y6!\Z+PL"VL$2-_V2;267 2\',UD)P MI75V,KM77@O.9[C?U>O!95T$<5&X@+%O^#:8(^TCU@:*7!-W P[1<$4S,XVE M,;7A3YN3'U>RA)<"VA=;JK]EZ*_I+:K?]#MSF6\XM+0':V&[-I6UPWJ%5U/! MZ3&S1B._1EG#J=WU4"ZI=HN*ET/.%UG#Z?;?S52;$R]S+ M/:/1!FJOV\*R$A+)$LDUX_8GJMZ3E1TDDB\>R4.U.Y3I\->:#M_3V[>UUQ+2 M*.7C2Y"/HYX*_V@?%TDD2R376_>@KVJCB42R1/*E(UD;JQ/]ROT(+UEIE36< M9 TG6#CAD?:^++QK2QC&NDE?J&DV25R0V)#8N4GX=5,"I MW6GA%4([#D\,'W:TDR8!9S)T:6%;TX#U3B])O57^S3 1U,47F;!.VXU?BFFN M^$:>](J)HGR$D)ES%_;J<84?^P90+S+#R&?TXCDS+!/0$L:SQ\4"?IXQJY'G MG4ZC #8EJ)9V>ADXV3=97!NG6= GPF6%4? M'1=++[!QB+LX@3S-L\5LK" G/W7S3_L&9OHD\E8Z_?,:5^'?TY&^JBG#373'&E6 ME_UG='/_%=6"7U\9]_&.-DK6*G Z$54/G$HMHJ)\>0WO0H&5I6V63THJ.O1; M5-'A/4H8U#A0)'^$D\^/*SFHBLO"*H=+JZLYV-GU>;0^EEF?K.30SJSH2\K@ MEG.5E1PNB:YRKK*20_LRVB^U=H&LY" K.27 .3^\,IS MB"2,7P*,-74TV+-SU:4 ^24GPXU;F'Q^,>''4D!* 7D_5+5N"U-*)9 ED&N> M!9.AA+&$\:7#>*".NE=>A^0%*ZR:VN_+JF.R@(,LX' X*\G<4HF-T@"HL:[I MOTB$7'KFO9]IUQ+J7]AT%G5#_[ M/BA)OS>4.U^78R::K3PT'@WZ4%;R0YYKCOZIU]VY7+BCL M!%.^&M^OH(VWS1<3XF)DEF<[,Z8N*;M+SK7;&?3V&W7;7$<=O==[T725<[VD MN6*6IRZS/%]87J/,\I19GC*?2>8SR7RF5M-1YC/)+$\I%:^%E%(J2JEX*?0\ M8I8G7>B,VAUN\S[C;961\C(R<]_8/6W2PG03"60)Y'KK'JF@\TD@2R!?.I!_ M&JCC7N_G:P7Q"XZ3_VGE7(0#?CP8R0-> OG2@:QUU?&HA?E2 M$LD2R345FI[:U0:MTFFDJMK,SNKC5FWKV575%Y;+^78V8R8U"0N-[Q3F+3-, MZM)PV*E;NT%FE[P<=/3ZG;KN2@F/UB4.M7&,JV07;=21?9*9<.CF#,Z\[T%+2 (C3 */7^5 MC*-K/RI+WP8RVVFZ*/Y,!*JH]!R? _[>]=Q;6&X$K^+9?B5MFG'R[#LS(YJY M-YO9)O.Q,?,L8"%FO.*P,^/)\REKT%XL#?Z"?W6^=)09LZ@',JR*&3XL!9=N MPE+L$&;$OILL".BS*7/9S,:D1EQBZ6R04/A"&AR?2]\'$X6M=A5OR7BSTZ"C M?$V6G"7[>NOU6CA0#)\ICO>,39;GV-(<=\.&K3;\C=S==#\HK1:($#DT5V0? MG")09B>9ZJZY%L:5%-[/#%YO>H\N\),%L\WLBNC^/DP03:V@X5>B]?K,AI78 M?R=]O9%3B !$<19&OENM$?OY),/']2S:A;&"Y2M!-/T3.096.G.P!3U?I!7Y ME(P[%XG0/$M:F474HQX_HI1J%R:7;6MO ^-,0P/>;B$X;?X:@S,E#F8$0;18 MTDXJ4< IS((08(1\C#]PW0B L@EJ%:?O1)1#/@-X>#"#( (H(?1PWH[ 7R#$ M"?T0F0UW*WX'=5Q?^IC.^YU2RN%7(I&8*4^ 92\*E#]A\8%EFWR:\"674@ @ MCD,6RRW3BQPKABN.( "6Q8G%8"XHV_"-L'R&@F$6^91G7R 5X!WT.,@DW[0# M%&S9]'2;Y[]O,H:Z.0%\^>W:E'*R* /SR 6QASM'OX@;G'/F-$$./#+^;LY[ ME)4/9 R-[+B.\4P_RM/O&1;*D'BFYZ(X5J91 )BCC&MO[KID+#YN'-=C;3 M]!/PV48X*?'9/^V_(AO$VHHH]]I88L*^\ID%L&MFVS/Q_[<-$/11&:6SF2ES M SAP%I%,1=BE<,O434!&,Y!9>:6%]% ">U%CW,E,!S.>%2YP5N J.98%Q4< M9G#<*(\ 2I_0R)DV_Z:8-:>>[_,Z 8;O(RJ)*])#86D$(9PVSUQ$I6M(1T_? MF B'[+L"^B2&*#P<** A/KL=Y8&64*H]T9NL^H4I\.C1!]V.%A\^J7!Q ]@/ MI/P,&)E8$B;$0.(8P$2&^RT>]D]8/!Y1KFD#UFP7M@24IX1V6%$#=L,A9);, M(I:D= 8_8MD+%RFK&$ XH8'_F6 M XX>$N2VFS<_@#9*L%KZWI-M\6HL7K*,# .2PM[7.KV<@H[<44,)I%W. % 4 M@D']@92E04;_)QT,U&V:'AP6_J/ ];#7Z2>_2C7JE 4MQDO+\)\/QIUN1@6; M.: ","L^G7$&_"3"3_A)2J]V;&-J.[3VCO)A?1ZI.,JMIU0#IXEDV)%> >P' MYZB=ZNC&P@.K/=4(?\";E_B1EJN"KPO(SU6G1&6J2N\RZL*BXJI!^# 0;VF M[!$F99"I-"3&11+VQYU!0O6ULD#6$^9H6"!N5EP/0N,O6B[QQ7/46I:&'X*( M!Y%?\FZN]>*+82<=>*T-EEZR?S#[T$%O&02)J^@[KQA6B;DRTP,S[O7(#:_*Z\]UV7_'YT;9-V\CH!+0- K7R*3 M#%DD]\1" :FNWP.K)$8=JQIOB,*A]NB8VJ1(;U2P@(6\+@K$QHV,L> MAWDHI-6H$-F O7!%_#RWEXF&S,U#V[>4OR*8!*P '0@HUU*6/;.1. M-2TT)I5D1B99CTB1_>_<3W-$']GM%+;GVZTQ@[G>&BZH%3J454%# @/D.40%G:9OFD;7I 38U2US)*4;E&F>;Y M\D-DER:I3]9TK4)-LC_*J(85-,E!2S3)GI;J-&H5-;*[5EXQT4%RSCM:8T;A M5$ZOTZ'M[Y*'GB:347_IE%X@J!@I%[SX8P '(YG4\*T9*Q86 Q1;I3K;=GVQ MIV=LD'WU1;X-^=>7JB6#C$T%OT.6XF4N^3))221W03BOKA&5O#NK4_:&&>IN MZ$'I3BPC']X7$VQMY'5MED;.,I\86.B"CA=9-,QG\?.WUB.YBP/3M[D']_+, M_O>)PTJ8_:MVFVKOZAKNPO44<5P4.^@(45E;:T,\ISB"#\K=5L#T_9RP,H6[ MD_C6LO&N((@5^DDJ!L7[J!IL(FO0+Y]];1A7I$69&J$.C_ZT)?=*P<>!-PN? M#9^UW-@NW\&U@[+JSFFCC"S8=^>RCI:M&S=))=[A^W9Y\N(=]ZI>HILP!M(L M6<(:D/3>01["$BTAAX5U?S]7Y=:E1I%3PLC.._7TTP"C]*)67#*B?EITMH(. M8C)F!:D"9 =!1.6=R>>3F=F:0P0Q&\( #FP%I]8P+7/=7PZ";.0EV MJO4T9^+M[@F>+14\K59'!5?+O[;\[_AHN)KQ>P5X]M4=,,$ M@/KM!BG&(^"%O(^72-S, ES8R2TW7O4S80L"A S9EFMS%8D(!QG!/Y6PT'?IK:P Y+M&FA-=\&9&R.\4HY!?^<)+EL 0!@:]>+!D-\+H!1Y>(1@40R&4 MP'YTR24-0 5[];M-]M@*1?@43!]\TGCDCLM8W7?@C0Z?70IX'L4E?M)1WO%( M [ S&8_P^LTS?.+2-S80B\(H\)+3B,*YYXO0F#4632@.\WWT_W_VWK6YC2/+ M%OTKB)[N"2NBR#8E2[*;]YP(O=RCGK:ED>SK.Q^+0($L"ZA"UX,4^M??W&L_ M6LZH$! M0GHX;PJMEP+XLJX7X3-%"#[;OMVPD2/K%^8JS"4V!_DQ6TK:WW4KV=#F)?X6?# M@[7$[W\OOA&M+4.3))$@@ S:'"O%;*"*K\,. YE+Z4;W!,:]:V-FX3GKLA/0 M3SB9M00K=M\2^''1SPL[HPSJH2/.28/PO\('44-0@ 77\LG8M=W!O.^P%.LP M.>2B9[-P&\9C!ZS5XKQHVB+('2K=3E M(L2B^]=]:W3W)8^DH\D V6!B\WDA14O-)PUO1H:GCI0]^C7YC/\NVDN'?_DL M?/&[E_YX].CPFT=/?@4:_:.CVPDT7*I3$F*(I[=CY]\/=C_8.QOLUT\_I?;# M-1I.KFZA>GK?1 2&G4/3+*IO-0Q_&2Z"$):_1:? ;90$/L4L?EX\M=>;X1_J MX!_M&7YO,7/_),_W!^IE.9K];Y$W^TF\Q20>'3S"Y.U)IF\S>X\.'O_RV?MC M3MUW=0@J<'JGIO 3L7)?FS % <9OB[]CD9XTCIO*@#*!2>ZJP6VZ1WQ]5V/7>^^'3Q]F3)S;N1/1()Z[^/X-Y>45S_+^/WA+XG??Z?$-F?=K]!L;N^SIH\?[-;K7:_3H MT5=WMT)_E$+.NQU@N<_3^WOT*U9OKG78)G;!YW'8OLH>'MTRT7N/$@?[-=JO MT=VNT7_^Q][U=IOTK[5?K<5^F79@%_#=KXJ[XGJ5%I"W@4WGQ1]X31 MT>6Z&L_U.\R7E:'N6X3S2<=]#6I+&:S=\1KVZ():9)APG<"N^#;L&"SU]ELYU'[PQ'E/]H3Y>^)\O=$^9^>*/_HSKB: M7@?+)\27;#C+=O8_K!"RVM+E5P'7UY\#]@2E*-OT79SONV92:\ MT[Q9*$O?E5?E@!QSYQ5Y70:OW\+1N:[/\*M<@K^NE_7PCKVL;UE\,]P*Y;I? M7\K4I1HX3+9X0DS\D:M5R36-.A6\7KUQ>ZWJN;*!,:]<\7%#/(MY9S)\"TAI MJK[?PR\??G/HG+*]3W8O?+)?RVP-V%'OD_7Y=0W H_L39C&G*FZ.20+D76RU M7D6W!#_[@L5MC6IDX1_@ZJ%L%@6D6R?N"ZAXS(F2WC;,4CW^=:^#6)D+LUO-\!;+J]V?$5?JRZ/)RUGK M'UY]-WMT.*.9#3=.!X.# Q3^8:7__3),YJH&J^OLV0DI^7T'4MW9N[+]L#N\ M_HVY3'>\H1J0=\212P.^+^.=/D=$2\KNT#:8QI]9:-P$"QPQKU#W;L$T3!S3 M9'X;=J:8N353LQ9)A(41^6.Y#D-2V2:RI[2HCN6;/3&2YZ%STH19.YP]W\XV MX1C/F8EX48/G&MD,LM)UH@0.KOXFYU/7@/2ZY]N,HHEPQ9&(%42+^8C_=LK% M),< G6+O<\KSUW55;.6!4);^S32*04TH8IE5#E>:[6E;_()18?H2]O>X<%"> M)@IQ([H/GC3..$2PHJHZ#6F9ETWPKU;Z'KKH+K,H-G:17\[JJU^6<%"?P7O=[:826[B=U\=]0G-IT8?0R(H0,+$J0"MJB.$=PROG'XK&S1F&1C]1;Q"\%C(V MYEB'JF1;C >^W+'#@Y^_*"G;TZ]$E &" K3_PK,6Y;R;VM38B.$Y!:053Y"% M# _.646$Q ME<7225()@R7,^.9;/SP#^T(3'R<;^/&S@&UM#I=N_RBJ%C0=A M3FS1)<1CUFYS*^5_R>:P[>%%T[*/#!$[MC^Q';NF%;O4>/%6DB_ELM$A5"+V M=I VUX?N4#LU_4Z2M@P.?)@/'LR+LS ?(48.9RK7XSK[L2KIT?\=C,:B7I/# M&UZ#/,8Y&R5G:/#"]! RBN^**DSO20D3_^Z[Y_+<:O:NWQ0%_O7U]^\R_,YS MVAB/ZOD.=Y10?^OOSMW>OUW'E7HLIPN02#/:^AP)I$A>X:46ZHLUL M]D<9*9&3+?*&0@'(XT:A%?E5LF^X-^@G*4O6L?H0MC*>S4NJ66^N%M/.#MNN M6*W(NHGXRL22V]?@7%>Y+'N\]ME!3X766-%HQZRP;LUJ? @1%4SN+#F%PQW+ MT1??$C85]!/(Z!<+N2Q"5!1>.3^-#YH8V=183,G##445X^CJP8_0\\MZ(8JW M>2M?:^^M2,'HMHN_O27/RNQJ:DZ](CNTVZA%_J(7^ MO.C>K[<++$LY>_1E!A0G)2GWH@.WF,HH,*WS^/!.N?,_Z10,Q0.FSUJ(8ZZS M=7[--O!?QIWY&T++KS>C-^YS_0T8).]@&OZRWU:?=EO=0X;=.]]6OS4IZAV\ M\+OOGM_J)/U.B=JN-VEW0Z1WY\=AOS?V>^.3FBH_P MTR>)?A4FD'NW=.'__T4YI#N@O+CS#;[?D_L]>?>S-&%T=U+ _.'X)+[:\TGL M^23V?!*?GD_B[B"2KY< V%+35;X!=AO N;J9+8KXGR?;V=&7?\D2,#LC1[]_ M!Z1AB'*S7? ]A>4MRZ;M9A5!:]8,K0GS18B*V47$E8=5 X?0U!0/@9 PZL_ MEM3IL-K._OSH\*O8ZQ4^F_[YZ"_W')KZ[12\. 7&K_/PTJNVGN6+<$&V]%H* M8B:YQW@8L%7*@1Y ,OL!$C./=C<(E%6A,#?Y(TVT^[H\4UZ ME%M&=H[[6RYY4VEJF/N'3KR?;B2_A0I"9\UV]!.B^R^?545G[T?/6=5M;$7\ M\].C+"PUC;IL^4\EX;;G]6D5UG-!LYI3.\'/O71BAMEINWK^X:Q>!3.!9NRC MI\?HCNNV1D0A_=O/YO-^W?/$2OM'O0ZS2KTA=)#H!P\'_=R?5_=!/O^,N@]^ M*MC,S(/'F9>[@/B90X7G\WGPB<%I,"_*H^WU.KS3L\1Q_.[9\T M_:IC(V6&Z7#V%OAM"@U6W(9,74#AT(5UX#[I.5PO0Q'-=W& M@2:0<4NS?_)RT,?L.IQC2_-//*)Q"U_=7.3-PK6X4&-3>/53FCEBKA$F AHB M1LZS'(Q!^&E&X6/FFGHM>^! ^J+6TC0WV,&#W308$7#_/V!11Q,R,=;MAJ>< MS\J:&I3M#DGOV;KB/N:+6@RRM'GOLLC6X5W5$S_LR!K"<)UQ&4U17'4V] MGX@=&YA.GS/P13X_DTX!=':$Z1/C_08'41R9C.X1Y<>1_;[C0G14%W )O<%_ MC29\Z@#'M7JC^RSCCX?K#/?41?(:KM7H]E.#"S-UM+X\?*B.UJUY,[Y^^#O@ MS?CJ\(I@Z5<W33TO%M3?H4&%\I/87PR<75J9=N!ZT&?6<0YG_LYW]BI3#^S@Z/GK\1?$ WSEZO$C^#;$SAF><"<_FW0-NP>*H M )PSG=QK>1M\$#A5;1@0XH@5-=+=@U[<2W?Q/\LU^'(D?L$+Z]M51=MJ,H F M]W[OX#?7VQ%*+G/+?3N]U#?9DA?A$@IN]YG0F]!IBXPY''4&3VZME_?53\ST M-I_8ZT)%]2@_P+;F_Y3][O]I>KMGU,5>M>D/LUOO7HB\J9E%"3$N(&(>OLB# MSP"&%OI;684+?R1I<8/Y)1+(VH97.22SG*-GLVP MA]L=1U;#X":8CHR''7R&!7$6K"DV0FP,UUU\?O&=0/88]J-#O;WPJ?"S&?CZJ$,6"X@N MX'G9PL1%5C6;GWC N*=X>G"WON86=<$=_>1_4T/_#4Q%VA>]TL_-B*C)302O M'KJ(@]D-7X*)V8!1H*.9F)WU:Z(0;)JZ&;YD]+VUQ]M^IMVVX<[/*,@)FXK" MR[,PIQ=%>*#M0'1UKSM$R4#>TGNJP3[C#>.WXP MW(%>=(>S;YDR;PTB!?H@#TFM4?*E=4^,3<5RQ0M0@&##?K110AB9Y3#S8=;G M^.DVA'3A#VUF= 4GX5I&0X7[2&$;RRVSA@_T)C]W4S.!'I";! M/#R/%%/@@'%7,47$J]7@/5HL19'XG38&/^]TWE9%-[JA_"/+\"?IKZ>, [(K MZ-BG30(:F'!B,[6&G-=DF\'6O0MS*?WOH$FA>:RZP4LP*ZYX2!*;820_]XM3 M)5&TXWFPSC_H+CZA1>I7W59G/GP)U;A%?5'QV];!\H1CQ!1D;H?3"5B7X94^ MC,AM=+8NW=.9$,2$(7#NZ1Q;FPRGMN6'6>YSNL4Y-):K84YW14MO[NZ0NCG- MP^G"E/#M[C9JF$W9HGXIR:I2POP$/CFEKXE[^=XA^PX!?@ MV)+4J29]KG^KE)2X,-Y<)HL8FY)\EKSVA1.P*S*8^2O$9&8\H=1PAM1#)UFJL"U\1K:\C'9(IO0Z3QPW^]>C=[_?VW;]Y]]^R'UV^^'YG+R[7%KFDTOKXJ*W]W'@4R[D>' ML]D_0^"YXFQP03' /4^F?4M0%"%6W:1Y66'HW!3"1HX7V\07RV8;5L\(&YUR M!K5*6-Q+8OI+)2QFDA*>_9-KGF$>]ISU7Q[\C[)2EWA>W6SJ1O%56'3B>[MU MD>V;HVL4V>[T.#\[9 KY;YFF\\Y/\@UWOH)'G%N?""[(EOD2=\2,V,P -%3MMB/GO'7NMF%D*"XF']K0.9L282$]%M!()3H"V-K M>PJ\"TDU#*Q6)X\V5M68"IT^ \_4UCVKJMY"/7\ _MLP7-LB;Z38_;*8^P+9 M$0ID#Y&\O,>$32&".OI1=HS M(?\-AZZG&(825J4F:B>GDW*CIP4R^#8<3NC[W'%+E.WAG<\X/WRU.3@!H>E, M\C><6#;*?TWO7+;*E%.BY"#&4S$B \B L&A)%D>^3Y]E0 !1GWZHZ@LPY/;( MF2K%V;630Q(&&P'I#S/%^3R>;]8W_@^6*SO)F+>GU\/Z&/L)X MI:RCP!LE99:LVIJFG*!X\K P871J-;4U?EPF:3O="/0>M*.1?R'"8=K4_)72 MJR]<*__RS9V8JFE[^UQGF=[WC2X!G4F:AOMK>*??YB?>SFI4!T2L)P7M#9>1 M6!3D8]$)0NK/:]4)(?BQY0/5MG$:;VR342(1X\L[HP8$C7\!OHY0=2^44AR. M$._ 8#&;?C-\(J$'IR"]IPVA>G@-+D'%W?GJ775)CI9BYSI$XELDWC_.3E?U M"5'8]IO-:GL0S'OID'A<_T(& M&QDP4S',&+()<\W$OA (3JC4PW6R3 V,OE*P+!LI*$@2KHPCS3!N^AZGU8"' M<_!WXHD^P<9LR[ XN7M'8 'YRN'W,DT\LF*L!##+S_/P+:JQ4\[;9$>2:A*J MY"U7*E#:8$IL,N<8 RH1Q2+-X[S5I:6 M,X7ZQ&P6QDSK>1:FG,B P\>[IOR _W%6;C8TD=2?MJI/6_H]+KIBB66:DO'5 M<0'Y7@YW=).'1_:ROFZ/Q'7'K@K3!VC [%\01-H.RCZ95I3LDW1M4*5 WS]\ M8V42&R7T=+!RX2@NBG4YQQ>@^1+V>1AU&!;)9A)P5]W'\"/!L,W/Z+N>5'I9 MAG5#D281I=:[;Y5SG<7]E6T-[PD>G%*/G5+7@#J)<&D')!7U:\!YGQ6I4NN]7/W>IENC1JK&=;_I/U]2TA(Q!\L79^5BSZ%6B^62Q.SG+)1B-Y'V?#Q=Z7Z!7HC&(^C(QD M> #B;[O!!%3%*7+45]CTV""CUAWJ/L$'2FZ)>V[EWP)ZUM/)F[Z479UD8)]865;$7WTDD43=EV(6YEL G/OKF)7T6%;/4*JNQ2WR*-].1$YOQ:-LF MOHL(333"!O[OP#!"JBN,81',/G4C3$LY3\X9_<-<9>4(0J6 Q]56#KS<^W@F MXU/9T,(:)UYP510+>6/SI@NW(#L5IBE8IKIY.SOO5]0H 9>FIMZ2M@19/\]. M,F"WG67U6>9&VLZBGY/.@/'$-B.?![ZOU*CCBFEZ#%3 Q/)!'D) MI?@V\ENO]6?\J_/%Z&:0U5=7=76J=6)3KTN6RA],M":J%Y+D 1 OT3]O5CF[ M;\M^M20(\+ #: (!OO4WJ >NP\?N1,RM7, MI WC$5%@4RL'61^PXR[+)GT1]3-F8$O@2=5.'_,PR*LFA,G0ER@@Q40B&UW. M&!$4TA/8M]M-I*E$K3G!5?9N>=^U0)>)4M7A^T/RO)O3@M5/GK5EKCZ-J?O& MW2AO2_O/;RM+$T)::.6U.<$BBU;K:6+ [OYR4N9=4TH&,%-GNM M=.HH30F70B-ELOP]T(%_((+('_'WF!8[*HX+:5IU\>Z2!8 **MB M2QJIATG$_S2UF\R9A8@K]%?KZ/SHV0RQ9HA"*&"C2Z@J&AF:1@:V!Z(*M<6J M,*;X)]_K9P?DD%+ 8=PY)3T@ \09;W>^Z0*CG"19F?#M.64ZZ;LECGX>SM[Q/6:@; V?W)4SIJF#EM/&/P&B?A-U0[9;\_<.!=9[L&5#V MN)L][N9784 9!_%W%++#-8FY6S*O!S"OR-;Z_#ZJ$A.>_^$LC:;%N3*Y>OXY MD@=%U[QX3^2'L*29N"$6/_A+E9/6'+^.\NKQTF+0N81?:3Y;;DE7NYN=!_.[ MYLRM%PM5-S'<%(##%M%CS1-O=)W_'&)AON.<**.BW!-'63R1IK#I2'A>-M+S M_VMD?J^;5=OGDWYY/NF?4D;0T(D+,JOB@/]!XXD[;*H.]NHN,U>J0YIF:]P4 MD;\IQ1C]E^B>H?Y%B8$/Q=:<4%?I4O=\'DZ1M?IKU5-.:;YA/YI:2*P5@R** M4X8EH8NC[+3YKVZ,K*.D^KG[.1\0&O^(&XPN.:=WE",GOHVH0CJU34LTDN&D MA_4A$ 2/Q3-?=8N/X A/JV]BP;6VJ*.$0'(4> 9A$NQ2"(*16#@IO(+LP,>/ M8HDD[2A.-R M:G$5-2);%#FIN"Q7KZAFUF26R6J[(612HO=U-41G86:2T&>9;$A\"$.)X2YU M8!&_I42E,1 -MTHX!S24DZ*[(#UUN_BD1;&RQ @ZSQ::9)#YT0VBX=WS@FMW MRJXHJ4EE>EXT2TW!^;S8L*QJS)]H(?H'E^+\M>I\611[CW$Z MU2/[IMJ1I_E%0(R],_&)G(G(MN#77^L.T0EFY-B=%J620@Y,MQK.R^H:Y.A+ MXA6@HY4F![DV%=62(T;-'.T7[B80*D;.,SMTR"EQ4\2T=CA^[+2KD4C'HX 4 MZ@A'LLV (58&6M=(=N%"3AR6["'64?U0!%&D2I MWH8>_;!JP<%'R!4!.>.$N*7PR/;U#(,)O]M7U*Z)4*^.@5WZU<1^E:Y/3X>$ MXEP'7\$RUZ P:2?0/8(=WDHA:,EUJF#?R+0YTYBO)*][/JBI""(2M1[R2#ZP MA=.G56$#[]YBLB .E9:<)-8GUXFH^]9=_&[-TG*&CTW).=LY]&F<$N^!$%]6 M>G_4R25!4O/OB)K!NW?> 7^V-Z#4!AMJ/ZP16&]P98 M&ZX*BE V7@#,M(_?&U:Z9^: =%,/#LS88!LH,NO7 :O-/%@M28T-86N#V\&\ M[V0G*\HS5NVQQ]2I9?B!?G/LH/JQ[L"B):@Q9XRY7$:YL[V#^ALZJ,_B/4H= M'?.\59L-]Y00!16BV)65 [%)!8-PYQ"J418@@8DLBK7%TR@7)L$4MTT,@/(& ME*1CA5SV6@B>I&9-89MBFR4KW=3GX9=_*@^^+8\U(LNXCX9("OCAG"5"V!LV M.=_W)Q)O!_L8P1^H811M!R9+%QC&5QFL% MJ%2T0#E3&5?0E^Y2XU:-V ZG^ N[NI7&.-K8$5Y7 M7Q>,&KJ[_!KI8M*_71[MV>"+CW,&,B4WWDE?AHT@?[/-)J7[(L*>/&/9AKT# MN77DN_3[6$D/_=;.A/!,LE""_TJR@U/#;XQ(=O;/&BW0T]D[N1CU'A0D0D&DQ7F(HT^T9U9LC#,MX_1D)BT<]I'$ M43C+Q?BT0C/&L^AK? Z8XX(E8F]K^!R;O;\D(D&+!2TY X4\Y>[DL-U4ZB9I ME:U%)Z,I*O;/997IW0A'41!%V'#/5YI(,V;^:H0UVME_>M/\UQ\.%O)T#PO9 MPT+VL)#/3!CG^F[_T>-P^J3[? LZO?F9^% A7,V9CIV,+6$16XU.S=7/8J36 M%)M>H EI'^A$[^D][P%ZUEJ_](Z.;\'+K%8@""-/HS FV0S*">)U*K. ;Z;W M)>66R//AJ&&Z^2KA+,^H5L-4@N$*\XWY3/47&0AC?1P(TN#NU%OUBA-W4]5= M".R"QON&[W)Y"_;8_2_1D#8,D=D%Q-_!!0G4Q@'IUDU;,SZJP;4\Y(8-L>%-7Y=RQXO)S7-/Y-"X6;CQK=:,BL#H+GU_A?\E",ST#-JMZS.$G,(&R$"?%6;Y:1EY/F1.\ MS\?A!)%_5Z_$,6N:G,'!];*[R+4_2-;2+1W&?P!R2]&1*3C<8G-#+EL/[NDP M(-N3#7B3ZG?-[N6!7H1C#EWXYC!0<,;)6,YJ]ONJH/$LS3C[KWS^P2=X"V9,VC1ET>4-&@0FC[O3PDC?6O=#%L]\YF/1ZYS_XQDI/XDE M"O:S7A\;#.2BU+6WT-U/KIUE1&AU:V06"4!.BU59C&1C^*N_Q(6@IG !@60# MV,0X9MKYEH:MMU?>=6%6=3R#*RTQNO7F#&!"3&4R0GD&$O(7A=ETQ!E35.%_U=7:I7V] 4AFSEX6[::4 M*Z&N#DYK*.159_3ZVB1K3R#=O;R7LWDF1X"9EG6!J9&)B&/2-8)'<7K:D+TZ M+^)N]@6'DR29!=A-I+LFKO"%ZM9@@_/&X/U:+#O"ZC"'@24)!"8:,9QTKY_H M/L.675*)25BZ85/*?_7&FDUO(=@SH8R('.V11M@Q$%/T?5Z7"^%2AJL@#8DA MVJY9JZD^6?8MJM84G@?O83XK:#].$VS=)[?JIV(*JC=]M.+9=Z U'/?)4V[+ M*T5D6M%,Y/! _2RDVKM,+!MGOB:A!$ >W4(22RP/0"O?&P&[V+O4?6CZM$=Q MU'/OJR_1;"$-L2X6)9MXZ[ +ZIE<^OLEWFVCRV77_:I$'L;6XE)=%H-@IZ@)7U"^Z*([2SQ4L<";L QT M [O)<1<>V>-EO2KK08N2OP.2<3K'+H(WD+6,'THI*L#%\LW1TN5Q-F54X);T>)%29=%>??3?Y=9_H2A^1!QDN^ M8Y7YTL.H)G^A;.4@9Z.3*$J9M/Y+-IY*W&'S)>.K0_A*-8FHTN8K!3QCP]R^ M:1%D$R9*?3ZQ:^Q6^DY@)D[?D&+?W!TY>](J-VU!F B!/C( ] R5_/!\'QFA M69EJR;';D1QX/HUL3IRY.:D73@5'6;!]CAG7A#+=+!0@&R]V80Y:76L!8 MW#(Y^1JN\..[;YV10W.Q?PN4=FSLW. L'QXVN,HDI%47AW/N:5MI;W]964^=X]@EF\B!#NG_3_L\/*\K'/U_W8A*1,L66(0*D>]O4((C+U-$NV!M MPX>8?1##*Q9W[Y?'$)Z7'9U1$M MRU!@6K; CJTR$!@EL/,!Y*'D!KNDT_[.U^%:+*37F[3H9--$(QG!N' 5K%N5 MR["SM_.5QC'1D33D/-6'/A2=+VT/F)-0^G582JRR%"'IA]TB(C25UF8LOG-; M%@4%Y?:GF*HQBH:TR*QJ8#(^P4]6D20RR?_HC WH(U 8=!(%;%AD?S YY>'L MNW!!DCW-1AN8LTI:_'4OZC.,[Z2B_.KEWU]EH&<8D67ZX50?%9T%CI&ZDLD3I'X 5@3(KQ?EV^0.( MR!=?(A%%2C?!0IMR3$JN9WYFG*IGS:K.9L_#E./[[^GSR^WA[+_JBP*[ =#I MF-&*96:^P_7Y)F9%UHM!6\K;?.I@3<*5A:1$.U#4&@!Z@5/$=@$' M0WJE[#CM*H3R]0<@%,B'M3;G@FX05NAB0 MXZ;8I8^=@VM8B&Q,7T36]>>^]? 'FW@Z1!<5%*/1,+=@EW=9#%,E*5@_C@Q6 MC)RRUM/2V35 W5==<9JLIX*@;>5WHL=,+YSEK-R=IC8/1SP66;3-&:Z@R 5 M5V^@!!/CN'D2'F9IJ$L:T[F#7<,W87A.B59=[A7C9/5']*UY7*O 37 Q"-[$ M(Y=.5! 7F4,[+'C'QFF)%+S_2.6S-STGYL,=MY M(4'*H/(=+PN+RA1OJN1T#GE(?'D#9\0:SW!+G(1E0*,/U8J"D5^M"G:$<@Q_8R0/G(E M/ ]>=KX"9.IU6*Q\HDVQ*01PQL5/2@,G10U'K#IB"O(I9Z6ZK1N1\ P_9V.W M<9!XZ7*90'"&/S!^5T[^32O6W&3BK:".\%^RK-PXR7 H/($S$YH2F6O8-\RA MUP-*IS"9X+_ZNLL-=Q$<:JOS+L$+T?:RMDIFOVQ.'?%T=%!_+EFZ6V>NWKM9XC(%>3O-( MC!<$&X ]7 8K8SP(895CXIOI"U=%)&J,/"<9=;8V=5C+SD E,/@\!R%24WI? M5]P8V+V&L%GFSN.]7XC.J?D2@*2%B M&($DI^=JLVUG<=IRGX)DMG%\*K:86Y[W\M]JE06<-:)6\!GZN%R<3B+K2K\O M(E"H^";U4+7'[I^8)1;%@)0;0/$':TT08\Q,A25U!9HE;BP6X)FA*_"_:78N MA9L>*S^18DK#0>>$3U*NBL9VZ\P;;5OJH6>SB*(4<\K:HT@!?8Y";(M6\S A M-/ RRIS_',YYN["K"?X_K7#%V2002'$_L^GIT.GA.:?9XM-FKO>QN0,):"]? ML6L/( =5(ZS[?+7RBSW*RPUIB['(4ANO^T@/P&PH\T*AJ8[+;Z9TUL;5]$,M MGNT5+AR1L'R'"PWD_\1'$'8)]$FX'\\[D$-=F>)CL+!=,9MV MA2S!2#NG*:-803(-NW*O&@?*:#W[8C+R:TP!W[UINV98M#HMXO*4A]!*.C?# MJ"HJ>=PXG((])>Z+HKE[0_G):MRVUI-)Y"'658K@=2S#DNM&!^_Y^[?[TC9/ M]AMN2*1WX,BBG52PL(FU2;7)I/EPE6,'XR.;28H"VXT6NL/ I+X)+PG+Z0H\ MDTMIOTBKII=B._)(.[C'L'.A6>5]AGR&U4M10 81:T+ MI#$,&J/1JJW43^@LI0_*-\9W+F-7Z(!/5/692W''5XJTVGWGWJBMQP_P #DF->A>6Q0K->E?1_B>(+,8@\ M@]Z.N$@@T#"4>[#Z#7XH%[_?5@Y.V>B)4B57?).1>9$QA'-+\T0WZTD?PB)% M";P)WF4*%HP#L S^";@X:<89 M_WJBW&>819)+)F9@:XF.QS=F6/64<3A001%U:JCA%,H<2+&+$JI-&0QAR0HT MP]7R$=RDYY.E%ZY#OX51!(+\M"90K5+UO60_ZX#\Q3FHQH^O1( M^]9X^)+2U40RBOSQA"ED&_\A!X%Y:A8&U%PC':7LTV*9IW8U06-)O%PV_VK@ MR="^4HQH/O5JTG"@*GOF7Z<_09LGTMD9V"+)"QO%0\P'6^F?J<18T$*B%M8% M)AP\\IZ#!J+/X/Y43)#V?!#XE$\=KBR%>GKW,>KF ^*MDV MD2IY69".HS"8+O+-(,[1L=C(8[[ *'?X3:1WAQ,,(P(*?EG#(N"8 RS!:VQ? M%?,]Z#4U.6GJ+)/R$IFLO"%X&H)8I\'H4F!L,&L$<'W%:9GIE4/2Q#<:(;R* M,'(EJ;S?I^<'#?JCQZ;A:]J[9]C*LA4N??+[@'YN8>9]B\,5/HRCS'P3&V;: M]#K7M+?_ZUFQVM 2K3UH,B% ,XBGWOOA)W#.$@^0&M"*@FO=LF$IL$N!)L>=&NL-7*84/I#!Q% M"GI,ZZT(U+BR0O,D6@[KL+SE_ ,8_WAUBH]!WS(AV M\Y+\9J*T-[CXDE EOL@>$Z.8F&_VF)@])F:/B?D]86+HMIMB/Y$JI$9MWL$: M$KTBX2B!@.<;4LBZMC&-JPUB&,OJ%]QCG@]BE^X&M33?,,EWJSRN4-]*4]>J\OA M5+P'*/>87AN!:I)BQ(3RJO,1*3N'8O6Q*BC3J(6)F3O*J?04G+F5J$XI2^6R M#A.Q,XYQP()C7Q 9T&>FG!:H&#O=>:6Y/Y[RY>/LNV#[6'IO4A?Z8-HT.7'E MXVC3ZL;]FIO50IC#Y_@X;Q?SNGV9=I8C)CZ(CBO7;8Y]^[I!%](?23NAI)_Y M6-Y5!AB?&S_I&M23=ANLX8)"TJ$@[TUVOMM#EL,:D+!?5HL1<,F.:;'4^Q6= MIZDQVYW?-E+.87!P'XHO-[Q(WEPOI6\D%)GLE&V2OC@I,I]0MT9I@\KRN6XNR=.!3M@&$=L?E]6(9+[Y._3TQ+-C"WR;1X91]. M*4G)8K9FOO!3M0SBYA03@6EBFC@36G$_8S_)[#;HU4-J42=[1V.:$=@/ROC" M^\SI1^E<05<[-AM95Z_@)$Z<;!Z>H*U2(3'9/^P 59Y2:0UJVM-I\M*AST:8D@Z M8N? 5ZF.1^;K9]GL]=M,,*!(MZXMQ1>/R1KUS' LWX41-8N5]%[3*X5GEG)> M5(SC9@-FMJXS=$E3>4(M&%]<0B3!M8MLH$]^R1EG'M%EO]+/#3DUX+\*7JRK MG?L.\'@49\G8LCF *\O%;J<6[/5;>7ET3S)RC]J J5PPKS?;AK:$0/#6TBG] M5^,+(6M?BHJA/L(7MK(RXAS92,6 >;&I"*_ M2BH"$3#+3!O3] MVUXF ?LGWQ:+ S8E4O*AD%!;0K(\8G_,!&^+$B7=X* M5.MM#Q1)O64",:MQ)F]L[\2E@HDYB5;"D1R5B@I61\:0HZ3*&Z#][R( MHM=OC]46A64DA'+%GXMK\WI($T*JU$P15=N*9HH=X8WN=(W2S&((,39$-1AA M.AZTMN;JD>N/O]P--\BQZ9PX28X$T4R6OEZ,1)!265DQM6W1=2OY'GCQ:,[@ MZAJT_W#VGF:/S\!VUZ= ?:&5[>PR;3>Z*:.P'=30\&45V!IB2YB#0=L%5]@1 MYCER\8YZ^DMZ&L UO"QK;E @!=5!I3 1)];.H<$]SD15806(8(!>B.G%Q';2 M-#CJ,9_U5!?Z)F[=[&U3XYZFWGS/3!C1)YPE9;4(CR[$/:G*I6GF^K-R+&^> MTY8PY S2TS!:PPZJND_U++SWY*&!*N1+O$8?(*-H:7(A1"7D/*A=[G[.KT4K=>4,_ZL/UKMH!-V65Y3,OM:TNUX# M_U@)^9?2?ZBH?@4Z/ >=OQ$+74D=\;X:["@U2M]&0[-$S@ 339P"2K,>BU&_SR5&)]V(\Z M&_:C7N%X<.O8<#:2>"Z6/0;T M6Q'T,7@W-RL(.3-K<^TEC>9B-V_=&1WKFB"C^X*P0G>J2+F6C#-!:9%X5DID M:B!<]^7Q=Q:!R7RTLY=E&UZFU8OG6;CCMFT) _VMY4=>)%T5[Z(-?V.+B5\X M.B9I@W,-+%B.0'[['0U6CHU^N.4.(@8;)8>8Y%S%UI:L=5_T]=,^=!_:9>,B4= M=N&@A\$00,^M5JRHMR=XCPB1.;L'$>2T)?*RZDE'./DN@2*E\.?#V=^M0U6) MT)$F1% M^QSE&*FGZP5E?TS&?NPTK7N2 M\T;4B4ZVV VRR;F5EMF9D:8C2NQY0IXXWC"6BE%?O)X:[A)2'06)E7,AS37D M@W:#*H\U=[X)V0$G',G'ZCB[R%^G9.%I7RZP664I%/,K!4C>KMD56_="LM4@ MEK\WH=[-P^L!F8P=@#F=<^'9N)+<89J?^UZ6_:X*AF,7&],HZD0@?\5I= 7U MI[!TSB[P5+8JS10G<;IG2^4"X!]/M/:'H(X+VCA12L2ZV-']N&O6C81\A\Y+50G:8Q^#4);"/S86$/3\%%,*9G4[3+ODDS MTI=,/&='YSF+?/PKG&CPFPQ&*!WL5\TRLQ?'Z'Q1MH[QA._LR(@/5N:Z)+'L MN#R4(-?PG?A*"3#@\M9AQ>/JS2"\XSD>)M[79QOR[2!;BEJ8$=+Z9G\W3E&C M X*FI[65/AX%S.%>X3&#\J>FH&KE\5W*SU!KXVE*OY'D9#AAG\1X'XCU?LN3 MJ$V0B[ 4.;3TSNBWPH'HZ'.JDH+7I6J,Z0>RC:]VK5U4(QZ1RH*RCEI+:3TF MUYU633]4+Y?A@_U)1V56^[ "FQ3&R70)X67B34;D'EQ\)%VB)@1==N61A,P% M;Q R'./'3S:2_]PO3KDI"\']A*8YYD*?/?WHB$!5)C^LAX;Z8/,[H(G1M+_[ M%R!1\)^@^YL/L\R7&GZKM;%+8? C= _5Q&'H?$0#2EB#MK:CWLN[XU8<$M"W ME+9I>C/J>F4]EJI8,55BRFW/#"0HK)<*-H"_)]V5Q2+Y_L[,2N+RFD/M?%CK MR?\\&2.4-U\H(U!GE:;YG"IN0J\?ZZAVPZG?.%H.2GEB.:C%@*IF'\()DOJG MS582#C4%L-3L%J(C(*)#'=O-$OZ!9[Q2I"Z[.J(:C M]0)R#L*^ZS<[FM==1CI8Z*8OPPK2K^+;8QA?*)IFYV@LD_:A';=.V28YDIXV8$(Q882U$RN].Y\ ,*E-F;DU%ED M=@[,F\3H<3#,[1LEB>8$9-/)2<:L)P0W!XMN60LR;I+A%?)I]MR=6_Q;7:]> M3,\AHB-Y'U2KFI)QL>A0 7\R]B6W.NSL+G ' 5R1N8-%;_LFG#$B%+UD/7#KO'KW M5I6):1'X:S&<9-4= 9?C)(:?>XB?LT87NK'C[7HBD#BA^M/RU'L*XV'$#L.U M$2RNT"2V[D&..JV#/8C-PXE1GD7B&2Y:!XS>DNSRK0"X\4?9Z@[O)KN]H DG8E MS2"/J&(8&19Q _*J_6;!\C+P;TP*MS6'+5EB1#2-"O4-=D-3K%@-3]A!^<@P MBZ[K87-3(]K?2YQU51/:@ D$9GM[Y:MSRQDU-(Q 2(-+Z;"/JUF(OB*8,FH M"OJ<$+Y.E=19+63GAAML'6"A&J%UM1$[37:7P&E8.]%+F[N)FNB,H\_V33$@ M\?6W3#R\$GM&!U-V\W%<0V!)(PC*=3D@IN8AY]HXZ@;JV^84K>WF@'V(@:1I MV5QKB21)Y.RY4NU/&G;.G$JYD?[BOF^8KZOF'_ZBODW]\C9?X" ;MSS_@6#;8) M]%SN>6-@2QIJZ2JFM>^X?_8L;Q;P:RG)I#XNP8,%^QW]WOZTS0:2*6,^#B1G M+HM.[GG=R6*LR'_(+^)19FG&3V_J!62[:2G"H^YO.B M.6& 2,O9&I?JB0 )]KHQ+SI)(^WVE(R,"RZN_2G24[ZG^I3N26T(]LW9:,M! M+K5%'H1&1]=//FW1>3TE6BKL@=2&SGR7G;,M !F MEP"[0T5H$[7]&\GTG5:2A!HKK\N:J5"@4*\BDYTWI&*M= 8=* X4Z2R5"F\V MKDA>7+_X/ZEDX[:Z='0L_>QRDT:7S\AYFY_%[A@3)\S"5\%!)Q\1$1*\(I\V MS?"-:KEJ7IV.A>>ILXD"T448F\YK%$9$@M+2!)@TETGJ-R1H=3A[B2Y'3N"2 M* VRVTW2?DI]IV@_19Y?NG9T:R](;:!SD5HL$W=@4MIER".&Q;ZQ(=)9@U+W M4:S(\?'Y92H'6?/X[H-<)J4XT-)/1]XKUDBMU#X4WJ^O8K?01)\0#B3:A(;9 MS>MC'B88.>Y/<>M6J Q5*)1\:DD%N.WYX8)8U$VL_$++ M7?^H9+M2!(TDE;23C-1%2*[1;<\\\0DW&V5W^]8*1PR8NMF.O(@)UTOG'/P9 MX,#B#Z=,O3H07._ DO@:JA T)0W;1%*B"Z#]QE/TR,J0[JAT(Z= $=/7D:T8 MVD%S%J!I]=W\<$[K?-4:&VG=#+B)*#OF&B13_4?+' ^IBQW!]SQY Y120>2] MBP8E+5)("U2"QDQ8@/DZ0AFT#4:@B 3JR$N..)5Q?9YZ&%6DBDX\3=VO"AXA MY'#-T*;3Z$=S)MN1%]@A3JAD=9<(2NFLW+28Q)&V95@9XBI/9PS-_@F7F8-+ MY2O!6D5->\=XU2HD&74GH43V=27':47_P>B$]0D\?R3;<";9467;Q&S_?AYQ M.T<_5WN4&69FYYY G:6H"C60(!!X@H!D77>XG7KXOM01/Y@[IX/E3ZE1. Y= MSN6J+[3X/-7OQ4M9>U)^B1BL]R^.%2-C@AX5:DL'-H+"^0T8.? -@^#))5UF MF'_'XR6NW,O2'&XS*1$7WXY6:9"""N\[";\]5["7EC'Y)#EDR=:^\^OV%DD. M1:RUXNQ"L%&=:J>1GK3A.?A-KS@.2['')W*9AV':J5#Y5;]@; ,2'&4.B6F^ M:MNY^.ON)__ZOHZ;/_%'LJ&+CSN0,2W1.*G##HM',3-T!E&@=I&4>1J2FL+(K:T8L1JBIAD&>&72?EQ^ZNH57M3<4" M\RV>C1N;'.MF\.""T5](-=OC7?T2I;U)?J$6RC<2U[=N!AMPJ()K^: R =8MUW770\8OJX* C;%E^!!Q%_:$P)DOSRFL<\Z), MYG&T.T@^$^6T$]5Q^=2QPP8HQIKN]#$^^ECAV\R;02![#%DY,Y:# Z"FX5@: MU-*,5'!^ZP5"2,P0GRU6^[ASZ_I+"3)="3<*)"3*K@E[E)ICMTW<-$9(EF#T M!.@I0K^"FP#,!$\Q3IR[G\=K8W;ACD4OB#V^XJK)V\: PQD0#3\NXR93I="V M"';>D\&%R:.$7(99+$[!HX;S*D1>&.B@%P1WCZ)0,]\X$OU-4]#T+9=,KI A M>T,*H(@2$U109!"+(!$-VG;LN$-NK) 7H3LB7,',O[/:.D%-58F.'*KX/)&E MD0M-XK"$I8V](@)JU&WG5T19SKC8T>9K([>TQ)W4.80,S*LXT4QZ,F:WXQ$Z)GO7.*6S6T^\0YR@851DW%=M6-Y5[@/Z2)\ZX+WW MST NC@/AT=Q:8O"*@67F^0_'+SDX1Y>LH>7[.$EOR="AI\*NV*2^K7)4E[6 MH+]!'$@)Y[P/\0'K5?K'D/_!8$O.8R[%N ^XLSU%@ZL_ZD4M$(9P)PR*I%H' MU3<(GRA;_P$:'WB:8^\05\ZK<.%3;LNK'03'H9/7)>8 3G\F'4Z[+ZL1E:K7 M"$_YI#2QRVH/V3 @_6OM8Z\H^SA=D30&!8S8O7DL=XM3 MO#)4F?FVQ&"7G8X#?Q$OC B&Z7V1,#P%NV3CY58FUH^5,\8=.[&-1AK,F@\6 M^J;+89TWA[.WH!YGALQT#_;",YN(6=CNHTT2UY4+0^2F',XBL_4N79>D*L(P M 52DE?(RILMY9L8"FEF4V'78Y\DH)DNVF7?;6X9!<),MYY?AU2E,H TGKY"2 MUL!5O?O0Z!-4?.L3Z?*+ML850XP&E7J5BPG*>ZFM,2+*R@T3"LY>MEE*ONP$ M^R:W<>+C7DM@7'4?E([NV'A-QK.[<*BGQ+A=8Z:3,J%K,X(I*A)F%W=*)A98 MAE"T0]8^H!X46[12C>XI6,6081K]U-A-OU-J"Z<1,X,19^:WIE MSN)ZG DX:ATN4JIQ&A]510R;4I[>>'(2O%:7T$E>CR9EX!)$:B#815Q4%)>? MUI%ITDG/1HD-529-R#;UDSBQIEUZ0>7]55F<%R/@(I/;<$]L)G/%MK_L0 L2 M]R(E!"'V]:_I7+CA&J13*#R94I-%)-1D?X"0!41 I 6OP7R[I+V]CID9I#%' M(M6#^II"+W8839ENZ4-A9&&J-.#N)<''?)/M=>=V]Q:9576:-T5U( V"EABWE P9*8>],X:0)*0WS7;"@>6KJ!#L1MBO<@;8&/:- MDUQJ -S+F0L5&Q5DZ_:\F'>#7E//\-=<];8(S% MA]&=[>_2;*3@,>ZD2T0-4K$G+JTZ(F*2SV(+0&:_4.=Z0]4Q0C=9R[+3\[4M,37G(M MO'X:X2G!;PMCV#V_"@"YE.DQI1Z<:.=KE6T4USO9WG019U]X+9O",&>$XV)2 ML?!QV^M%=5XV=<6NCF17<'40J+*QMF[?K.Z2+O3\D[SZP-_BH3SP"J/7WD^( M1.1-D<#!!4"EZS#T;9$WS($Z9^+QD[KOQO)Q)(76=ZNZ_B [;12V^JFS"-F- M(IA3N3$.9ZE-N"CR#Q9/>QT[Y50=Y-F62!8.")P&FUF[DEG0IICG,>3(+B/B M-S,;%6EDHF@M4D!/*B3GLG0JWL1',)XK:LZAZ$"(W&-?-79L#Z]"[TW#=PSN M4^ 19:WH[N_7P##JJK5R84$&ZYS8UN4FI[4YN" J SO/!DUQ!'/BZ,Q.ZJ:I M+S@(0AF7DDFH1S%KHQ3G%#XZ9R87FAXP_54?VICX@YBI,8\0^MLF3?GPV#^+ M(^-K>@>KP [UT7IGHW@J4.C';).5;KNMYYK+O3'#T3; M1D U@H'2]"Y7)1*ZW04YVJ_;)B\8 P,ZK):\*O:5PPYLB*F(([A3S3$HVZ(^ M@7X9)7]ZQHNSL$X941@'6\+K@HPI%"JWRJF9^6XPB#(8>A>\_3)&!GBQ8ZLH M@#"N9^$EG7;;,&, RHB#L>:$SM0/>7F15WZT(BY%NY??W(U,3'3'@DK2PH T M>[*AR6#&BY$"O6)0);#;2>XQW> _5@!$O.]P6U&78;P]9:.2,9R+0:VVNET' MOG]X=VH+W/K!<]BD2D,D0YC%?H&S(E]U9_,II-RRP;[C_-)9N=F 3R.VDREM MHTGA3K>N<+J$ND_@+XW^?M(O3HMN)$CJ@CM3R]6+;>4\IL44 MY;"D4Y/&-P4;UWXW3@O5=5J XDY;Y$>93RC\8Y:$%3&+0U%=#1TRX:5UCI%7 MT1+T(X,#1:F$B##U[1,MUDL56O@D3_@MW)+J!,051[JHZ:&^,F*L)9Y[9J>6 M"Q.K)QN XT/NWM!.41-@X:./ [7<@LH:%D"9R3V7H)*[2VH.NS!LN! FRGW9 MQVX,.ADV'^VJOJ -DG&W;@1H4I-JN'"VF8NM:7*Y^XR>$5D1X[T@;1R3\RWD M+^G^Y.TA=+5>\MCZO;":'(;3JT.LC]R;F,T>-\?H1K\EN5IVNY+('PYA\VB/ ML-DC;/8(F\\,87-SJ0'T)XY4,NK*YX8G>A!WUCNB,=9ZQ_V.)WZ(@A*CDC&) M%,>F':E!\@UT8<(H?LYPDX%KUZ#$TH4,'1.O_JI>".-0)V#721.:T"ESXGOW_KF]\2J=/<>/TX4$VK89;6LK+C,3^- MR[VJ2[-+0BX=U_'PO<@9A:!WJ=SK:=?U )QKSKB57#G (X1ZS-IE5M#,!DW MRN?(J1*9]N.D?2LAP^ND.=KZ+*1O>CR!P>_!B\RU1:-VB'SJ$,?$J\NH!-2306QT0(J*"OBF#O"0F+YDXB14E%7P I M>?36L1]DTR5=#/I@LVM99![*&)>=#19)E;NM73F<$2$DSH5*Z*0@_45K1.+D M63[G?G?#!DBW%TA/6=-^2I;\61MS1">2DZ3-$]NZY?!26(WK[K165DXI3C'= M*/\)\6P-7+X1(XZ6(LP8(/Q$6E\)Q)[H"104A=$CG4I?;8HS:6).#$W%^@,) M+?E9+N_.L+IQ7&J@&#XXHDU!_S["IN$\9PXC&G:Q_FU(^Z); MQ2?TB3+%C,-)$86T4IS 142QCGH#C- @3\![CLJ PB@2R>!F+#+XX?68"5Z- M*FB7M($0(5)=F74A&S0G"VF->>NZ/%G#()=?B!.SHUM S9F\B$^"#N72K3%1;?ON MQG6P7&$I_ *@2MM+VV%3G" '14Q#* :KT(/KBX\XP @)$A^)M37Y'_ UVXA) MQN4",*H+WZ8T)4$FF9]!(:$S#5L.EB7%M"PUQG?"!XGV<,UCTE8T4#896,_I_F:ONCR9-\&T5UO7J:J=J"#Q]S]T M:7>NX])5A+60"=,TW?V27>JUI N4J[8)IS=-C Y'0]=*\_PL_, MMGS2 2') MK1TP^O7\5&=Q7C@W^XR]2^J45'SP=_T*1Y@DB.$ M,4B>(T2*M!4SHN6G# ^=6G4KBHY(/W3KX?;&VZ3[54ID5#&0JJ11)9I.98+8 M-"VX?_;K0CP8]%VJ+P<7X.C+O\3]6E9"D"]/7,B_'+&O9>)R\"!H]N,0G47L M(:D4AHD?GEV$UP3[T-1O'=&[$$L^[O*&KY.JIBYTYF^3]>CB13^*3P$$E^EA M.I88_"3GWA]>37X[\D)UH"ZU'4.IG*6CTH:3(&GZ3)LR$N@P.8KN;"A7RSJ+ MY#^Y)=TCND0W4'4](W7/C4=2"D.#[R *X0TORQW=$GY?]DNP;G3[)YZOZ FP MXZ^,Y[EG>S@_>F[ :TJSD0KW^NIO+ 7AI3+C#)QFU(@]0 MT..+4[JLC.!4_UUT+75,"Z_=MG;Q,KN@D/<_>&Z!6[9LE E M"&D@<<"=6>$R:\*[.Q0WDPE3!_9R$V,8QODWFT&@-O6@&+#+Z!3RV'\_CTAX+B2..+&DZN40#8KU!8%&QZFA_B,%.HP3AYJ2?Y?/0/A M.F/+:4=T.4E"S(6% '%3L)U0W>1KM@Q1Y;*LJOJVDE,#)>Y=5V]SX?@EPFA;@UI):*MU7HV5D0 M\X,Z%0G1JZZ6PN7%ZME@H,R>GWYD94?=CVCK#Q>YD:]#@ MK4M+%I*<5N6)G/@U$9F$AQ@WD'1KM_]X7;-!S'L=9;%;B9?<"WOS M,A(^#FLTRO#*.TWHL"(N:0 14I> NY')IR8W5V_/UL& 2%6]Z<"JQ/AD#M,L MHVB]@U[N3'JI$]*JS&L"Q!YK:=/*].*=SB/[:,X7Y43NJ+&&IB[E%,L2(QFA M& *>&1E,?X&-:$X+(3[TP^_('>EV0S78/%J(-M4\ZPI-S'=RG;NU3GDOXP== M4X2V4L<*CIK%9(2N8SVQ%BMEZ>JDVUO-'">/78>,4?$.2%[<19[0N4[XB'O, MB6).OMIC3O:8DSWFY#/#G%QZII, N$-#N;^4^!Z*)MZ1IZ/()YYD='VD$P.. M$?4U.-Q%O7)E7KA/K'"'\EVB,9$XJ#LIO0'7Z$K)824^[=4<_3OO1+F[<2G^ M4J;O^^VQ_<24X;[)V[L/2LO'>!GAHBG9&X-.-[\P>0G]*5=''<6?/@INV(^" M\[[BAXRSSRKE23@Q5!NB;LKZ0CJ *+6V8M3JD+>5BG"-;4K?11/5"\(XNY+J M7R=]#&^8@H;]4"O8"C6\$H33:5F)EY$\?FO:(;3C0!W16ER7#'$3_C672BU7 M8GNB>"E:M!@S+IKE5N2[[,&Z#C G()VP]W@J> 1DFD!:)HMA+ $#Y9UA%.LV MOJ%S=L[IU*NB!DZO"GFPJ>48&@F>'4DVNC5*9IDZ*JEB673N"4MQ<;^V0?Z/;;B0H MBGH>>9)"*\[S5<]V0$07=&DU8T>)?0W-*>.!>MRH7V4L^$;V$IX BQ-,8#I\ ML@/:,:"RA="MB,GSXZ%R)),3X]OM< HWQ(_MEK-5!J7\\6I-34,D]7VN ID MR^'9Z]""%!N9**BW4A'NC_-\I6VSJ@23+\*^%FI>0L4.!(PE>8&2A_!@V$&( M8FF1^DTS?9,@-R>((0@HX0/V3IDU'$W8H(5F6$/ J,+-B'6](WU4&_B9HU$1TJ>A^#BXHJ\?HVH-^)KX'WCF@]\":+HM$( M$*N/(#8LZHT*'Y*R$I?*%=JC]E+[J>A)4?3;6/.#ZRO;#RE%I=+*32TI^LQT M:'+?&"2/LR1F\&E62/Z7 A[7#SANB@NOR7.&)+JWBMI"/4G'K8?\7NIFNB=[Y$5Z29I^,V!\!G^3["%Y,R&(R!6;:=<\S-R5OEX:'L/7-T M9F&Y3]$=S!>@!)])05_#2N^3TU/5Q.Q$3TY?ZB^&@RSY9N1&R2KI!B?\4!V& M1Y0JZYHKC3&M8)R[MT?P@:TY'O)Q;A'M:(B=/0H5=1UIH8>>:8"&Y MYA'?%*>N" :_A*T<]B2*99EX%5HX1<,2!UC.LTWXA;"6/Q?S;DQ6!E017;,K M-E[!T(03R*4< 4)0Q$!W__3EH%$;+6Y/ME*'DUGHY$OMVA*)PTF) /IC;/ZG MULX%^U[)$L$-\KVS:<>L]!'[4L> D""_K'_8@1,B]$L!O+(/"<=#,12H1@!0 ME@1\V,!,9#AXQ4PN+7 KDPY-$I=J$T)D38ST4>K=CC;#8;DVXX=K96T9@@- M!=O15;VU3 U@=V73Q@M)#%[LQ26M/)W &?6'T]A$E-::_N5;%T4^3:13G84M MW=E.698G<(!T+(," 9&1X._3]F9JW(1K7G:5-(;(-^5P6".%W-:V '$WR/C7 M"2>*>XNQ^P.V9%]'&Z%GPN2$ PE9DZ8@DP,^$*VD@E;*PI,$*T&Z1V/R$06$: ?%*S5=X3-")P=('& SI; M?G&?MFX_69F1CQ*)KY+#NS4B]E]<7$3:,^5N#@^ABN! MX#̅#"9O7G4E@3S8,,<*\T)0,/W#D_U'-LUYP<_K5[X#[IE:F(8$Q.>>?3>U5*&2R#88OQ2T;K1K-X MH*PM&N)U[@VM^Q+ P-=O7D1M]AW:-8@6VTZKTU2YR.4_^3XDS).B W0!<=+P M(Q/]^U],77Y:GL"]OK(BP#6:3/$YZ_(MG[UZ]GSV;=]J2\8R$KLF3>U>T M\V 5WA)"Z1FEI"AX#\\7/.FZX/=KQ3K"[96X(3S#<3YQQ%X69+RTS^K9:0-S%6R+ M9=)YWG[LV#%]K\"H)K+[I,]X(20WL^]S8=?Z(?B0\W3!:#)>5^@C@X/SS.5- M!HOX_0^OG\5_>&YEBE?!-22JD%WT#I MDCO7G+(!.L^6UEE>XQG;!'\G/)4.P.LT MF'@=W8M_U"ZES+V5D^BFBZ5[S_[;U MT#?QWXU_UG=3UI?G?1E.MGPN2W[03\OS9\]M6@YGR%8.ZK-[)(PB81[OD3![ M),P>"?-[0L*0^9/KYOTN/X)"9["EM5P5074^=@@:7Y=J]ZG6?!6<#Y^NOA.7I(?C+' 5"E#$UX.T ?0X=."VG&X5DHZRW:4G;C;NVZF4?P)8&E0DXTQZ MJ?91"2\-Q!*R/N+U:!8'A/9'N"3RN!H*.P%E\#WNZ&T#X(9/HFV0N?A#H]$, M,S #0EE)PA LD(5:=[E*VIH[92.VF&+N 8R2/"(Q+V!AI37@6I.!.F-PP^;,U:< MT^(FF:)P66Q84D5\ ?6%=)WJDY7H*'+S[IHQ3EWAW9'N+)S9TS/FY\9-AW$M MN%T=D"A#180?[X)CL2*4UBG8;(6\C/CU6*"-&;+48W!5F-I91K$?8:4UO_C? MF39(R=]L\-]H$_[0)HM*4AA/#AT9.OCA]^.0L&>T6+ M\X6*D34PSK#*4"*0!3(;QV<=.&W"]&%9A?0F!BR>D14E@I(HOF&#XQ>T)A M @XFO%V>OR$)TX1SN4M3Y4:]GO?\6OUAAYF3NX8H[=9R M:"%Z]>VCS7ZEY>UGP=DPTJE7KYYY T[H$1(LRR^,."Y$XCWCU__14UQ0C)X< M;P-\_!_A%:Y([-QR%A]>:Q9_I1^_WA*>%:N%7.VV/.LP;\#F(8A6J2HZF 9\OPR% MSD-+W4Q M7P?/*9C"4Z1PGE%KJ\3:: "QMGUFG#TI^=)HXQ.!85@T@/- &$&41L(EU\8Y MQ,8&^&45+\]D=N*9"<=*$SYC;YA62\H>(E3&!XI&]^K' TJ%L?O$4<6WU.A. M: D/LDBC-+WVXG<1)OX9=D#XH9<",QJ^ M)(TM_"S]Q#_Z<*4??8G'/R+T#ETIN(*[66PKYIVEEDRGQ^TPS>F0VX4KLBU6 MRP-RG3^^(+& M-C@<9&8MH'F0,41,;6^RPK=ZA1UC8SD#\Y-,RO>LN/S<.V^;]GUCKBTVS0\Z MTF>G3<&ATQ=AUSQ;A+.VZ-P[J-VA_F6>15>IQYLH)JDC%+JF%RT0LR$I,G-!V/+)*Z M6[^D%S$^"" UX8E39T/PLV8]PREE:;NZEG8*Z140H"ZI8&*>;#Z,,X> M,83.?'O]H9A N.I,_37ZT!3-G>,\XX7*<@)/>2'U9T M?K(O.N^+SONB\^^IZ/Q3H?8^-4)W-BH.4P0BPK*:N4&'SJ#C"0D,7T1QV"%M[N\[=$9HTI.;B,!AV:;2$ M0)C72ET.&1N[7%/#,P$K-%AP9M%J&]ZK.=G&,5C PM+7L9N>:(@VW0%X(BHH M5P$@381P?8@/VE8JQ73U4=C;PM?FGGL314TZEVGS+7.%;Y!K"?C&K>J[!'__$+ MSM&;[\@".-@]]0._'C:X=3A&Z%]@T0'$+XGCQ5XCSD"T0G!?B0P/YJ=BL5?4 M"\PO)CLE9&$ 4:0Y_3%,LH?SN('9*6\0E'_FIA]IO$1?<\RQO.Z HBFF)%/56?W3<5Z$'H(U1A M"[?/=YS:>6_0>W<5\4Z6I:%["4F1IE#*BPD*[8O(U!GED+0%0AOJ17E)D;.P M&O3XX]EY6;L^;?O#:"/L#! S#@\SY1JFGZ(+[*_:,]DW'"$MT_XD=W/[YGJS MT%ER:W'#I=2@(X1)__D+[M^A=^S#Q1\&B5+6@X3H1:^8>?@%1(SENG6V)OP# MU?1]R:DI-GT7"X[K$!W<\RWYOJ0+E]G>O9868WB0N?3V]06)K]1-1=#U%S3$ M?%'3_PIW&96>^RZ;O:XOPA]_[/(S3,G_6]);EBJI6U0,R)F,6]$KA0*M-8]& MX@!-UI3Q>N))=WL63Y=UC3([BOQQ_IM6!EERM*2LR7>B?:KY6)818?"A5(<9 MVD]"\HW6AB/'!W?52,NK&R23.8$=LA 3UX$U*&T%<:BEU!$05P1T)0KJ8DF3 MU9:!1^& TH ][L"?26$Y4L#)KFJGE)94M5P["5;LXM"O2T/1L*DO*CTGZ37* M%RZ*+F$583H%]&<+<^GT@^NH#M2K7FIPGE1Z;=.D2TOF+9=J[1C'>'$64DV<@, M$NF$?"-V*K0XJ%0KFQ5! *JY$2SHQ/4Y;FI#OE;E:+C@(TK(3J-&K']*H^%P M<315,(MX:]2%&=LJ4PGQBY:<5G8X1CMQ57OEC.P&8+G[PYUP4_!8PJSG[]=+ MF+ZSE/9Y0)UW3WD_KN1*CUC:%!^3$BG%Z\B@J2,SXV>*]U#!U% D-Q(&G/H0 MD7-8\"# 'O_ MSK7#G0AFTETE;F,LG"H+L\B:U-S#'K726M9#3^6[!OBS(?Q;63W>1'_^/<+S M< MSSU(M@USA?C=Z6*65!N$\BK)NF,;-65AK?:7W8".#GJ2)EHO1"*22+;C3X4O M!F@P.?7H@8GB)PTT&QQ?9XB7BT7A&;@'4V2:-RGHBZX!I;MHR0MK"KIE,N76 MCQ.;P&C=O/(1!7]>P2?,8/*1]J =D9EZ.-($LWT.Q U26&)ZM42"^Y/=)NV( MB([8-$>^NUCE="HS=WHDZ:9,-C7?ASJCO7A0D[JG%XC[A@8EENKX6J:>T2'1 MJE[OS-+MZ1-6Y!/?+Y+56U!*.5^G\ZZ/+JMRTUOMUUW,U7G9U'!Y$K(GKCF/ M4=\[U.0^3T":FYD,0?3Z1,CDE?MMZ)1XL]4Y%L;@!X= *L=1.LO_'79FW;=1 M96 2*IM,?8@>BWS5<4A)^)UA7A,V4Q_GGH(XR"(VZ2N6]$*P_LL5I;'7);#+ M;!X33DYANF)H+Y*XCLGUTITS[N<)+D:UM=UGK"J_\*F7)5X,B)HI2(*C&XY, MFMYHLC8)"?4EK+2Y>P..UC>@T'-$U#T1^P+L0,U/$J<7 C_*$!*A^]M%3DT! MPBW:4,V5>T6A"CXI'HL@8I>;-#G^2K$BR!LRA4IZM$?E\^28#]J@=#_Y7%4L MI-NFKB=/4&$GR$WR,^X8XN5UI#,WMRNTL5PEA\4AH@[I7RVT1M\;EQ16G3 ! M)SH=&M#>!_&E&UK]GXJA-8FA*W,,*?OQ%G<"^M_68C&V+-<;+EPP-&>V_!R$3)HG,==ZG\C>9_TZ_O<3"*@WFZQ\'L M<3![',SO"0?#V(?![;4@%H'RI._2E) )V([D/=QW3WI!W;;#+UN,;^8UD6\> M)C-<$_;XDO8^&CF*O4FNSB%E[*@TNPEME2&CY.3%G"7I"U^<)Z3"KM0.HG). M)8[B>.-;#8"P.B.LE,O!,RAR< M-DS4)+5"1GFQ?GZ6/O$R!76W#RDQDIDF[FKKR;:'DVI#IY2545FD2QPSFG?N MK]W0 _;5+2*#.-NV3&B,>6/G*Y@!M);Q4L6H!P@$)Q:50'FY/$7!*Q M#HA=TQ).NY/PX.XG^%*+^:RU$+9ETL*BJ,YJ4H"'*8TN!1:V MKML-Y>HRF54NUX;=?]"&%2J,4C>A-Z>O2BU"UDV:*\/[Q9,R'IH;=EK+&P%U M!.ASQ?).>-._8&]Y:($S_<,9"'8++.D'_Z:AF+BW]>_/W?39!AC^8RA9]D>S*;L=/ <+Z5...F.<$""("?,R69O*W%>28%J*\+%(DY6^ M!E/E#_I7QLP7Q-5*3&*>(8 EQ-9N=I#5E)1# M37T;]V8G-8AY ;L83],@2>,&X-H&,7_.L<]]0M.5Z*=P7W 8?^X7IT92O\S/ M:]3]N>NL7"[QS_3EGN#"BBX!.;BIH_')7USU<[O IEVJ&)SNV1W88<+ J!0\GL7L5=O+DAW\*S< MT,R2=:>N9,*8=_6=O<.M_EL10$"K#BY"B-A]*[Q.>%+-S &=5<(X6GW3" ME*(C-1LBZ[4&%0 ]E9ZGXM%W/C=7J[R11HJHBWN9LO@^9)%/@J,J!$FM0]2D MTY:Y>1,2]R(W?L$H_\VR"6GQCH)V8.]9A$4H^LDLJ5(9?SO*Z0G@9B![H@94 MY$\R#N:-X8WNT[%UH8[MB7[0 -(0MM'3>*#,<50.D)>E^B?.8;?.%ZJ!%R.\UO&LP1P9MW2:'DF%E*6VI*;(]@NR+_\JR_;,B(VA%:2FT+P\\?^(FE5 M'*15ZO;7;T,<$TY,^-PP"2=@'@Y"@+M0:.]8$]A+O(-.XMC.65%ILF8IE$ MQ8EYH>XGQ>-+S.%&RZ_+/?Z,E[4/'T^S)*;UTV/V#Q/]$G%O?#>.01T%EI&J M\=QW'KP?T 3'EAG+1!/";Q#MN_QI62?-7Y$AC.2%3$&$I6(@CEL66.CB8T^0=T;1.KP8,K$T*^G%P_G@EOW) MX0YUD98UR13+AT@BA1[B?K*LQJ."&!2_;=01CD9'6VJ8?$]P!D2;RE./89]! M;EL2#,3W"LF+:+=\KTAR^,215?<_C$!T#..'(,1+GRJ['BT$#EH]!'^,D?U\ M%M&7V+HPB@$;='CMC6/#HM1PP^?FGV'Q_VUDUU-/ZDR4KNIY'S4YF*?E93@G MT'^EKA#UWUOJOR5 2P[Q9!& ?]2=N'P@\2Q?29!A7I]./C MSVOBIPA_XR;+^CXDG*\$".1TE0N,FBK^,#<1OEA(3W'=;&JGBCWYK9.M]*LP M/-/Q(SH\!C-[G,5V@"47?#2'ST6502K1:7?-T[*36P)Q$R960=-\?DO!C?O; M[(NC!V0VZ& S[\_XZXK9:HKB@*CR*#(]/86H%LC O2P1"U-V*8%ULMU,&) M M&+H"-9PB^I"?Z\89U?%HCF=?/'Q '8'A$/2,5PB641/UF%AI:L'4ZM=TD"@: MML,1KLN*?W8X5#S+GD+ \D7P->&I??'H@92^PE2B0ZO1KLCIDJ7YU=_5Z=#MEN; MOC@*@2<%P\P96XU!\A!1>JMV+\]7#X;3NWL^F P?H%Q1"E86U-;B:3B4M-,H M-&(.1[V%1>V-*>GUQN>G^:1\5*41AA[>+^R]9B;/[.; %)+3EIX3 .Y!RNA M-%^4A()A?\0G"/)9&!*%?>QO-\0I^<5C.G)[:(Y"<[[>0W/VT)P]-.?W!,T) MMA/"J;BVJM2P\MT<;K>+<.-2J"=<*VII =%HI[[#"4AR92O@(2HE^:T;IK4F M $Q1>$R_O]:"Y7WR0"Y* U9*I6?J^R,OF7C'2/F7TO24K. +.G@S)45QN^_G M3#Y7%@0U49+0FMCK6$E]U]>N\*N&+XA[FF;/_'FK.>72!0< 39S$#A2[:G08M@HZ!L#B#IG;SP"5ZCD.8&7DLW!DVQR;HF62S60ITLR0=A&HKJ-#]55$QL9@N+ M?%*RZRE,?]5V)J\IFG3F7.J&#B^ SY9U2:@$'XEY]B"6S(OFVVM*3-0@W1\C+.E7V^D7HNH%\BC M?^3AVFJVPBA]P:):,(9<>X%"9T**DQL;+D[7\[SZ0)O;]!F_/WP&*C3Z=H3- M&&H+QJVD4RW=UA/=LR(F1;WK83$IS$?FC'Y&GJC)]#CGTPM3,V!@T_&C33 , M$$8,4_:E/5>I*CB"HJ!0D[@%9%*3/":WFA75@6$?DTL'#=/" 8NPC([WC%D+ M0(CM5W!1G'1QU)PFTQ!I!2)HL6(\J-_7220RR7!4#) ./@ QO7]F=8M]-="+*B:'SM= E M-+QNH(.-XCFSL$G2,Z7L2<8'(H)E*J\&K;/B0T).P'E=>E/W_M&3.:F;!BET M5LJ]W?%MDX#CY[KFLQ/DDD GSPDV\DRT2:P'R MY/?7.60W73+R0]C?V#V:S!-OP==<<%N9'@,//?&L5DY7+L4(B'F6<@/P1UR: MD4H!"@ 'P6?&J5#>MDQ;VGT/^&1[8=)OSS]V]_?>S2][D:&)?.M@?<+D;^#+ M4H&[6EAF+H$IY!5X=Z0?LZ,*TS!VF&B'R"EB@5)>4Q P2-C=RV0%L1>DO;AF MQ#T%4C O)GFS SYQ]^MP%<_J%;.>\_'1R9^<>]6V(9:28,-P%OGZ&Q#HQT?S M]/)=+EV^@D2 *0[V@L6_>X%JR*YF&[.$Q1Z%AI 4K#L'4%$=0C(_EV^?2U[A MSE?P%Q IH.>2Q4. :V,!#:T:KLY%57) Q _\1MO6M,F+A00['DOAR9^NTIC\ M/8G_*$\^1[T)TM;W1J7M,@GGC'R,,B,0Y1!=L7QC/?".MI[PDOA[]+"43+\@ M1%JN,G0JMI!"LO0S88U8+JIIL/TT/^:$T\A2GHJ;+-MM<;W]YKKL MB)$.YJQR3C>1QQ*.Q93Q0#H07@5<24 $DK*=E46I5>A!'0-!=D$,Y$#&4F,;%EXFR,(KB7A3" M)\A]-HR<5]XC@$L3G,VE[H2#0LJVUG:(P7:.KC2N[Y-\!0S.G2_O5>95WNK/ M1U]&C;UD J8B)SWO?W[\]/")?8VDE^(TY#A6[T,PP22]CT0@Z7#VHZD C9^= MN7\SSK4UT2BPC!2A4VGOT/]EK90<&-!":NY%=U8ODBRW@DO#@:P,W*2_D#'S M*2[KL+!UQQ>PM\U)*I7M'3UK>F$CI/]X_^J%JR8[C9(Q<0K39IF& M9G@WI UB1;J%R9*=&K=YZB53U3W,O:4N^/MM-D /"E&@3(297FWE$KX'E^EO M9U.JJAKFAND0AC*]V@BE-=@XJ?]2#4Y.LML2>'2;W?K<9HQ2L/AP^G@RB'/( M_>P9 Y$AV)FJ&G2]39V515VT<)*%C%Q)Z]2ER1W.484OF3O-O8NB)B>>;YFE M=L/H(>%6%;=D,9-D ..Z)9X.?P_A%Z[2>%"\TN2B,)HXS6J[99F,NV:O)-6! MB^",J1='PRU;V/RMUSG.R-1K\O ZUGX/YK"'.7QF,(<;NMRJ M'_Y9=G\]H_+OI@^7WUQAW)I$]HVV+L(5@6[X0)/AI_>=N*]CS,Z]BQ)P9^OY MB';A_G:+7RGD](GFUN<4DDG$=^#L1D'/]WESDH=8^>#-QU6Q)4$;N&#OW_Q_ MT7UY62\6!]\V5&?\B?SH]UU#34SO"E#6TZ=>* _\VZA&KX^*WTXK]#R282>K M\R\45!-<\E3$P@A:W+N)8TFK\;_4ELR^[*N/7&G%0+[_W_>OD!@2R8 KYY?' MZ;D&E8P7.5G?F6#M=]9D,-S4@[,4?"SJ7A$"1\?>NVLEC=)"='2T'&6:Q](+ MO8K$=BU:O8LI/2PUYV[%+?4[X],RZ&%(\A'XBH_.7FX]L8XF_ MCB)^G,V$'W (?4(E,[P9I4;6 +3%<($,&#-!L\^<$6=RO5;* OD6I?3G7#=T M$"\CL/2T\2N-4R6DH4,PK:(9#Y&V#GC:H.GO&*-+LH,I*<:5-JDBQ#!D2%W* M-4I^9>Y!U3Q2.;6%7&)6#MK.,V74U-,]^&R_T.1D-:HT8HI#U6B;B2""4XUD M+!,7L &X^POD%XDS&%.X''9D-$WE>G3T1GSPG$>E##0\B)F>-C M&<'RS#!*!W&Z3GOEI1XSE0AG[WX]KNPGM*\GD*,(@-SYR3CMQQJ8(%LQ CI.+ M/Y%? XF&G"U:8Z 4BL2.AL4,3PIW@$A+N$FS)(R)9$LFY/J3@HO""/ 8VCD' M+F)6-$W-YX#^:]GD/6EFV"-97S$CD 9#3&=G]07;3Q87D)J2L%E053VO; 6 M"H[+D.$U-#^1#6$?W"SI?S<"1>$0 @NAE]ZZ"+?=\X+ID\3Q*:LS5KH#_"*V MUM.KI4]N\4I2\Y+EM+O,OX*.=CA8HM^*BRZ*>CR91$M$\RC*?Y0^(W-AM0$_ M&K3[1( 'Z[G1UJ('Q.*V,!YHTSOB$%/%!H:/EY2 2E- EUO:K4PNC=J8DEC> MIZZ65!V?FYMQZ3F*OY#V#O'23;7MCC.KM5%!L(WX4"#O5C=%+%'!GG""TH,[ M)]&/$W:S7/R?/UT=F'_SU9\N-[9'7_\&UG;'7??#J^]F#P]GLQ^KAN@?.[0D MOE>=H5>,''SO:1<6LQ_Y^+QEO:=['*)/WS"BL&LOF;ZZO>J=O]:E+_%]716' MNQO@[NG4W[>=<\44=ZZ0=?=NTPWG^C7=$\WLK16EIL[SG;_4E;[@1!."2N44 M"VU4F2J]P+1OR+13L?<__^/HR9?'6KJ5R__%@.DA+?"\27&T@L3<&I2+VRC" M%[JS=L;%*"O_\L]I#9B\6-3G>= GQ2IX1%\P(7(?)@C(V8_DXA%7A523N#C6 M/OC;]=>(<:Q6YJ$NH0,2*,PW;?$W_1_'1 *RRK=_*RO,.+YT+,^2VA 51*!. M.<]74O=!BIK_++62;YX>?O/X$95+NB;\OX7^L%12#E%)^6NW&/_MX=>'3[X\ MVOGG+P]W_^VRQQY]=?CUT]U_ONRQE__M\5=//OU@'Q\>/?GZ+ S%Y(0X+P?_QAK!9 MU>G?OIP=X>#I#]WF&0\W'^DIQZ[&NBJ6H_/'1^]3&^*G5WF)J(?^4!/VX7O3 M8'S/7 -ZM2S,0OV":?B#3.6S,!;JEGR+P.5M7BYF;TG2FV9T/XV?;$=2VO1M MSASZ;Y%_#0'JL_^_O:MM2AP)PG\E=74?M J3S$P@1+>L0M [KM"UQ+W=^W05 M(4CJ$#C$4_[]3<\$Y"5"@H3,L.V7M20[S'0_T]TSZ7XZXH5K0P *,<(S2CPY M<(>B0%==U1:"?N#GC,")74;0.6L" 1VXB1B^!K M44DP(OBF9S)@7A;*;@0!'PF!)!=$JLV\A,9E@Y"A-E5#^:_9*#"%XA#!&2 8 M;=.A:A9MTV';)L\NV-/++[4 _-FCMP:(J[P\0MH3@:@O^GW+N"]F[7I84,>A M*<$7K^9,;632 ]UA:HB:7AEUI+:.XBU)#04-$M%#V2GY+R?#D%TCN$.?OQ"=SI?7K4D^5]V]YCX'JSD]58IM;(@MJB]Q>5_'<7F8: M1BWH^*(:Y!O0.S>#?@B5BIKD (I$5V1 B*3AV(NB6*[L3H9:OKP9;)$W(>^Y M(&^"OKP)>9MWAYOW:ZAQ:?H=X(2JA<^MWD#0NZINUCU9$QQ!USD&I+= MC.M]T:H0@*JZ;M#ESKEDCDMXLYE/MP>V/:TN:DK?3]LR/L_]3&W'G/0$T*)#7G<\'IY:UNOKJ\EG:#X._K,JHU87V)JLH/WH MCZRV/_8MXM@E_F/QF1+B,4*+?.02*Y4; &#LA)4:+]#AB@)JN2_)^SIJT'YLQQ^+M7%H* MIYZ-W\[8-6MDUBB:M<,W:\4U9NUB(B@[$QBP(AHP-&"J&3""@9G:%HR+ZNUO MROYEW X1(@W1>R@UC9VZ8=#A.Y]; D&"^Q78%"4/Q[Q5NGT900_BL?CSM^T\RGZ?'UV/DWK M\T47D_16@90%Q7G5G-D'PHJV:%?BMP>"ZGP88T0\NZ2K$2FA95C:&<0F9OVF MJ8!QR&/U/R[N&GQ?2 )WHQ:UD/GDFV$$;-: ;59__YD!>^^_05?5"?<$XZ O M;GN:K6[PY"."== A(+A::2""%Q#,@Y16U/W(:(3]?QZ [AOQK(%& <^URRO$ M\P*>:T$G[(<(9^T4"G!N5"X0S@MP;O@/00^1K)4N (Y 4DWXZ"YUF? MT-T">J6 /9_2L26VCL7)G(L\\$WU#7,U"2L5#VM&2?05>ZM=BRTX4:6@C>ZD MH(W07\ZQAER1N1QDF5K>4\FR(BUS6Y"P_*Q9_^VF?[E M@6P?N=K$?"XU:9:6%+T7(!YS"N*A:<83'ZKK0QO.WD2VE8QZ'LL6J/ UT"9; MMBOEWCKD7_,0=/U>9]I>7> D>@#JNX.7/O2&Y0EZAJG635?R39=9[MJ MOG7#,M-AF=0(LNU:@JV=*S%=+UGG*BVK^3ZBPX^C8ILMRM-R4=5*H_ZC8-1O MJJ:('8_>#<1Q7).:C>=&0O=YQ,M5=C5_')P:7UOC ?"P4D=V.TQQCM%AD1>3 MT[T=8V4HH-3RK6?+N ZY-PUZQO<@@";K:7HWZ:3I#?8MZS2@1.6)B4&SC]N/ M^$)G1,L^D\94LR+QF(";+^C_/IY+&%I))I+^]W84]EOAT.^M/H .&1TR.F3N MD*N#T<1HAOP$VO-':':\QO8@5=,9+B(C/UUUVORL/9.A^5_F7]_W&1I67 M,^SCES/6PZ ]X?]TQT^]\_\!4$L#!!0 ( !R"6%< 2<)^S T )F2 1 M 8V%L>"TR,#(S,#DS,"YX7+=,^I R2T"3E-YY"$ M3+.;A"S0ZR7;8/"+;" M,Z;GM,6V[G,E/5=7NE=^ M^?CS?.JB)\*X0[V+6O.H44/$,ZGE>..+VI?AC7%6^_G3FSD9;2:I\3 C>-CXZQU>F(USEK-LY:I0.?\G)L3,L4(FN;Q\SF_J$V$ MF)W7Z\_/ST?/)T>4C>O'C4:S_MO]W4 5K85E73D0#L>%]@S%]"68(9XF1'>3!>"ZW5Y M72IJ&(VF<=Q,B.HECXW&B7$"DE@(YHQ\06Z N6MB8]\5%S7?^].'%MD.L< L M7"*)7RD0NRPP&Q/Q@*>$S[!)=-WRZ0U"DBIG.J-,("\A9V,^4O7E3"BQ&@IH MO:,F%LI:94D.1573$N7KQ!5<'AGRZ&C.K5J]N%:?&V.,9Z4TQV4"[>&9,C6( MV6BSW6[7Y]+HTFN0:DBJO"%_&LUCX+:$VBR++*X;CHQ(;A=U6 ZX8"]%AD2:2'109C"L M@%G$*:,[*BY_;*R3F%89G5%Q^2-%)_8\*I2\/!.>F\T,S@@3#N'Q:4T!3!BQ+VIR4 MOJ!D!!6!+6OQJ:'^-)&Q7+T;2$E]K*^774/Q.;%ZWB?U>]VL0^&P2([@FCT4 MEEOMR%2Q\&34=Q^&@][-5>_^L=_]#&5N?^W>/L!A=W-F=EO%Z%WJ M0;T;M*()!:H.%"^9& Q[5__^W+N[[O8'W?]\N1W^OAN&4W"U!+_?A."XHI]0 MH.I <&RH=0:?;^YZ7[>82]/AM'1^V&B\ CY2"JI$(IW.L/>"/>L2PT&^OL2!RD@% R\9QROP?H2G_M()7 M(58&@IK?)M2U"./2:8N78A-^4DS+P4EBEH^!_(0"F IU?9\\$<\G-J-3:7T, MFX++.QNN?"[H%/JD$!-Z%"TQK75B0DPD0=$"-;CM8H%;(:9N/>AN,L3S@JXJ M7E[;^^_7>S^01DJ\0IW\0$30\D?"I'>FWF""&2G4X5FRVL[_L-[Y@!01 %@H M $,*K4)3'L*A*7$BN6("M;6DM08A&7&F]6D9*=* M=69PEM@%*KU')V?#H#)RAUP)JJ7*>N#V-JS3P8A2^30GQ/)=0NVTJZ]D0X5T M:DTHD7K9R(3"ND@;2B]31?O1Q.9ES*(@E);M1)ZF4)Q?0>Y20O4P#\G[Q"0P M+,# M]QES@;4\IC(UZ2G XPH>IM M?5N6!E7+9R*UE#TV T5J3"Y4O4.@[,#P8O'"?&+=.7CDN*7#G%* 6EX3^:F< MU9#4@6)*#GP&S?\J79@G7OK0+K:UK\U TS*9R&ME,1DI0*&&2M*8LVG5 _^% MY>$=1'4E4Q"E476TMI-YJMRM,0,M%*% TX'>(D3\T7P=@@'W0/&/I3B:L4H% MJYNC:^E.I@W+T;V8@JL9VN8PLU&X4P9/RVVYN^DK'_XD;TQ09WHSB5]JYBV& MI.6OT)WXT6D4HA^H4]W2G2E#Z910./T3'#TQT0G8FI9;C876F1EU[J0:&B2C*KO[ ; H+T5FU.0*KT(TBHNVU:-E/)".+LA]="K9_U$*[VD&2EJQ'PN1K MH66"L#=RG3$NO>+>4H76&!+YS*+&$-.+8HH/=E":I())L:V5'&QA+VPA.GM% M>;D[ C9#UK#^OI'(BY:>#I2^ ]D9E)A$7I *^P[_MFO"T]&UI">RHR5(7ZI$ M4F$31U/24&?.]2ZH:Y+G^6K'L*DU#6XKR$-[C$F"HP/_-%_P<'!69C%>O8- M939QA"]?^8%'7$V %S4;N_)EZ?*3"1>UO:NGY[BNO&/ZHB:8+]_I+K^X3$?RA>[+[@RJ&?5F =&=MW#YD:%SBTZQ4Z21-\"99P)+RWO4 M;SU!@!LAIT7U#E8+")4K(SS.MI_2./K6!U^>$64;+S&DED(,;VCT"\\Z5)]) MZI@3!Q:9\G(L7AQ.H/4RIQPV>_=C;\-JO*;A?8?.#UR'^OF5R"^121\3J 4' M\F,9V67=]H0F:@MH#M$XO+52>^';PCM.NW.3G;'^J_/1?AZWZQ.?A5E93KR^X[@ MP"5%::P^&RR M,/O:'>!TCYOQ$:^\@286T0CMA8]>>_ROL_+XW[W#30*5] CU>4A?)M4;(&W. MMD5&KT?V@R\)ZMG9=Z]E=D(1T5W'7^$9B/G&A!6Q9? _CHGY _6^##06G%9T M+^PVW%I0$_1R=U!GHQJI??4^*2&^3'&420D$Y7]\:B?E31^=K$\_9+2N#,2> M>IC-\PZA?PD7IKZ84.;\3^5W%EY&->X54A[%5;^.A^-*<8'>O8,@D9",9SV& MP6B8BTL77'-F-Y7">$V/*"(U!:/*4_#5BZ^)9TY#^A"S',Y>S E;FW;/MJ'& M*F\$]O"7;D%7Z1T1PLZ>U"T?(#%??D-9*S.ZC3*\V4A7U8[CY& M)_'NM"TV1;+!_AZ#.IROGK"C&G-#F;*(CF6IS4CL!@5>?<+45V"OITUZ21XA MO/N=8'9#?096T[$%8='QAA.I%G5?E^0#[/V+X1;%];Z]I?^K?,$B_"TR,#(S,#DS,%]C86PN M>&UL[5U;??WOZ^Z=7S#_]][_]Y2]__1?&_O/YAS=/7D[2XAC'\R_^WSKV@=@H^>&4#-M'#(@$O)O'8J M_IE/O_ZZ[-GW[]__^5'G(Y^F4P_ M/Y.]_5\MOBQ#"L^5OS[XZ&U[W17JL>/:?;]]\3%_P&-AP M/)O#.-47S(:_SI8_?#-),%^.^IVXGMSXC?J)K;_&ZH^8D$R)7W[,\M.__>7) MD]/AF$Y&^ '+D_KW[Q]>7WAE@M'PQR]I/3F M]SH;'7T>X_MF7*9;?GM(C M?["J;1X4KU#^=8.G/OL)E_Y_6HR6H_.&/J^>7>&U1(X_YCC.>#I.ZU>/)NG" MET952Y/I^G^.(.)H^=/!8L8^ WP=',QF.)\-3'8\.1Z8,$DRS3$P*#:R;+GF MPAA'=+XX2E62&8FRU&B!65RJ=?789W7XGN%H/EO_9#F@R\&\^.;3@=L5_XO% M=$K3>@!1@$&1F//%,>U\9B%%S0QWUFF4.?ANQ%@!N"C-.2(<3-.3R33CE*S4 MTR??L5J4E<$Z10/3=(4A%R?+ZAO/9HOCX^4SV7".Q^O_7Z:3XYTU.Y^T&MQ3 M]1'D7?7[?CKYBM/Y"=GE\?Q@G __9S'\6DWX.YP/;%;1>Q+&HHMD?(5A'J-C M-H:H9'216]-8W;?AV43[\O%HO]G0-R/#$>$AX<>?WR YC ]U&(_*[S-<"CN0 M8,$I0]248)B..;*0$S#4H4CAI2*0C=EP*Z!-Z* >#QW:#7XS/KS$@F2;\FN* M^8[Q$_PX%;/RDS@(,7O/,A>!:>,$H_B+$UV#R*B*E,$U)L/-:#9A@GX\3&@T M[,UH\!^32?X^'(T&UBFO@Z$H&Z5B.I%D443)4LKDI&0H&4MCI:_?O8F*S>-1 M\59#VL[.4T8V79%J,DZK^"/Y9)W(@A5# +32FER.R@RY"L)#T5I :_M^'9!- M5&T?CZIW'^QF>O\XGZ1_?IF,: AG-=J8GPPB9I2:$FJ?%%+0B<@B:F BN V MEQ -;ZSTJRAVE>O%Y/AX,EX^]Q\P6N @6EF\P,@,2%M=9F8Q%60*!,VJPI/@ MMK%4ES'T*5794>^7&;W3<#8<^88-0O.4V075*$Q M(.+S3#B#T#0,K3WKW:CZE"DUYDUCE31<85NE<^<<)H63P2DN*,QW->J7GH$B M.2V4G(1"+G/K==1K8/0IIVI,AET'O9GVWPPA#D?D%7%V,,[72,EYR0YY7=X# MQ[2G) .\3"Q+FZ+VUJ34.J>^"U-#F0=@, :?7,UJ(RG1.!)/:):Y4DDKLM:F M]:+AN=?W*0AORH3+?-]VR+M,+9.%D+3,S.FZ9 F&K&T0CE$Z$%4J646K]YQ: M/FRTW2D#=E1 ,R+48'\XK]L85<@7DW%=TL9QJLPTVAN3I6(B:W.Z2Q\4B2LT M*$-Y8G3815I^ YP^Q="=4J.52KIPBH,@I(U:9*; :TH(M6->$F>3*-9F5-;* ML"\'L9,DZVU<%ZR,)24FO(.ZLN=8 $E11Z1?V*RSEZU)?A5%3QW?O;1]BX_; M9JP;6KCQ? II_L=P_N7%8C:GA'2ZQG9R;HD7C<-B1&20/4TMQQ6#E#AS%K2) MW(/RK9F](;2>.L6=V-&%5CK:6+\.%@C2I=>"E0R6['LQ+%C-&>:@C4THHHN= M;JYO29,'<) [T:2M)MKNR)V3\1P>Y[7VVD46A$],%U=(VB19 9=Y$5$XT7JG M_68T?5H_:D:)-F/?;K7Z0E58D8F[6O&:(H5EY-$$"\DZEC2W.6(D\5HO(]Y2 M%MX39EQIUTE\UE/T&HV4<.G\!T^D)S9"WV!(7QKAJ\GT(Z$\ M_)%&BUI]?I#2=%$K9.8XQ=E\/2B8HT$EZT:D(-N=T#$:",- AZAX%A+ -Z]* MV@%PGP*Q=O3:GPY;[A!.%C0'/F!"F@^$]AV>(?(8BT@$!DL0==N @D>1:FFF M@&)\4:FT7J*]#4^?PK)VI&FF@6:<>#W^1N^>3$]JX9V "! U,*=+H C)!9" MSUR!;<^#\^_L4=[73^=8CW')S[BL,\^&/KSB>(?G$<]5:9W7Y*GL' MHA <"40^U"PZ'IG7FDTI$D310)4D[,A%. OG@$ MVSJLV@17GX+S'?EQK]6L;=32,E*J4=LU\JK@>0 *W-RRM$L+?5K:Y:0N(HL, M+G10-74]F#X%UHVIT48!S2/G]W!2@[:SB,V& CIQ!K80-TV0+!AMF401,1DG M;&F][W\]DCY%R^V9L.O07Z+!7Y]='J4W]+G=2>&/G^C/MX?O/GT\>O7BZ.W[ M#X=_I^^\_L?AZW?T\? BJAW.#M_UGFY.$]]+ND;GBZ^ICCRKC!0\*D>Y-+,I ME;IZ&4_/$!(1%&)&G4O[#:@;X>QJ:.@Y/ZL_*\F5E%:R$NKYR*@YBRK62A>K M* X, D3KTNX+ /H4>[3BP&7[LOV(M]T7N:,"^/UDNASX^7PZC(MY-86?)N]A M:0NSSS&3+64^94Z@/3+*)K%NYGAN'2AE6Z\K[PBY3Y%+5\3:IU;;[^&NDM/9 M((04;%2:!2Y$/:--@*)/C"9"*)22!HJXNMJS78/8N6X/1Z.Z%CO.;V'Z3SSW MZ(%*POB2-[,>%*X5X;#;0[[8MC M$F]$> [R\7 \G,VKL-]P#8I[4X+!PJ*,EF25E'7&VGE'V.R]%,7)UL=$[X#4 M)Y/9EALM=='P[,L,Z3%U!_$E?L/19-FT8@T)A-5%2V0\%H*4)64?DK(/)4 C MV)23:%W^=BN@/N5_;RLU3L:SYU@F4SSKTX"SPQ\T0XE5PS%,3UX3 M&9;5)'4Q;[*T\NO-SD&0%#T!#4L)?FG:$_-&>6:YCU9SR;5NG;]T*$Z?O//V M'+RZ/=4/_3?RG ^4"8)C%8PE([B:2DBQ1D$RW(=HG3:1$R= MD/$*E'NZA0#"0A3,3':*SEB1K M[:W/O7[W2.0;CA>XGIV7-TQ^5IK,R-?.,->\U9BERG68(2"CLO6.?'-:'IE+%NQI-'@MU_V.><*@B;S7Q0P M#,E1;)T,@X!('PL7V28 UWQ5\2J,EGZ QLYG4($!8&1:)\^B,'7A 2 ZEWP6 MK4/U&_U 3Q9WMM3WE11^RU'N<-V2ZR(H!0RL0**HPP"O2:K,!K20([[5EQI('T2$$%C!RQA7'[(';J%M;VJ8;T.U&[-5D2M0< MGU8II9-/4QC/* 6L*,9Y^6E%Y_S?E!&N^F#?/;Y":0FU/Y!"E*ECXYP3Y.A[URI?&^1#<;+29J6;+6#(2H7=^L9:"+9$K[DL!#R;9U M'+>WC;8VJUD8P4#4R(2I352*KKEIC,RZ8*-0PEBO]KV:];".KB]\O'%=84OM M-9RP&V1UZ#WG 1VSRM>["C3%ZU ,L\(J(0*'DEJ'OJUR[GVYD+X2K;E^]Y6U M&^L*!RZ9\[5B+BO'?/ D-%A,(4@,JO69O-VS]GV5'_65;0UU^I#G60X^_OW5 MFZ,_VMV =_W3]W!VY7I)&IU8JW[R^ZPV@3CS;0>4O7T[ M[>JCN3796<-DRA0AR]J()V3B@-72&R.(6ZVK$S9'UR#HG=8>5"_Q]._7X_6] M/ZN-\H&+6BNO/1,Q>!):)088@"F3:V6GL":UWJ>Y$U2?PK2.F'1-\4Y#1;7K MN/N%TLCGA"?7/) LY7+(!B)DA=H;5MSR7 9R!IPB0S*A'H4TVL76R?[U2/H4 M9^V)*0U4TC*GOL3:M9M=-3<[WSXM@HZQUE,("?4.!? LYD@NUCDN3* !:'Y: M]S[X^A1$/9C1::2^CFJ]07"?D8(T ?6>YL1)5L,S,UYD7YS-MOE]@/<^C[FO M!CE[HLCV"NC0R%PZDSY 8X7T3K.BG:HE+XYL'P7OF;!5F77N8!'@#E!]:IWS M8.9D%T5UR)]5 Z!UA'5M(Z !=_7"%F&K&R5[5V\> RX(<.2.DD$7C&_?C&L; MI/>\RK#S)&U<"-^!, MZW3K_/LWX8K[_NQN.E_NG#L+DR;$,7_V8C24$U[B'Y^-K$C>NC58$^9_+'C775X=,6C=9K9!X-"5Q91F*"$QS5UBP%&0IEXN* MVH*5K1LYW@IH(^Z(/[T9VE9%39LZXG+5BXG5#\FHXAG&Z."18Z\G!>F9%'8@ 9%:E@>7UO_03"^ [Z"JQ(;K= M^U%/$F)>;M O;X$[^KKI>V#!>-L M-*T+GN\$]0@V!7=ETM5&U2T5M?,\JA4%@_=PLIS"KR;3G^).IS#^C*=36[EZ M][H6S)J M<4ZG$8D.O#$I;$ANTOG6ZKV-&M!_Z=MWM?Z+Z@%\7 MT_2%PHVC4N^#G(R7K!THQ!*0<$FN%-,4KS+O8NT:)(.-)67/6[?^N!O5/??[ M'C5].M)5UY[Y-&*X*#X4L,*&&JS4?N2(FGGI*735R7C+G57-&X!OCJZE9WX+ M\U4I_7)I^^3L:E48C69'Y?*--S\K[P<1+41!3B'H3,%5-I)!':(@0BRZD!IM MZ]6@)L ?@8??E9&W>?C]*+RYW?\T.4C_LQA.\6: ]:ZF0= 0R'QDICS0,(&J MH8K@3&8>4XE!EM25$]@0XF,(*)H3L$,M=D3HG&!M=->N#Q.-P:4[ M"C_0 $R':8YY=8?AQ1^<^^;IN;:K:VVK)E.'/RC HNC\ \SQL!1,\X&QTH>L M@5&V4X^NT]2)116FN"DH371.M_;-^Y5PCXLTY.-2-!'JW9'U/E;*@*/1]"^1 M*#[V+HCF;&/QCL-,)E7+2S4_KPJ MIGH]2V(^0&*9AE&&P*O]:\SC#L3H4RGV(R+\0Q.JZQS^N@T'+T4J6E.^0G.4 M:>4]\RHE9B4W02<'[>M=MCUR\[!UX(^(QQVI_R&6F$3,VM6+8&VH5NOZ3O#T>SBX@W/##:&L/NQTH['94=#Y\N-VFN07AP/<*!S-;&C)$5 M-'QU&7&TN3;F%E9BDL[FNU1TSW?N7LJZRZWKPFL?ZZGJ8(NKAE_7"]<50V4M MS3B11&A=4K\3X#[D<%V2ZFH%[+ZTVW3YYN#*[#X@8S^=GA#6?\!H4>\I4V!)%)VS3<[GUC5$&P'K0\ZT3X*UU]:>B92*M)A!,)YS+9PK MD4+7Z!CWRN>2@U.Y]1G6+8BTG?2WB)V55PJL8Q$IZ-*BWO8*Q3,7@!NK;8G- M:_!VGSC[7%UKRYSKIDTC[32=+X, 5DI7+$,(M=>XDLR'4L5#%7(0UNK6#KV^ MMP]F<[_:O]=(]R(I25\P+T8X*=?]=C\YR480]IF2W'],&K7#N3VP6Y7NUH82 ML_E-4=Y!H;\/1J/)=QBG^C]/3T758^'K #![J^K!EFI],N7GH7:SEX$"A8Q@ M1;2![S>\;R38PR9-@7,O@6(@B4XQ7;)EOD0:U>@!N'(VY/]/FFXPSOWC?=N4 MZS[<:'B<]=9!36EQ7#6.>7DKR<]FL>LNL:?]WVH?6%T\-R +*Y:R"*V<9T'5 MHM5>>X91L)&H4CI]T8S@#\?.O &PBJ7BX<.9)RM2?EQJ18#&BM1%4C MY=:'O6X"\[!N7SL-*-!1P%^/"/-"@Q!E/2)LJW4/DMO6Q2U_&K??AE]M7?5] M]-GQHM9U Z,4:E/0,%OJGFP1F@6/R()%S('B#)=;7Q6\,;@^I?O=4*L;/77G M_9[#J$8)'[\@SE>.XFJ7@QU\X+V>O[,GW%Z:5O[PRMOJ=O7*<#BKLU$R,$O,XN::&:R!9ZCS]JUGIFWX=GY%/BY$//E9!'G93&Z^KZU\%P*L,X"RT74 MIH.)#*;7FOF(!E'0E'.M#PW<"^ ]O5ZW64 S&ETYY-V9SEHV%[@$9YE(K#$A M%^AE$DR!JX?F7&V>6YNE%H/&.\6Y:;UO7DM]/*NH@\XP^FW6A+F;4&+@653[]1UO#"OC68VVJRR-RY" MZW80&\#J4\JU-2.N-JYIJXZ&38]6P#[ ][= R=T01I=P15,;EY %4P'KB00' M%)PK3?8-OU847 MNK^,C3S3Q1=?;/^ZCCN,PQ1E(N()1>:CLB_*$IF0O!8:RX2J^1G1NV'MUI7E MXGA??,';X2SAB'2$D\79($01BHH"&)I(<9T2GL5(AM3&HKSW];K >S(;SV46I X]1I5P[R%3SJ:-@H9XA(A,JG$VV!&B] M$G\MD#ZYKZ[8TDX3>W9DIR>YX=PA[O'9;YNYL%M?THWSVERN9F[KAD/Q-5 J M&=4R.P[!DE7P/%,D0Y3*5F9I0I!LB-*-53* MOK?'+K5N;KX]=L/S.]H>VT2:=MMCE]YV%FPI<,8",&XY,:EXP2#0'T4*:2E< MEN!;+[C<"&;GSA*D^6!O,::>L-6R1PJCLIDNGL' O2<98L+RY"LD:V M7H6\$U2?DKDV/+G2H*&I7MHT85U)>O@CX6R95\89#=07\=D%0)]<5%NV[$TM M;0BTNE1T>9?D41P-/R]'[-Q)3D5>6#)4M?V6(B\=C>?,:I6BR:VO MZ5.CC0[(T&Z(FW;@)RDIABI$4$(#HU?X4U27* (+J)C,N?;VR &9TS&2Y M2F'!5$^(TEB-5A8)&UF*^[VW3YC$" MHG$98CXK\H@Y^WJ$VP9!@\#KZF5QFF74"DLI(G=QE< FT.YY;^(C(E&7.FH: MP+Z:+@=WP"%2>FXD\P5JRQT;6:AW\RF=D@.5I;W<&_CVN'3UW#[==MA=N+G- M(#8S Z<[(#?*EI 3L9QEN=1>2I*3;$I*YE+@/H.3-K1>)+L=49_N->QFTC?4 M2#N6K+O O:D]OM:H3L["'"S">LE9Y#DPG20RDI;R'YV,L\%+P-;G &]'=,^+ M"Q\C2]III-&],J>^Z@-22CQ>%?<0 WP8F@&$^%T-B$S,="'XM/LM;Y\*(V M<@^WO*17-PQVX"Q:C6]3__]B,9M3&#O]@!'F%,EF(3DJY1E&DHFX1I&LE[:N MYBMC158H[UP. M::,*BX;76^!J.BL#Z,MMNV]7\K5ON>]E?(]4U;N/<.O%I=?CV6):]XO68'SF M/*%SS/):TP2HR*DHR60$A$2I:2BMJQ=N@+(1)Q[GBF-+)738/FAR?#P\O0&R M=N2 F@WN1IMD[XA.X!X0V"WOH;C96U&%2 H M6Y 5XVNB&!*+-ET0:$_" MPY!\R_2HO!K.2'45\@!U@5QOB=-*UNN5*.D+WEJ6(YA8N-=@\2$H=RW:/FT3 M]X=]NROV80P>T0D'I3A9;(P,;:UWB!)8R,K5K+2(P$.PI?5ZW[U!]FGON3^T MVUJ-;=85;L7X:?(]ZTZ)M6>-]2AM'5RZ'Z2CQ)5>L__4];)L^TY>,W?1 M<,=9C)"(B;[6RG%D1)!2( :C;>LBV%XDK[^/,_GYVD[CK,#PN'X::#*T "(Q M@[9:8>>9#S0_5>(\I:@$;[[%NA701YFVWH=M]W*H3=39]?[L@&=OO+9 Z0RO M'5JX8B$HPQPF2?_@3HK6[9=N@/(H<]!=V--")3UPB6? ][&B>^5E^W./M\O9 MR$G>Q FG3*$$+S *T6*M_.&L7G_**/531@89X')9_WZF:?-"D>BDBSQF5GS- M;P5)&US@#"D8C!Z+!]FZ%_KNA2+[D:9,M26 MC!?UT^?K9T6(^ MFY-3))77+>N,4W1:-UH\A2<>F S:IY"!Z]@Z![DGQ%V-S@VON_*>YS ; MI@&6),D TAP*$9@&^H.">L6RR=E@0(/->[;>"V"?W%:77+MLI+K38L,V"$T;G)/CN8SZ?#N%C>&?1ILOP9@<2\2C<.:H7_Y^7_FPV2]$8ZL$SXNE@G M;6 M5N>4$X7D0MOOI>].^H^^<=]4G+/^M[0L:Y^7O^(]-J__>7_ %!+ P04 M " <@EA7=1F0G;DT #': ( %0 &-A;'@M,C R,S Y,S!?9&5F+GAM M;.U]67=;28[F>_T*3\[KH!S[4J>K^CB]9+O'2X[M[.I^XHD%8;%2(ETDY;3K MUP^"BW9*I!B7I"F=4^6T%O-^ +X; 2 0P+_]^[>3XR=?<33N#P=__8G_F?WT M! =IF/N#SW_]Z;=/K\#]].]_^].?_NU_ ?SWSQ_>/'DQ3*3[",,'\ MY(_^Y.C)Y B?_'TX^KW_-3SY]3A,RG!T O"WZ3][/OSR?=3_?#1Y(IB0BU]; M_'3T%U64S])[L,474*9("#)J,,IRZQVRZ/#_?/X+&HO!10_7?O]/^3TM[GW_NGTIV>_.N[?](OTL?SI?[]]\S$= MX4F _F \"8-T_@!Z?)Z<_<.+:/33V0_I5\?]OXRG__[-,(7)U$!WBO!DZ6_4 MKV#Q:U"_!5R Y'_^-LX__>U/3Y[,-!=&:30\Q@]8GLS_^MN'U]>1]@>3I[E_ M\G3^.T_#\3$AGG["Y/L7_.M/X_[)EV-(NES+^!<@+R*L'YD"L?];W].PY.G4VS/W[][\?+=QY+9IY_WI?^Z6 M@)[Q#>JZR[QD4ZCW>.ZRHY/#/K<8AX//UN[W0,GT/XTOLXH2VK[EZ$'5_37\>]P'BV@C83SB(' MY2,#AQY!1\R9L:C0E>ND&"](5L(X3FDQ?\33JNNG>#P9+[XSU?Y4\\M1S!1\ M?[E>#Q+MQF-\@;/_OAY\G S3[T?#XTP[^\M_GO8GWS\,CX]?#4=_A%'N(6J) MTEK0RC!0Q WPD2O(4>G ,],RZ<9"KPGQLD;.2?=LM-#-_)6^YSM?1L.3IMR8 M#+=GDADM2+Z?G@Q']'%__8EMRJ#GPY.3X0SBQZ,PPO'[TTEU6:H?V O%Q.AB M 99\ H4*P3,,4%1RQFCGHY:-Z7(;GNUSHU-C#CNRQ'66\$U9TG_!5' M_6'^@&GX>6:R_PK'I]B+&AGWFF)"+(;4)3SX2ON4F3*AI*)TZPVJ:YD.FZ-[ MQ8CKC)=-5K[7X_$IYA>G(UJ*9S!G*_3TSY^O"M:+]%HFGLE]2)8@:Z,@J)0A M>^]I%5?9%M?%TK@>S,/F9==VNTXUU1'5IJ_!$L3"&)5"$) B%E"2.0C59;4V M,\NYI%VAM8.V/LH'2;165KO.,]V$9Q_PR^DH'55LU]^/7C8ANY 8O0D"RWHGH /&IGE>N\,5WR9K97,VVR5$%#MC6C'Y4$)P(# M:9*/7C)?Q V)MLYH\P#;&O[]Y A'==L;X5'-YG_%OH!CRRE24!3R/M+M*EVA]9&A] M:ZZMGN=LDJU+WBNC0[6W)NT')2BTT0P2*QC1.\PHMIRMV^ 4YU-E5D]R'8/@ M!H36O(9K"6)P";@+C#%>=(R=G>!,$31\X2^?W,XF."WR,F0 UYAEW%F8X5W M<#IQ!=.+Z>:Y$JC>E5J+1FRX$5!+]V!9K<@M'-C<<,.NM+XU2EA9$,GS!>^% M!B5U!N]XAJRRRT%$YQS[<:EPJ0QG]TQ81]D=,.""@_5VZD;WT)*CPZ0Ð MA>3X.JL3H,J)%QZ"%AV>9K^]4"*TS1BA@7&6'U3?0[,=U# L.7::@S,^,.V% M(M^(-CL5;:%M3Q5@-MFB4)!GW-I-O!70(5"@G<8[>/.?I71ZB>M!^5(!=$H ^0-<:F1)<&VP=;KR9B2'0(8&.EYZOO]O3Z\H MAB+EW^]7C!O&1_7_5?ZOX;CZ1V&0WX;1[SC-9WW$=#JB1^#XX^G)21A]'Y;Z MZ_0[5_[5BRKN\?A>E;JM,6Q6E*P M-SK%_'HPP1&.)\]/1]-S7Z^ET0)I2Q.)(CL1"@3G"C"EZQ7?8H5KO=9L!/BP M"+8]VS4LB*T14>^&F./9S3%'3RM38L8(13,+*F0-T3H#T@B3F61&V7)7S+7F M,P^#)5TJNHO"U72$^?08WY>;E3$[YO1!H0JIHM(2E$L.7$X:4N .)7,Z4:C9 M^/1W%6#;JA;HP9/OCOJ(?>3> M.G;K*(TT1T(>GY;>."A>1U#:9_#(207)HTVD(":Z2!GMZOAK>U:[81>\A\H[ MZ@Q!_D&_GO&3HS '%:)BW!4'0=M,.SQ/X$2*$#BB05F+A4P'1337@#PD2FQL MB Z6AK?# 7Z?!8FO3@=Y(6=11486(^1HR0&TG$$4BH%A2A>1G475.OBZ&*)V:F:N#'@O/AZ,OPU&8X(W@(N=1A."!"R4(G$L0O4Z@G4V9:>>9 M;>_DGFD;W&E?Z"/' M-_]H7E:YBBP=Y0A;RK&;G&$3@@SWS+H=1&QM9:)%ER0QD.L]:37-C5DEH5AE MA"+GT.K67M?^,_6.!./^$W4-HW9 T#M#$IU4$$61LXC"@/(Z0_!906!9*5F" MYJ%U >O^18R[L_BZ$>0ZYNH@?[ER2.((F6 I@E+:@:I5FX$;WOQ'D7M*KF?DZNF=Z/3N;O:I3+2PH%(G6=._ AUR;O7'MG8U"R2[NFNY! MFGQO"+2Y8;HHOKTUS%7%KWUH.(3B/'D"-AATPFG;>B7:L_S#'K&G ME:$Z2(Z^/1V08KZ$XW?#R1DFEEA2A399;:(F:8G>KB@'+,IL4(O"L'4^_28< M#Y@S&YNE@X3GS^&XSA_Z>(0X>3.?)C2-.HS@)I9Z2=OZ6MO+93TZ))@R6&.X M#D*TCN"683GP@-R$:_X"K(*LHUS4$,N3&\&?#P: MCB:?<'1RTV6 1?05@@OD-M<^CAP4Y[1?ALS 9BE#8%S9JW5A2^Y>K/"P[;L6 MK0PS[%"K2U,G.VF*,-]2A^6FGVZG)\)*$+;8$F%]E;2:>G;FWUR]^'7^_#<7 M6DH&8400P-'RV8VO:%P&8PM&SPJGF*>S>S,K .SV&N.SD]J[]E^U4_]XLNQ> MW+-"_WUV?#S\HZX*]"^?CS#W)_7^_N+*G%-^>KN;E@6/H)BD&#$9TJ(77OM@ MZ;NM*ZVW(M@.YK)UQM[U+DGN@AD=I,/O$/*\4],O(P+]VV!TI4'%SUB&(_P4 MOO683%'X&$$*ED@0:R&F::M D]$%9,&U[O+?#/P#IG%'%NX@ -GLTC(688,( M"1Q: F\XJ3 D!26JI%3648G6^]@/=N%\7RC9TI(=Y.IO!S]+#BEMN;#) Y@,>2P!KMHO4F&]NZ<_P*L+;6F'Q/B+2^+?;EVO&RFA *\C0Y#!+0NECG M/"KP29'OH)V,RJFH]8%7%C:W^(IUA>MH?M^KM%:1Y;&N< D!FQ"DRW*M^UAW MWQFK-W\LW @56TWDU72[+&N\$?6\L8#4GH1?; &:_7=96%&)F$B,P6 MSXSDOO7=LP=2A=IJ,6IFOJW7%:+BT=A(6S_6N7\R!0@^:;!.AV TSRXU;^9Y MP'6%FRU2K0RUK;K"J'D]F[#@64J@$%/M0*+ "6^*<N9&?M65]AUZJJ)[CO8A&XK;5L! MV8.O*ES'>FM4%=Y#]=NM*O3>"!9MKN?A=3BMC-5W*F#IW? J2Y0Z_>"DN'=5 M83><6$?C6ZTJ7-I;(GB;N"D*A/6\WK@@SXC6R%IX1RNF0_*:KAR(W*?.N/%S+>"M7'C;1?,-TR\JUDCPYPXVF=X+5T6'6!/#">XA*&>63B6CYYLS8 M-@^V9;!U*U/7T?;2E:-=9>JKT!]-AR2\Q3 ^'6$MPGS1']ZS.L// Z(MY-"J#$$E 3:7K%S()9K693=-!>BF@?@9Q'.;]EA$PU4V MP +2GIZ5AL"]AA1U**+V;RRM:T96!K?]C6YW+%RM ?FF%MQZ*>==55729IU- MT% $[0S*4] 93.& 3C%3#'K&'_A EOVAY/8LW4'$-]/>3>]/)B=5!VDAR.JA MB. @!BFAT(N%SEH*#MJ BTM6F74:>Q779$H9@5PQ DN" %*$5_>(D*LLV6? AD M&%N'MCNCSEU5F7O G'7,L27&C,_6XL4Y-O-1Z6S!E5K-)YD&IYV"4*T^!MRW27T<6=8\62C3 MJ]<"&3B&M IS$L5PJ=+5T\P#)-_])_7MC'OKV&U[X[B8-,D7*2&;6D^:.2=U M> ^!\&57,'G9NACO(,9QK67-U<9QK6.*#CRK99?$A/7,^&2 UV)C5:P&;PL' M7L_S=3+98^MK!WMVT7@_?*H6]NF@(KQI#?0JLCQ>1UY&TQ8$Z?*6YWVLN^_7 MD;E617I,8'BF15M1).Q,*< $8R9P%]"V/CW:?Z;>\SKRWA!U':/NXCJR%>0* M^,P!E2'G0QI%BD(/PL>,@G--ODF'-P$/\,+66A9?]SKR.N;:VG5DE"S[1 Z( M%;%6?@I51_$%,"PP:W.A2.A QS3O#7$V-\PNKR,'[X/7.H+SGAS:Z"GX\5&1 M:\N,#4Z$D![.6-6]X50GYMOZ=629C%"%![ YUK$]BL!%>A&*U)IG$177K3>X M0[Z.O-DBU%UC)@6#*)G01XD^L=:NX#<3R@:9U= M7PW9 T]^M;=>EQR[>(!^'>_BJ'X%L%NLIEH*=.=U5MUX;>JN[UA4JOJ&GU%MZ8?"Y3S[SS.=^")/(.?:BM1!T^\[<6W4P6$>@PX^4PB!_:\U5*@= M!GI&Z1!HJ0.)S%.X$ T$:P0@*RZ9:"+3\B["W/: '2P5K4U\J3=#"SVV[LYQ M Z;%%=0/88(?)W78R*\4C-*B&3YC+Q(PJYF#DCGM;C%Z\"H4*)9';11+W,7[ MVORV!S\ +C33>Q<.Z'6X-T]*6G:?N6>Y0R:0DWZ< ,4(>W2N-D@,W.=D2RB^ MFR*E^X,^(-+MQI ='$M,$Y;GX-_AI"=3*8*>"SK4\SBM/$0A+4COE/*<5-.\ MPN,ZB@/DRH:J[N T88JH)CB'87 9V5F_!!=#R"& LYS825]"##&!+KDH9HF; MK/7=VCM!'2HUFAFB@T3O*3[[URY575.E(X/LNNO4>#3I?2 9 M<'9Q5I 63)80>/&@&"K:&T6JRV&6I"IM[$HN"'WJ!1K15^<4NO3 714\=67, MX:9*;9AX/0.Q.%]> <8ZI4BKV'@7O0DV4/Y5\VV@N0X-Z0/77AL&*(0#Q8F1 MWHMZ>4 PVI4"I]7M1S#@D@J>]O9;1V&-[?:6-'5R>K*HI!:"QR0L8"@4>KB< MP16;(*FH0S+D5ZMLV[.')=M[C]_?QO^,1P]/P[C M6<^0'&VMN:(MGFL&BC9]<)Z^C"PH;C(70C:O<5H=WH$Z2ET;JHNFQ,NAG@-] M%TYP40VV MRN*L#7@[JSC@;=F'YUBC6SVW:7L!MA2ZL-#SY!]C7$]9RBVUI/ M6JSD.02F-&M^MV4?:'9W.X*]9-DZYNJ 7<^')U].)SCZ."R3/\((KV!>%)YF M[830&H2IO;RCHY7=:@O:9^:L+ I%ZXK$E8#M54)R<_->OSG>V#9+W>-.BX)_ M'0W)X9A\#X-<6VQ]J=FJP=E/&Y4(W_&0#@J&UQ&K4?GPXI&_$IC)LPO//<]P M:&7,@Z&OA0T2#6M]AKHZNNVO5XT9E MS/J&Z&)844JG)Z?'M7+Z!7X98>K/1FXB[4I3]0_RLY/A:-+_U_3[2X7I12L< MYY%1"!SK@$0MP)=,;Y75@>30CMZQ]F?Y3; ?+/5V8MP.,A"WJ:L76$H4LG!P MR&JZE!?PW!N02D@1D2G!6Q?)WX;G8,G4S @=U#B?)^V6HIRE['C,DFOT8#.C M2-=*I$A7<$CH(UJ2(>C6V]ZJV+95-]"QA]2)*79=,W"G[N;OV;3?H^9!)"EI M0Y?U!( V]) < ]K'L_7)*G%U8G=WZ]$YK-VGTUO28=6EZ9YFZ<#/6BX]?<"B MD^P*$#M*G*\ ;S?)\N:F794Z&]IE1Q1BUC'/$H/ = :%*4&,48'.$KWG,GDI M#H4Z=R3 ]X$YZYBC \:<05JD3EG=NFL7!5_%3;I.-V7DM!GR"6T))A;9F!U7 M(.R1=WQ?,PW;Z;B;MKC3'/I56)$<\9*2)5A6@PH&(2JD@ Z5E$8J*WSSX>LW M0SD\"K30><.W?WI7?G&&,H>2>2P"HX4DZU5X;PPX'50]0\F^, SYZA2Q)2T( M+G_NX=AR4Z5UD/5X@V&,1\/C_/KDRVCX==:#9U&L)#SG3F@2K,[[\87B;1.0 MG.>0D437TK5.>MP"YW!HT%KW'>0Z7IV.2+NG(R2Q7_6_U;^=S=H1P9?:@JD4 M74O8Z&\N*/K28F&Q.,Y8\WX12]$<'BD::7[IS>UVA](7KGZ&07X^'$SZ@WG; M[!8=J];Y^$T/HN\M2J,CZ-K7X])3S]-DC-$J4'@$(U"0J\=JS;81(&+RNC92 ME+JU3[4:[S7B,^)Y>H% _?;H +NZ)??\U?)]U43[%GN!*3SM9)*>1J$X+ MH4=:_IA(:'V0GF%SJ5?$MOTEIQ$[KF\_'1BC@VCC,L*_8__ST03SLZ_TW<_X MHC].]=IY[#.2*L214BMQRNLB_%@2-2I M<3K(5MR*]P-652Y^6%O \9[/4O/,-)0@(^'-D?"2KK)-.3JK..>M,^WK8GP8 M9-K4.!T$3Y?Q/A^.)SV.J@[>TH!8Q1=>@%!FFE*[5E MFY?>:Z=E:#YK[BY,!\.6ILIOV,IJFB:>]]5Y^2U1F/9LD-_',6EL@J\'7PG@ MMH920Y[]3[M MDB3\/0'\\.S8FO8[Z()U316SLA>5E#&!*T!1)"A+T!QY2A")P$$+&Y7H/(>T MU?*SSA:,C=6[ZR*S>IE\VL-Z6AR.P\^C\.6H3YR?EBHPR=!;KPBZ\J HA@+Z M,D(1*@DI%"?/>Q6BW'$9?RF 7160M3#LL+6"&_?,^#@CSD5(B^.*%4 U;&&S M%,CV&]HT,M2P*RUOC0*2641?F_-I1TS/!2$:SD"8Q$J609JR4K.S_3+]+:UP MMFGY=93;O$0C#/Z3=I7GX;A?AJ-!/\S/$I54(:'(4-!E4(&'VI'/@A#9R)0X M_4RLY"8N>(Z. RI,Z-HGC<)O".]@#C/;KHG1<= M5$_L$17O*%__D9BXCBD[8. B\W,^P-WZX&,( :RO]QQ#TN P*,A>,2&"E\&T M;BQ^#<0NLFU;,-^PI>ZWT)_EXV28?J^5G#@:UX+ R??I=]Y_J9\ZWJ (;K4/ MWK3\[1[P&Q6^?3P*(_RYTJ36M].J%6;L'=6>B;-UZ/Q7YH> S_X(HWR>T!,J M1AVU!^;)2U/!%X@QT*KD,6>1(_VG=4^ S5%O%M/=]_'O3NO+\[Y,?SI^]I7, M6GW<5\/1+W6L-!)<\\)Q1&M32F-97 MU;J2Y<$P?Z](T8&?>6^YYKOU5(CQZ\'L"'O6_L=H%%%JI+\^6[$1V'%0)E@+5 M8, K4^K)O*WQ2&:V=?R_91$?WXH]HE 778>J+/%N<>-5<:=__!>.:T+[0Q5R M?&%J=0G%>8T<*(3SH%*A30YY /D]2 -3_!3&'W&R;-TU,=9QP,2JPQ')[41^"=B[[CFH1>7!1DR M"KF=A5AT F5-A,#IRQR2B]D$9Z_. 6^>@+P/[@=#]'WG1,,2ZY89UVF4@?EU M64GP=\/)V]K]5"1GF7; I9>UK6H!7QNL&NZ]UU)*C*SC=V%C(1Y?C'UDR_6W MY-[#ES>3>YZ2K7^=Q>4SSZZ^]J^&H_56B1@C3]% 45Z#TG5LEA2LQN]18$%; MV(KUC;L7YO&MV6?V7'][[CVENIG\:PE;5"F^GNGE''D=S.3FEVN#BR8P4H1= M[<;8MI$_OA=[PXL;#L+N?>R[%6GG S7IPR.9IG["\'2RD#P%1KNG9V!#XK6M M1(! ;SX8)Y6-":TS>B_>B-ND>'P[]I(O-[PI'9T9]Q+Y>)$3OY3=B M=I_@]UB.QDLN@0":&FU7:E-8D4@)L:A8A&I>.K VRH?'KVX->0/WVIQCWJ:Q M\1WGM@M1EAW=+G[^ZZB?L)>3Y<:23AVKSHNN;<:4K2WLE$G%V6+3UDM>FDKX M\#B_OP2ZX7W9^$STY]/^%^>+RT(LQET2[$<142QKJ=/%@ZW E9KBL$Y:49HU?DZT( M]N#>COVCRPTOQ<;GJYU).5L07@U'\V_5W^,],QT\EPRM 4& *MZ#=R& $3+S MB*8$HWZ4M^-&"1]?D_TAT WOR[W/:L^T?388Z_Z[Y^P:M(N2.>\\")4\22(M M*5V3YKE@*:J,S);6_E0K\-OJ.K1K!VDGQMYU0Z.SUG_'85!'Q$_OIP9ADU(4 MW3B969V>(,#IG$D*BG)84=8U[W9P\?F[GX.W509<;<)X7TMT,28P@=#$9,45)[&S@>A,(>](4$"ZVGWD6Q_S0UNWD?8Z6)UGWL5B**;EFK$H M/6AZ;BUBU>!+;;*;K$VR\BVU[FM\"<##=M'N;XM=W E7I=R+,;?W$#FC1+WC>V\2YN;-]'MF*YUZ;4MG/6UUOH]'8G9X"^Z5-V.4C7 M.H+]<7A[APN\Y[1=Q[1=S&M>I$#/$_N+4;+,.B-2 COMZE5JAX]Z[I6D5$'+ MJ'EL/3=K*9@]S$QW;NMEN>J-#-7:0[_@7DX5C-H'\5U=ODP;R M,9,M0.XK3R5P5X)=+&Q@,"Z '-:CYW* M 2R/*6F7C8^M;YU?>/S#=OGO:X<.6AK,H MZ4)%:QFM=^\'B_GV@6>.F9P3*VK#(59J7E%80*F,#\J::[7T704R-\';OO^P M@2%7"TXVML+V.OA=@/KIC^$<:K*L"!TL6%^SG\PF<#(H2*H@=SRIW'R4XAKP M#ILP][-"XRDEG_J3ZBR]'N3^UWX^G8_E"%H8;YFOI6<4QGL7ZOE$)(^966U$ M%IA6*D"Y8T+)C0]_F)YC&ULT;!=T(Z"_]R=''_!XJH_Q4?_+I^'+P:0_^;XX MFEX!:L/91FO"V_[$HP8&O8T>'5BCZ]7E#LA>2$*7 J"KN1:9.#EMBD,IS L? M&7ET*VU'/P)Q;IF7M%O>K&.$QGQY^0W3:3TF?U]*/^%HOC_*G(1,K) ;7SBH M$#,AB@3+*&6=UTJIE7HRW4&+FY^^W>%*G1IKV%33.VGU?RE/NQA[4!-\;1O_ MW_V8]F, UA1M?X8"6')=D6(>(#^U%CYE#X%%#[K(Z'.6"K'U4<;FJ#?*RR]Z MQBPW60^%PUAG71>A OGT@=9MK',X3'&&OBUI+F7A&^M^ MGUKHS^^]GTEV&L=IU)\>,'P($^P)7ES4F=9YYTUMD4N1J= 9LHG1J5)BC*VO MR'0ERX/A[%Z1HOG RTV;;I'W@>=7JL<]DP(Z:0,473,AQLHZN(B#0265%M': M'%=:-5LC>S!\W;U=&U:];2;,V:92[RB_+W7XUG P._2])%X/H^1,. M*:]*S MTT@Q&N.TW\C"D]*RK%@.W3G41QKOSO+[U*]^N8"+-CM!%:0WTP-CM)DH%0UM M*R8 $YA1I\*EZL2I[T2:!T/[/2/&/K6OOVL4D<+D4IW.@LD[VJ)B@N +[5,I M6VVDM+)LZ2CL8)6&TDMA_KPJ+H%DS9L1-]]RY.S3YK]H_>3(QQ].@J# M11L4E\F7LBY"49+B6R$YQ.P#2*M,28JK>+7 =7_[@MPE[(-[&WX,6C7L;+^C MWBB\^*B-)ES/N^6YQ'@SU]XT: MV^M4O\&;W2O1,!ZE Z9H>U*6U>Y&T0'&XN@G*BG9O#%A:R$>*;Y5&G326O^^ M$LTDF67?%HVI>]%&ADH&8+;.'RJJ=A#5'$RT3C 7@UVMZ'@;I+Y)@$=";\W\ M.^G5?[LT"U>K1NS3;_=B,+6GF(+,'6T[@A<@WRN SM9(6S 4OS>+]!(9'BF] M31+\N!WU9?"R.'IC!699:S R26D]R$+O=+2"!6]_E+3F#]]1?R^SF?>F2Q<= M]=M=,>3"9&EYE42DV17CD"0#RQCRD$6PHGEUS@/L$+[1DKX38^]+A_#+;<&X M%4X+J2%JTI[2*"%HR^I\E^BX2]&8UG0]L :4:W'@U@:4Z]CB1VG@MXI,CPTH MUVI N19-MM')[SXV_E'XRV) $TT$([, 14X*>.5)RF@YUT4(%;:>@M@;WJ[5 M@'+O:+N.:;MN0#F_Y)O);6$N,: @T!&0Q,'7-#5*GXUV 6-NS;8;8.QAC-.Y M?6]K.GD/XW1P=_'21 /N$+VF4(DK2SZP#8RP! _<:&Y-"=%CZZJAPYKLLHG7 M=F]+=- U_.I6O *:AS+992W+W#[UXSYJ[7ZRB_$BRB@%&(8!E&"T-/&,P*/R MA6OB,[;>+?; J^C*QNMHLXO)+O;=K,E\YTO)..*]/O7-L#7WZK?\6F M35=6>E+[OBOK"[@_K5>02Z.U9T0<1]ZB0G(P9!10I*% *(O,FR_.FZ/>.+=X M//V=BT7^-UB.WBR79$@:2NWNK9@/$*ROI9745:ODD*Q;VRR5F2 B5AKP/AD&E @2%QQ9RQ MK0L"VR!_<+3<@<&[2$BVZUNJE#"%(Q25*%JM%SU4>[74S!M!X3]A / M%3>A[&Z,O2^'BJ\'Y,:1)TU;2?VX-_4?5*%KC$:[0_%&!BB.9U".A/*9%PK9 MN$%RYZW#UM=$;X'SXZ>NUN+'L!L[=;!:+H$V#_M6 ==18NM68+O)GBDU0Q $9!'EW@"F*V$;C$8&-*)38? MMG,7ID,B1%/]=[ D?, QT@<>$< 7^!6/AU^J BY#I#4O*4?L+2'5>="ZSH0P M JSBW-F:^="M*;("K$-B26LK='",^@L.&S?$*J'D]&H?9@OPPR("UI MC'.PVJ19IY^0#:UV*'4I6;,44V.JK 3LD,C2WA)+NSNV.YOY0+0>G&*9YJ$& MA#A-QG_T)T?/3\<3TM-H//^%#0YEUGW$IJX>12^'/73?/Y1]IA%H-V8.<9!,4DJJE/6 MF)'6<%-;B:QTGGO'%*"E ':5TVUGWF%K-3<>__1Q1I^+D!:3&%< U7"RW%(@ MVY\AU\A0PZZTO#4*&-2&2R$!+?%;.5; 1ZV!!5TH$G#:Q18S*;=L^ENFP&W3 M\NLHMV59XO"4?)KOO=\^]KP,1JBB0-8U3*$L$!6CT-QY3N&)+YG?-N-MC.G/ MGX=?G\X_<6;A^1?G!CY_WG:GNC52_' CK35T]:83Y$Y'PR]GD7(()=76&8:G M4N=[* @V<\@BFL(5BAA6"I'NFM!WX9D_L@4WTE_SLF"*(TB>\;OAX+>/"SQ, M"RV*!"OK,$ 9([B4ZT M9F.A "*K*T5,RRI_KW_XCVRX)@IK/>#F;3_G8WP9 MQI.:SRH5VQP5XY89D1@XFS71RD3PSC*P6>82;+UH9%7;#&I^RN.RG!T$@8)W\?C_BP*W&3:Z89/[#SENX; C3+ K*Q'+/CAFQ\DKXXT%QX4/3^03#6@$C:*XJ)@LBMJ^S; M(-_60=^AT'9]<^_Z\+"9Z!\G832IHSNFN7:5,67A:P.60N\M!@FND.\3M,R% M.Y\P=[L3<\Y@\>\P>/^8/'_,&V\P=;#+/HNW6G&4UU4L=Z M=GDVN_1AG0=6JXG9***Z]K!S6M>:#$,>(PAGB%.<>0BU?UXPC/-0#!>\M6.V M',WFM\FO?/*YVT)+?M#%F11!UK=8.6/!C!R-HWG.M _F&VP!RW)(:*6/@J M#+FC0.SZDW>57VYARF$SE3:^!E%;T;XOES M^LVO *KA39BE0+9_$V93"PV[ M4N_6;!^U(G\:(\02L*;0#+AL R3BM6+:$N25N@[ME\UON0*S%9.OH]76M?<+ M*.\'BYL &4/P.@H@6(;D(R&C$P5*3$ZA$+FD.Z.(FS]ZNZ6\C?0];*:LAL[: M)32?_AC.T;@DK2+7!*)))%A2"KQ3'IB2ED=76&)J+=.=??3!F.Y^RNJDC=<5 M[^'G[^ 6KL\PCR'QVI3 M#ZXD!";JY4 N%6N>M;D=TA[D\.YKOJNT:*C[;>3Q?O[^,P[2T4D8_3Z+8PPO MC&,!JQRO ]IK,1DW@%XX$:0UF%MWD+T+TV%[&O=7?\/+G>KS;-7M-U8683YZ^K,?TXSX!?3DX)2\J MS#YU/%FA:F$-3M0'CL])41^]7J%" Q$:522\Z8?8/R:P.'Y^.AK581EQ/"V3 M:/S&W/*@3>>FI30ZQ7S] 8TE6/Z@5ET*C)&<&\-4$@LZV"?!%'3WX27CD6AZZB?E4XI[G[6'DZ4VX S MEPXT&BMZ::.9!N,,SX?+-V;_34\X2(NOH-+K!M2W[@KS;]<_(@'[VY_^/U!+ M P04 " <@EA7)-VP'EO4 !FZP@ %0 &-A;'@M,C R,S Y,S!?;&%B M+GAM;-R]ZW+D.)(F^G^? J?WV&ZUF=#%"WCKV9DU55YJ\IRLE#93U;UM:P_A/__/?_LM_^1__%X3_^Z?/'\'; MC&X?^*8$;W*.2\[ [VGY#93?./A[EO^6/F%PN\:ER/('"/^M>NU-]OB8((C?B$#N>!V,4^__57]07#!@11O4U3__-<_?2O+Q[_^ M^./OO__^E^\D7_\ER^]_]!S'_[%]^D_-X]^/GO_=KYYVDR3YL?KM[M$B/?6@ M;-;]\7__\O$+_<8?,$PW18DW5'50I'\MJA]^S"@N*]8'<8&S3ZA_P?8QJ'X$ M70_Z[E^^%^Q/__9? *CIR+,U_\P%4/__]?.'LUTF/ZHG?MSP>S6VMSQ/,_:E MQ'GY$1.^ENBKULKG1_ZO?RK2A\?B=+/K/#]H5:%,%$HW5"C_Z[G. M?KP OB6\Y3%6"^ J<3_9PMC'Z2=K<.^DAN#3 ^YT<_9!+I /_ Y_Y\7UALG_R[60I66QGIG!.2^R M;4[W:]_#^M2")M,/4WT. ]2V)&#X"ME5&1Y2^9R:@Q,_M)6TBA*EH$ M+D@E5]/6C\J@^Y&ORZ+]"50_J6:N=G<_'GT3UWDK$\[IP U3_Q(,VE=/9;P M8*Q$GCV,$[[,QGU.]2!(4'\"6??1?RHS^=OWXF'.:5C;A9V4O M%U^N/W_YA3\0GILHC<'&EJ8U*L"@BQC4D,$/$G3Q9S,%,LREG@:Q2N/$*F2( M0?"UAOS_V5,CVO18TB/#_2/PPMGYJM+.C3EVC!4P$Z>,$>,/BJ((,*LX5OWY"=$U]^ MP>E?[K.G'V5+S4=/V?Y;UVU_EB_=4-CV.S=];>2"2;]QMEWS&W%-:;Z5^YD4 MDW2=EBDO[C!9\SMIUO\DQ?AM%8<\D9L*![H^HA %TAS',9$[#(<3YM$ T\A; M/?&<9-H+K';G)O.D"V'"E6+[\(#S9Y )@&OP8+U';[C2Z@^"YI([";%3K[T- M:$5I QMT<(.O%7*@H(,*N\U%V)@P6ZNQ?L?S+LO&A!RMS^8MC%-AQ\V_V0R#.& 1$TX5\P$ MBAR70>1Q+E>"1$A><0QY['.7$90)]YP>5+WZXW["U_XNOL40W(N^^/?%/P%7*",%3>DR0B M"93_\B&APHW]>L*[F6V"]7<[V7QJF0#QN:2UW.W_+Z_Q\V-X\\ MEXI^<_\&/Z;2[KTF19EC6JX"D3BN@RET*:4081*J>T8NQ X-HX@@1$1HID_T M.U^>,B?DI1(;T8*Y ^?7#-'*P \P>?Q/K&$WJKI1WC%HYP-"G9Y3S:Z#IV?Q>>B)V75Z:;XPSET:;JDP@SR'=@KD&U+=?.:5=:-D!@ 7J^SWRL_L-*1U%.1KST^4WN@#(;&_,+ MA-S9NEHP!<1Y+R%,2/+1=84I^S+?P%:-_BP[+]_BDK_':?XWO-YJQ3STO+XT M[:F @0H9P(6Z]U-!!@JS_C;U'%7#^U,++,VBP_:L@#UC=O:@ Q2,VGR>:W.V M7>> 4-WMYM"C8_UQ3WRSY9^YT@+2J.]_[(42>AV$B@#(#A(.BDB3E[*KSFTI*4U>@I?'5]1K./VJ3.Q@KD:[ 3JB#F^=[ ML:Y *QBH)5/+1%>VZE!.2F?3)6F7;FO>2TNP9G9TVB7SV"=JN?VQ@6=R^5 F MH6Q+=?V[3\KGC.:5NS#&!$>="JG.YUXZ%YT#?0R1VY(@G$3:+ M4-/H=6FZ>@>ZFLD=V/\=U,!U/'D7#(+FYM@VM1,K5"NLC@A>,V#)6@";3I\S M![$9T' X.*;^D]U]837:I/[FZ19!M I0S5W9'J+WPOC9DZG&+0]93G*P_DQ*IV/X*M M?$ )J$9.@;ZJ_@0=[,K*;<5J'E&C^^*'AV^\R39ENMDJ@[>Y'R'W,_84]X0C M9$G-3X%PUD5A0HI?+B%3=F5^=OG+YC%5D:K2VN;L?9:K ]6_X?7[-;[7/;_L M:6)IYNPOGVX_=".E*\BUI[9SD#QP9F?$X?#!IB7Z)M:C)LR!KPJ\I=!S#7I& M'7SVM3O;X:>&<-T#4)W'1\=E9ENI26[QLW)_MR%NA$G*'!1!$3$"$7%BB(6Z M;1-&).8$DX@DQD&9)SI:GN77X@2/-5#CH,%3=.H99)=3-+6CH^6F03A-K& / M!_8"!4]U,G>48(^@)T($^YX>-_>5%MG*U5<9%%600ALOR'@4H,2#+/$X1$CE M'@TB ;$?G2.3KW);X&DB6?_CI\=Q D2 M+0W08$D!G.ME5@TP(.I+%3#TN/D60&TKFE,MY5>]_IX6NJ;_B5>7-IT[$,%; M+GM\2#>UK:H0:T;YG*-IV+J_D*')/7M]Y("O"JXE.[Z'B%'V^ZGV9K/;>X3I MVNM]CXU'1YSFJA]UU7@EB.MZ;I1 2ED"$55! M?U@2& 9<.,B+"$]BHY5;I]>E3?P.:$ ;U/(O17D%TAUPPZ5=BWW-A=XVIU,O M^QTZ6\#@347G'G-UT]VB%6#"D2V;0*O/>2T$$QJ.[ 6CE\?N(/+'3#E&WG)2 M-M% *2\:PS<@24!$%$#$Y68"^"V*?"-_H7E1O;XO30BU8P"1: M4.S@FFXJ^AC6W5I8XFWR#49+F0(*]D@GV6=H<&)MM]'7U\Q[#@VQCW<>.B]9 MRVA0?N/Y/@:GDQ5I)5B,DP#[4 2NU"J^YTN%PAW(19S@R(T1"9V+TIF*V8EUT+E$!A73>_#=C&F3)C(8Y&RZ5 ;G MNW[M9 :#I&BD,QAN8VST\F:78:3.G]\F'Z)NPHF'(AAQYD,4" 8)(Y)0L:S/1F90K,E9$PW4D?)?7%;+4-=KLBJ:<5KV%=@PXU#D<^1K:>D MK% XL4;J8FR+9OS0P#Q?+&!$0/$ %=:BB,_U,W/H\("XQ_'"0R^,=L(\I&45 MNW:]8?6%HGN^H6JEC0@7 8HHC'TF[1T:(Q@3^<\HYBY/PI RUS>S=WIZ6YYY MTP%;7[3KP@4_?.$YAG]:% #0Z.5!7W6#5K0 MP 4MWNH;5Z YV^;JT."C[6H8!CR-T'=PU7CI^/HI.ER\-]^7%5$WMP1QD MR>IMQ'X^QCDR3S_OC .20.83RB@B'A>N47G)@0Z7I@<.\:I(A@:QWLHVCG0]^]XIAG"?BWWZ@,SL4JL<,,*^&$01]>.^ND9=)]K) 25B%>@ M&=8; 5HQFP0/KSJL+*-;]5#5SG*']P#F_VG#K+U@3CH,]>JJNJB63"?QG6K9 MG*;36=;82?EJ%^1I.[GLBG+&BT]9^5G=SL_Y9TZS)YX_[XLNCKBYW-_BTI;2 M[IU=)J#:"O 8/6O3CKC4/4*MQ7# )JU,?(70O02M")6SP^06AX*O56I;C MR+KXHO1 -Z]R?UI/]'/7JC7?MERM?)HX2-W&< (8"$XA8XD%55Q&*A- H MB)#P$L-R38-]+L]!9[.\[C#E>D<35FF<6 'UE5^<)!.0-CE35V1\G0Q VN)K M5VB\,/./*C"WRRST,\_N<_SX397LJX*,6.@RACB#A+LN1([P(7&HH^X >'X8 M.Y'@6O>G>WM9FI73Q3<4AV3 9;_RL,;0Q K#A!RC.HZ#PE]0U?%\V[/5>!P4 MKUOQSU#E_4PGQO("A,'/A\[+8Z. ^!W^OD\SN/<]^"CQW8#X,'$]!)'C^Y"( M"$'7C9U0!)$O',,$QGW=+>^,M8GXD7!'!'6>IU5OEV&+JHE7ESU'W4R5=ATW M)I38B\D\W]7<,9B#0I^(N1Q^9YS"N,TSMJ7EW[&RQ\OGZG06KQLSO%AA+XD$ M\AS(D. 0A9S .&$N]&/F,B]Q$N2PU49=-N/L3O]DI+]7K>F0U-/AJ._IIH9* M^:'\,[\WJ"M;-^=EGHFT!'2-TP=#M3) OIYBL<#E;!4;-DR=(RC>WGTO^8;Q M*LI$P0;)?TST-FL&DA/\) M4&DI53;YK=SK5Y;1[O>\6"'!*''C"#IA)*05$W,8NW(_[E _=%45!NXCDU-: M@[Z7MN.N,()GM3=H(L%+!1,0ON%2)XVT<33&P-#DL@>'8ER!FOYJ:]8U+:_ ]8/*,#N!H:1/I&V[2:/GUS&C]"DY:U49-#$V,%W* MI/*&J?8_I\5O'_>1.0D.DB1P8!#X*KL783#Q8A_B$'DQ\;$3Q%K'B<-=+4UY M'2 %"NH%P3@]#.OI*CN\3:R:QE(V(@Y]B UK8>AG.YHY"GU(X.,@],$W+JRE M2K/[35II)!7YV[E#&F*'>ZJ,7D2%U!D193#V'"XM(!X@#_FAYR2CBJ2>ZW%I MJJ,-.^L@'EG/]"S'>EK#*G,3*X]=K%X-$4QRI*--B.T:H6?[>YWBGT/BGZWJ M.?BB^:VX7_!_9/F;;5%*:R8OJBM(D MTKT.=]S\TM1%"\[X#MP)YOKUPN5\3&U!:%)A=./MO,077'4[T>AL=]S."]2] MW-;SU+B5_V.VN5O 5=2B. M_ 3+Z8M=B&@2P#CF,8R%[Y&0\-!S Q-[8"2.I4W[C[MDGBU0L)=$%2VL95%' MNDJ:W5,,?*T%,MR#C!T^/5-CAD&96/=4XW$WR7@8VRD7LFG)>AF+8E:;YD*J M7EHZES8W4K6>CX5! <$<.1@2UZ,0(9_!1#@$ND%$([FMXB)&9E[Q/U+<41LB MTPDVTJSGHD&MIF;[(\07S197-%M T5(BB$)[V5<^CYI=F+NVV!A*AP;7 8]KZ9_WE M9,RU19+@AJLEZ!!B8R#\X3V""$JG) M0B?QHE!PS]._KSX*PM(4725$O1'9B]$MD:*NW;XL4&^4BV?,.&EHS-P)&*8\F'HG9\AK9G JF^8HNX' @*=&8EN?,/'2!Y"_2"UW2TM@; MHUQP:76S+V5&?[O%^4U>A?FRJF[]+<^K:"Y5^=BG@9] [O,(HH F,'99 +&3 M. %%@4<]8;:MUNMX>5OL'6Y0*.!7X!'GX$EA!C^D&\"R]1KGA0J;!862P# % MO^9XZ.W%[7,\\9JR)_=+3:[$+#]G4*,&%6P5IEI'M]J\/6I"E+5;I%J=SGR; MU(2(XUNE1F_;T%A5RRO/P3$-!8;8)PE$1"JJV$<)##"/8RQ(PK'1+=(3?2S- M[CW20_^W\Q?'"_;JZ%] <.4X3JV%"H"WI5Q>5-'+?P&;K/UI6A0JSTY50QM21"@9CF+B4RG\2ZH38XX*XIL%VQ]TLS]KI)#)+6\ CRI&=Y%1OTE_* MT\2S_L.>%0EP$A]"'P/6+H:?Z&+F&^#GA3R^ZMWS[+A)_QZG>:4\KHN"5X6( M.FZ)7SA607KL9O-9;<=4 E?YP*=LD[?__ D7:7&G-FRKA#EAX 0Q)"%7F= Y M@S%.?!B$ 2:!*R+/$2:FB#5D2S-@E&#M&KE#7QD87?S@:P7>\/*&O>'44U*O M,D@3:S9+XV.L[JQS:4E'VL,UJV*U3N=+;6R_@W$J_!W.-[*]HMUFODW76[GU M7*&0B\0+(^B30)INU"&0N'X$DYC[(?)=ZB9:?M^!?I:F7AM85@ZESE'KA8$T M@D,$Y9(7**LX@CCV'9AXE').!1;UVR0.?$JTR+<'^J=P4:E/:6E $:+"T0YWJ95=T/B/I2>0\]/L:QC3?_ MCYQ_;_ Z%9EL'3<..4%)HF(15&UO'R+A4AA3%L'(1TQ0/XYXJ)6TMZ^3I2EA M"1,HG.H^;(O4Q/-YADH=[_+E!$WM/S[!S2CW\!F23!S EY,UEXO7Y(,R].#V MD]#OHSWS[HQ>V'[TAW[6@6?-J['<\NPN*_%:Y<2\?BAU2ZZ\>&UIVNOVW0VH M\+U(--N?#V&0G'[M=2$O4Q_RCZ+$J C*&>%'53IYV=9LY4S."-&M67+ND3DK M&;Y[>%QGSYRWM7%5I&:5DO:]--NSWU6EIB9PX2TN^5TF-[$\?>)58\67+?D/ M3DOYT[3X[4:\SW+!TU+N=E>^Z\N=#PXAX4FL"B%RF/BQ"Q/'B8*$4,]%SO2% M$*<1;FE*JI42E'LQFZ3E0+2"@L'I";/.MC1M(^@4T2I[+$-577+!6C( MJGZCOLX; =[_G_!USE&6\O6_TC].5)8Q@Z M'H>(APS&$>?0]Q*?)-PC. B-JN1H=KPT,[+%K2R_%OD5J+#7&4Y;].,N/P7+4^^<+R+5O/:,(4.VRLGH=CMOA1A#,HZ*OIB^/[JXJ#I&*6H-J1K\ MQ,LF)G@5Q@'V$X_!T.4N1%X4P(0C AD.78\Q)R04&]<5/=O=\AR.+=IFYZK@ MCKB(UTMQX+@QQ]B'<: J"GA1#&,_"F&"2$@]+T&4NZM2G=G,2_"^RS\TO7JJ MW19I$ZOS'5^?.WQ558+ M3)[JMIQ*M7WFYRSM 0?LV*?:L%JW=9!MNR5;#W? MU=S56@>%/E&H=?@=<\?'78Y5P( TDW]Z_K!AM0VCZ?TX]>[2S,(&8W$G"1KV!MR*4\3:P(-BNR9=T-\C/*2G&QP-E=)GSA=?TGO M[+\P/)UBMI0P6J<#+T Y5'TG4Y3,( 0\I#X6". X=@G7E]U/)2 M)W2-3F_N'M/5/VDO(F&FV3H@O_:$/"MKSTR4[]0S4?YE/Q./6YIE"IX5H)U[ MYQ\8M\OY]O;Z%*Q. MK -^_0+VF$$+&BC4W6P1@W>QC*UU4ZXL6>[:W$%CDO^MY*SY=*I?*B?:+N1HQ1%R?&DH08*] "+L,X@3 M)X$DIH+[*!(D,7-?S8M_::JO!0QQ,UGO%>3ZTI10\8#V$MW,_:5H.M:6._X3 MJVJMZR.D]_I(P\$5J%D :7MYY JT3.Q6@>J1^@;)/M#4HOOO=<;1EA=Q9O3S M.B-?9VB.?)JO!&-,+F-%,8T11,@3 M#HE)&'M(QX5GV._2O'GU%7TJL5]5?P*^%^&JNGKPL$^0:'J08#HF_2O/A$Q/ MO&*\J>A]F4_RJLHR>3+_Y#3TFN1CGH3FN1(U6Z/;,)NS,6G]:9[UFYLQ_[.Q MC(>)H]^L3+NHZIO<$R8)P(/.I3%$/D"0>)3! ,WB1+A"/DKH_L: M!ZTO3:5_V@7:F^TS#BES/,;"1&#((S>4ZV/@0.PC"GV!B>MP5_A4*S+G6Y:V:%-;[\Y MFHJI#^XD!TT5[!\4M/.;>^.MV4F1+6V<#MN>=5MS4JR7FX[3#]DJ@K3R A=3 MX08P(4A.U2 44*X1(20T#+@@,77BP&1!..YB::M"8^@?ESVZM.K1Z&I'"YK$ MIZH<35G:R/)D/M'!*YM>YZ\,!WAV[2@ZTRET"H,\V;V-;&@;W1_^ Z>IWT;SU"G\WHUO>.N3?YS3=UM,9N.<]_SK/MX_O-OD"W MIB>YIXFE&=\-5*"P@@KL%7B?9>4F*S7MRB'.AAW%ENB:^ARIARGPU6IA/,, M6JB@P0H46(/9?9(HC7E]*4=3S^A1])C-XCX*QLW?DRW.-W/[!#J8L[T/7AHN MK(XQCTL-59?-]RN/*V6+P@3!Q$4$HAC)'2<+8D@I"RD/8NX1PR,A,P#+.S/J MY,FO_$W*Q?32\30V8EAK2/0V!=/1/+%&Z89GOVD)/BXN5^$'5DV&RZBS'E:L MU?DK!1>;$',^Q-BHE8N/SF1/5>60;]E:OE^H'LOGW58[]J,D]IP(,B\*(6*N M XG4<1"+(*:,1YRA:'0U\=ZNEZ?B/GZX_NG#QP]W']Y] =>?WH(O=S=O_M]_ MO_GX]MWG+__MO\:>&_T+>/>_?OUP]X_19V_]@V%\(F>-X/G.Z79I$N1 M:[%C_RBOO]O7.N#3(J/GV$_O_9&'@>DF+?G'](FS#YM2?CBI5(5ULOV/Z89_ M*/E#L7(3WPFBP).JR0D@XMB!,:4"8M\-2$P"-^!&CDV=3I>V*ZLQPPHTV*,& M-6SP50$'%7+3[T.4A5VE/"21.0B'Q$75"AQ%?(,-R$,>]+,\P MVF7-JU#NT^.I'#F&Q1Y.D*JG5BXD:F(M\H(A^X&%/>+;*NYPHH=Y"SN<%_&H MJ$//HR//AU1+GWF;19>]W:K2/?75YSJ\(N*8BI@[T$'U7307QI@Y4##7IQ%" M.':2U8;?JVJP=P;Q.$,=:WWE2?V5'W4_W1>_AUQ54FW+PBAI#(^!!IEGKI>$ M21! %B<(HB"16M(X#?^9R[UJJKP*I\_?3O^T+>V3 M8(P]+X1)++>14&GY2-5'?-2J_?0F8I6FGGM/JM]D#3C>&>]&+ M!DI/?\U%_]1>R/',&ZLU&Y19TG@709E5&=H@[:6>M-+F!4;RZ:/K(&!)$,F= M<>!@9:-QJ2 CAT(D,/9]S'A D.'Z1_(<]#%VGH*>(7YKR,,M$N< W\(=T - M[ I!_ MXAOZ3<6GUJO4BKO$9]C',,2Q.E:+'9CX(8$X=D,:18%'?69B70UUN#@+JHNW M+BFQ0SS2B!KD7$^=V&1R:F/H(A*-%8HN,Y;4RF!WLRH77>%?JACM]T8KFDI? M_3TMO[W9%F7VP//6A?F\DOLT!Q/FPL2-&$2$>Q [?@@Q=5V&"69Q8G2,U-O; MTE3,6RYXGG,&ON;7'L-@G5(?&2Q?L:SX4Q?;PU*DI8*-^V:1$>?>=YS0M.%LYL4\%0RZ, M0U) X0@@4>SXAL?&9M!&$I6F8^IPUJU$"WL*L4FG5-0A-\V>9 MCXK!'FDRKJ<^SK:8Q:J5KY/(RO*.:Q3+-G=B9@#FWZ&-(NCDSFU<2Y?>IG^' M\XWLL) ]MLFD4GJ]86_3]59Y(@_O<(?8=Y- N)!X'A._+/1YB,(@8(H2Z M@1OZ8Z_5&R%9X!%2Y_[W9I>?89]\<.S=>K,!TE2@TY,^M1;ML-W*H#1@K3:O M0"5'=;3>2#+3S?M1?%J_@F^&XI7NXH^BZORE_''-C=VG%N6-^#G+6'6MEN=/ M*96*.ENSE1L1%"8A@DD2JEPT.(%)[ C(&4<>BR,1^X;W\<]WMCPEJ+"J*3ER MDWJ65=T=J@VF)M^>UA15,"L-U0(%"JG-S>D0&]9VIF<[FGE;.B3P\9YT\(UQ M"N(PR_WU$T[72O^\S_(O>,VO'[*\3/^I\GH6Y;OO=+VMRN90FF^KZ[!&$1(1#<* 8Y^8)-.9 M!;71MG>.LGJM6$#)9::QYAEF/>6WN,&;6(^^J 5R!78B0Y'E4 E]!0X'5VV8 M&\E!(SIH97^-TH"S#IDE93\/YEG7C5F'X>42-&_G8U([GSBWK0(UWGU_K&+\ M[[*?^$_I>LW99ZY\0++=&_$/CG-IB2MGT4HX*"+48S".U=62ZF^^$\# (30A M3BSD_W6.6NW 6=JQZZ&[@N[<%5@)=05X(Y:Z7D$X()5DTKYN1%.6Y+,4[DH= M-- ^[33%R/:O3/./UUR>I;\?>I:NZZ%J)0)W&?B)@UHHL),*W CPCVJH;E]A MJ$QR4,\Y9'.EIIYIZ P35]MBNC^?]<6]S)CFVA8CA]FOK;4Z<\VAZH^_R35^ MYQ-P5PQYE 04P\AE+D21(R!Q?01]X04N\WA@&DUC$=S2%M<*(GBJ,:HELL]# M-OW0:9[.O]* +-_Q60]G(Z%]A^<$O+]VN9U3T/X8M71Z2+56**>O#_.D@N^^ MRWU6GJ= <2M"@UK\>?IZ=?)5IA9F*]=DP* M^*H@6DH&VBO^J#2"IUN<+8U@KT#=-(+]#XX\F-_E"[X1@VJC.*Q&05"L][5H$ MN".C,@FZ#SXV)@%6@AH>UUL>?,V#^=<;TJF/X ]&4\>^*WH-O$GO:$PT#+:. MU2VCF_< ?1IJCX[*)^IFY)X^O=^D(J58MDNIJ@JMC,ALG:HJYWL=P?V0^:$; M0XXB"E%,U=VY(((^BX.8.XDK/-,;^YH;;NN, M3KV5[J?2)&R$8Q]QUDR#D%-L]D[0*?VE6\E&-\S88 SPJN/L[ MQ5=U#J%=T,8L5<_M?CF6CD1?[7M8P*%IOU'='RYRHNYY^Q2HN)CQ>'62,9SK M -8N^&4=T4XR,,:'N-.@N+#ZV8?-X[8L/O(GOG:;#$:^@YS(25103*C\82QT^T2LUH]+6TA:O"!ES#U,4]7.JM#I88FEB5[^O(78$:Z!5H M")L@WZ@&)[8KR9WHZ74*R9T7^6P=N9Y7S!U!(VI*+;B2E%G!*+,R45"OO);)LPS]SFLGE^OG#AIE,G]-O_[%GTAE&AB?5 MY61,O1+6 $&+4*V'+'U*V1:O+4ZZ?AY&S;\S3+PB]5C>>N]-&SW(H>W4[/%IG9D5;P4YN6YQ-'OQTVYVSQ[Y'GYK.9P>;UA*BOLHUH#]AYR)"(1 MT\2!H2"N-,VDQ4O"D$+'=P(_[FK%ED!GO2"ESY-EE2'1H>S*A5] EZJ&X,W MQR9HQ&7EQ*GS4BL/C]R<;LJBN@/./$9B)_"@(X@#D4-BF+@$PP2AT*.QSU!@ ME#ZZM[>E;0R;4JI[D$.WQT<0K*=GK-$VL8HQ9FQ$ZD,-)JQE.>SK:^:$AAIB M'^ -3?'ZPZ8H\VI36]S)'HK3OVH2 MIHI ]S7]XU8ZDZ9,1KJ5B? M]M?V]QL?3;?>8$-+TYM[P$ B_N'ISV /6M_S-\S?L!/0*G43Z[4^UBS?93>B M9I2+<+CUV;R%VH)V'8?Z+XVSZ3YL:,YQP=_R^O\?-DTZJ[880,J+E1\D3N0% M >0.]B$2U(@S0SOK38UC.J;#,X ML5)IX8(?6L!_5M>>6T8_:C!J;#B94&3)(-+J[!.Y5E]" M)?$"DOQHCLEK)_P9@KFLR)(+R;:6"$BWOY'1(O4F>W/_F5.>/JF63Z=K/9?A M=85I%(0B1I 1I@ILX@B2V$,P"*DOK6%"/,V<9AO<'*TK^HVN $(SNQF6]GM)9OX>\"T&M)N]'GE;0+L.Z'A^*U#?L> MA'\,FWZ88FOFO$97XP)@/%>V)0V:![5>W>'\GI=%<\O?"3 )>)Q Q^<4(B+7 M@SC"&+K,]5R/$$XCUR3:Y7Q72[.]%5;0 0L:M&8Q%3W4]JMANX1-K$W/<34R M$*6'-+.H$SODS19B8OC!&0>3#-,Q%#G2T\*L82+#DKR,"=%X8\25 *66?]VP M?/U\WREW\U!J7P4XU\#2M.&OJGC ^EEM;_=JQ?*?:7]I<[R&""J,H 6I M-\?/,=@_NRWP,O&\-J-$>RH/"-XSB>6;]226?]E/XG/MS3)]!X1I)^[08^-. MOEYDPSKT>-QLRZ+$&W7>5M=-)D55,&=%DE @[,LY[5.5S JY$)/$A]0141#Y M ?-#;':V-0K'\DZOWO)-]I!NU&>K60/ALH'0.XJ:G-R)MRQHS-V0^RJ]@??LMVS1=K7A((A)Y MCK)B&$2)_%L2X@AZ,47$QRC!7.L&SZG&EV;"5/A !;"99/KVRQ%QP\;+)71, MK',,F# R6\Z)/,IF.6IL-H/EG!A=:^7L,Q:O"*NM8;'W&JZHPV.$PP1RD2"( M6(AA+(((8M\/W" (!$[\U8;?8ZE1]"P3G6ZUOMND_FZ[G4^XH6XP@KSC?3<. M5M>B7,\&L4;C:]\3KFG=@Y[XGO 9BJ:\)_RRR]>_)WR&!*U[PN?>-3^M;+.F MW8AW>:Y\3_LPB(]R+_:AY \ZET;OC7%XUE=OV@.(=T\J.K I*;_R M/.H)X1+H!=2'* H"B(4?0L\-0QJR)(ZX5LF'P9Z69CFW( &O4)HX[/KXU'%R M6F)IZB/^YE;?CJ@:Z!5HH-IBS,3#:8FYF1R^"_;J2ALD[_R=F_9VMUBO$S3C?J MHN/-IN.8R5.)Z/ZM_&=;D/83+V_$'?Z^$@D3#L4N9#'U(/)B#F/FQM C)/ " M3U""C*Z 3P5T:>IZ+P^XEY* ']2M\#\#566RO>8/19;# J\Y>,#Y;[RL8D^* MG; CME.3?05Z6[ EC.W$B\S-FP]7X"TG9<>!?+4/':J&] M6>^'.!]!(#7ZN M/@0E^)^O .'R60ZNV7]LB[+.]8:%_#*!%-C>EF_J(;&T39P,YJQ;RZG)?KD= MG;R_,<;[@VR*XN)3MOGU2W,G#+,X(7*E@!Z/"40,)U!^_1PZ481I'+A.DB!] MF_VX@Z7I_A8BX-_!KW_Y\A<3R_,$?3HF^F6D3&V9-^BN5()FJ!@9=>_P!#4F MMOAE%,UE@A]19SSJ \MZY[G+BRU]=-S4VE$C?[[G/_G MEF]H51-^)1!-O @1Z-(XA@B+"&(WPM!#7I @)PR8;'!,R:WS?2Y-U75P@AW0 M4:DD=0C7,T,MTSBQ8Y5 M1=Z/RJ_0IAUYEOJ,-L=.1 1.$B0NC!$+Y$8\05 J'PI=/V)2Z<08L=AH(S[4 MX])4S0XP6"O$AB'6PP0[Q%$'R-(LQ<*#B'H^C(E4[IXC6,BIB#TW-KMS9I7B M>>Z734VRYD&"3>*F/A'8,5:!O=JE>'JN;#AJZ^C4F!M;6_/!_N;=8^N*?[19 MUG[QXBIR;[?\+OM;FJVKS<*-^'>Y)W^CW,3Y\T?\NT'TB6F[2U/9+RNN ;;E MH,S 3@;E\U52@$8,(.6X&@K(N)S^81_ZE,Q/K)"F(?V2$GC:[-DHCC?@GGX;X^S0M_PQYS2MSU.H'_M)%"4P]@15%9,$C&/FPL3'21P[OC0_ M#3-,=)M?GO'315=5$,$/65ZF_ZQ^8&8)'?"H9_2,Y69B==*%9<^*.26L)8/E MH.E9;9-30KTT0TX^,_J^JIS]NT((ZC9LE:A G91$82BBA K:GN>^<#HE\XJKIX"OCU,9'7A2)U^"Q3@U35*GHLHL.5L:,F9YVFG@D)M9:-7J5ZNG\(8S<^A .;G'*KD K MT*05X2Z@U)+B&X-@5H5X 44O%>4E39DIT"(O5^^VJF9=6VF_%2UNMZDD@(U/C>#@],3KRYM M4E40#]))-5C-SS]/$35\Q'DA1U.[54;38W12V4/"J,/(4^W-=M[8(TSW2+'O M,?-9>I>SZSSOW"N\OZ^NPQK,UIXFEC9K);2\BJ_=W_G5GZ=]5 W/5TLL33QO M[W)I\N\.DBV=4R@U0FMP=*HB=W7[FP37$.X[D37>=Q6J/R'C8IFR7)5 MV"ER"0X1CF 4A](NCET&DR0*8"+<@./0\02*+HV1[_2G]?7/&AS?@GN^-!J^ MRZKV:>.%3+UJ_'L'[)1Q[RZGQ![.,3]U$LC @/&%TGA97T8 M6B<%O:;?4OY4O=%-&"J'K_B6K9G\&547C01V?(>Y'#H4>U('!0(2%R&8N%X4 M)(D;>(F6 ^05L"_-YI%"R*E9N0<>I4U>I)O9_Y6^C7KPK^ B?6T5A[^G_HK;Q:O[GT$8>)"'@8$(NJ&DA$$6=K"Z?0XZT;. M@(*7VSF35\?I':GKWN#BVVV>/:6,LY^>?RU4V32U:RS*JI!:F3[5QT]M4F'A MT%A01F% _%C5K/%A0B("<1"$/N8>DYK([%ZI.0B3237/[=,=6+FG:M&:::41 M0Z&GI*:E=V*=I0Q'A1ZT\%79L!^4!')7^V>PIWTOQ22YG<>3:$FOC0 PJYH; M3]!+K7=!2^8.L ^;0G:2W^7L-ENG5#8J^Z6?LO*:98\E9_L;69KN,.T&EV9; M-"KU?MMHY@; MY6S3[V4VUYNQX%U'G/G+XVRQZTV9LG2]E=J-[]U^=4U;SMY+@=1&=ELVP4/O M<+Z1GU(A-Z#5/K;VPZZ8-,"0&\0PB'RY2PQC+'>)GH#8%Q%-/.;Y@6'8CQ5< MR[/8;K-2&M,I7J^?02M>4T7V"OS>UI3 34V)T25F[8RJGJ4W^TA-K#6[\G2O M(;02 37+04>F*@MQ(Y4Z/:R/).U=.IJ$:$L&HAU,L]J,5FE\:4;:;7RD2E?G MB7?RW2KBR(LCGD3"@1YC/D38CZ1JY@Z,G8A@'F _Y$89APY:7YHY6=?L4^A& M16X=,J>I_L;R,;4:TZ;"7!&=$MF60CEH>U[%<$JLHPE^\J'Q*0H"""/!+4]WD4"KV*/B?:7MHD;6"9)]=NN=)POH]G8.II MV23,OI@$\YSB(\B8.8OX$"FCDH:_$%LG37C[RNR)P5]@/94*_.4CXVR$6\G_ M)SDB;[,'G&Y6(>61&SLN3!BC4OLX5&[=' %WD^24*F70?P M3!]+F[PM3+##"6J@^E4!S['9/Y$M<33Q;#:GQZA4X !HRH&GFMSML*! T)U MZP<./3IN-7[W\+C.GCG_PO.GE/+3EX@^994OBK-J"U+<925>=W__)BO*3UGY M#UZJS$_W&Y7,?=]2_5(5QW7W#6]N'M4KQ8H(Y(:Q$\, >P(BE8J8Q S!$&/7 M%9PG3J*E0%Y=DJ6I*950O\4.BC*COT%2W5&DW;N,O+Y5869^O-[7HF?I_"&^ M@8G5\,E;J=WXMIW\[675^HQ0N>EJ::Z HJ#RS3WS$NQ9L'^P_.H#9LD@?#TY M9K4]7WVX7IJYKP_HPH3]G0S=Q>Z'_Y[R7-V#>VZV>0@['",[7Z7UIRYO""2J@8(>TNE;PZ?IO(W?59J.AMQ1-QO'$ MR\=E](Y/]6]"D^VD_UI]OT[Z?Q-:SA8",&IDG$+[F6]D<^OK#;MF*K.8NJBF M/)&'M\PCPK''.8?<\RE$0EV: FM USE;#V"; M:2T]RO6TE74B)]9270X/$4]XN=^()$LZ2J_/6763$0TO=9+9R^-TT?A(J*WJ M_494ORVNM^6W+%?&X(H'B<3ZDMD .^@CK]:9G]<]93CJX[6C*<%9V-=27^LZVZL:SG!7E![NG>R M,;"DI^WCFU6G3T;O2_T_74/BM_62E7I7?_N4VKJ+.?\ZPH5B+Q M7*G= ZGX!8.($;D'=U0.38^'U'$=J?A=L]O%_1V::(:9K@TW>"M3B[=@K\"] M@FOHO.[G6M.9;8V_J9W;#= K4$&M^'NWY^_G7O[,W=U:M-AR?_=W-J\[7$OP M(_>XWEMC$@Q6 2]2H547.;5S"G;?6IHQ=R)+WE]-\@@>,-(_RR\C8^(9?8(' M:Q=#7#4L+JOQ5G+W[3N6C37 )$H$K M$C^"H>_(15VE_4O\)($D"D7DQ#@.,6XS_MU9*A-P#HS6YWV8#O!NABFO9 &I M"A>H H^EEN&%8=:)<6.C9P1,1_5R*@%TQ0"U'-;=KQ?Q.$?Z_[,8EE, 8(@F MHQ( @XW-?")6[[9NY7?_3?WJ?997/UYYD1?$4WE;$U];'4144;[W7XN1NU[SS0YV_ZW7Z3N M/GC@R9%V7E/F[4:H]K*-NO!Q(]KLCM\;)^M/?,-%6KZHP,;CD,>QRV%,(@Z1 M&V)(&&80(Q(Z5(0Q9K&123<>R]*41[=Z7I-;NL3?31.>73(XFJ;9/)1/;85U MV-[+H?[5E/V4HNQN>?S02//G28OD62#6EG%U 9)Y[:C+*3LRF2PT.290>T%"0T*IH%HE M1W4[7)J&5(A!#1GL,-?[GLK]91)LKD%WOSJ<@L2)==X0?\.WV<81:1+*;Y?0 MF>+[+R?6,/)?GZ7^= :[3Q M*$0!C(.00!13! F- AC2*$YBE\0B<75CDE\VOC2-6^,#"F!S TL_"OF(N'Y] M>BD=$^M. R:, H[/B3PJTOBHL=E"C,^)T8TM/OO,2+=L5A1OLHUR;_"-2B!9 M&6,K-XHC+ 2'88P\B%#L0YQ@!/T(,<&2.(P$,ZK+?K*;I4U4A1(]"(J>]W"\1^3=?+MP1ZP:I4B80T!HN M4$DSFM2IV93CH*>8[7$[L8+NNZK2H+6GJ?58L:2Q!SJ;57/K"?Y2@VN^-?J& M/-O2\N]8N2;+YVIRX?6;-2Z*5*2PU1!&/A(.@X$7(Q M)AY"D5$B-[U^EZ;;WQRKF=\;$:HKX#DO\TRDAI?I= =!3^E,0.W47LD:,6@A M@P;S!+K'D!Q[5^JU>IW[;KT)%2?XE$Z6<:?S#II1?3BI- MV.NBX&5ST)F(@#B$RLTFCV.(,!60>#Y1T3Q^S)(@$J&1=U.KUZ7IIH\I51X2 M!EK49DI(CVD]%62=OXD54(MW1]T5V$,&%>8)(LZ-6+*DB?3ZG%4/&='P4@N9 MO3SV%/K+-[ZND@KAS?,J#GV7(]>',4D(1)'O0.(*#\:^W/-Z$0L\O=NQIYM? MFE9ISE\KB*#!:'H6?4"?[FGT6%+F.8_6XV/$B?0IL2\XDSYH;N93Z5.B')]+ MGWQJ@H"AYI9E\7;+_\%QKDK>\E7$8HSU!B ME)_:&,'2IKO\A$*+D4 G2=<\U)Z2RJG/NS4B@,H,$%[=P;P"2H:J5/AYF\UN M]$\??W-$_ISL?SE1/WWT&$7\]#9D.:?!QW3#/Y3\H5@EU(M]SD-(?!6_XR&I MT)*00LR]&'NN1X/(+.O^8)=+4V.]X?G@J\(-*N"F&?J'R=<^I+%(Z?3G,Y>R M:2_EP1%!4Z<]V'>XC-0'1P1HIS\X?G-LG>W?KVD5QR@5GNQM(_]*ZP2$55') MY_K/_05G1J4B"B,'.AQ),PMQI8NDU14Z(?-<5S#/#TVK;)M!6)X?2TJP?MZ5 M1]T+ [[('2Q3-]C4-/O,:15_MO_UH;!5'N=_<,,BMJ,'4D^Y33DX$ZLZ"?T\ MV5=UI=MG\+7Y_R37T<>R9ZTTMV'W,Q?F'D?.<5GND>V8!^!]YD6)RZKMMUP: M/P_IIKH6^U;^4#<,KZ^-I=E>':S@ "Q0:/6C\'IYZU=$-BF;6.&,9,LH%$^' MBE$!>;T-SQ:6IR->-SA/Z_D1\WR[YJY# E=EOZE7X_=K?*\]Q4^_OKC9K6*W M%$[H'@3.&]D??71IS.S+F9IZ4O>3!+XJO);R2@VP,6Y>GVESOBG=+]3!;!YX M=*3?&1??U']J[_2$U\HN4&HC3ZEL7_U"[JL.?]!Y1 Z3?T,!EV,:)W( ,8YBOQG$ M=QNVR"%L<;W2 '+Y\U<9.KUMZFR#,?%JHY!=@6HD.@"OP!X[J!^I#Q0.?MA] MP^+-!AO,VKKQ6]"V*#MZ(:$E49G<,C^GJTH1SP4Q &=SAW[>[8T6UM^R\&$SEA)^ 2N6#,:%^F(_3U[)3?LGKO7<,+* MWI?K@MU34Z4-U:O ++[]E;']$KKG=UVEK M:?KHBRHW"F[E2L$E9^#NRV>PQPYJ\/H' %IL#I\&V"9R8HVDPR'X:M6Q8,K2 MJ",#K0YF.S\P$;=[F&#TGHW8256=202 M010:%4L^[F)IFN2S.@T;5:3X!'UZ1LQEI$RL%8[L$X5OJHB[KNR31-E5';QB M9%U7P/YHNH,GQ\WGO_/T_ILJ/_LD&[[GAY5L;K9EH=SYLK^WZ5KE6W^;%G2= MJ8*-U4V,:Z)JI-%R%?B)W.DD''JNNK/ET$CJ "2@$+Z<_S@,J5F"/CNPEJ8W M6JD@KL4"FY>IE[3(JQ\_9$U*9LTR%Y8'6D];S3]\ M$VNX5B#02'1<6*PC5565?$.E!5^;15];@2Q>L[#+L"4]:@G4K+K7+I$O];7E MUD='(4JM49GN=<(2*"+!8$H) E,HL2#CD@<7T0\)"PRN]=V MIJ?E75][TRA2A?2J5;YI!79\TOMS/&N>YU_.W=0G]35I7VK2:I!7H(9I-:ZP MCP=[D80G>YD[=K!/U!/1@KV/CZR.K:J*W59Q_RM*PPA'20!Y&&*(_$2:*A2[ MD'L.%W$8.)$?K[C;Y2WC;[G@$IK*7/+$-UOC MG $:5.LNWG;IFWPEK^&"WR5>T *>-F^2"476%GF-+F=>\?5).%[^#=XUSQ7P MA=-M+EMZ]YU^4U?^/LGO9\5#CW%*,/295"^(1#'$"0^@YT9!Y"*7,Z3ETC[7 MP=).:%J,H 4)%$K]C $G2>Q7(3:HF=KK8\:*4=Z /M%'90XXV>!LN0/ZQ.EF M#^A];F1<6U;RXGK#/F9X4ZC(J_1))#B)I=G B9#FO8=@K YM MDS#VI<6 :1)HY:#6[G%IT[L"+(V%%ND5R#K'=EBH)#IXOR)%<;[=",9;(Y"=US7_%X?\/NFYO=CQ:]U MFT.;,UO19X/]S1MNIBO^47R9]HOC5%65W:AXC]/\;WB]Y?MCSY4?!2'VO!#& MCB-W-@DA,(X#'S*7(88\SW69;W("<;:GI9U'W*D^ *[@FBF8\V3J*18K%$VL M4&J,5T"A!!5,L,=I3U\,4F%)3YSO9U;],"CN2[TP_,)(?4#I]F&[5A7$;\IO M/%<)E7+^C6^*](G71934"B'USXVXP]]7#O(#%GD$8N+'$#$208+E/RE*Y+XD MH,S#PNS\PQ#!\HY".@* 3$E0^9!W(E06C*%>,1P436TS'=%3ZZ .PQ5T<("] MK0#W@X+_YRL@)5#N82F#1?TTCCQ;6LNP]WEUV3AJCC3% M=JL__L8+=17HLW(Q%[<\5[DV\#U?<56XP(NDT20D81(@ M;+3-FP3ETK:&==FMIQHLR"NT5^K238-W1/USZP.KIV%??;BF/HVZO!)Z/=B- MJ.!S,]BWPX,]KA[Z5(-ALRBZ=8SS5T:?BN:3Y=$GZVS<2O+NX7&=/7->W0ZX M>:PO?E)PQU(F*#8\3V7NT;7L\_VM#2-7L<('N;"DQ<[W,ZLF&A3WI389?N%"C<#SIY3R M2B/]]%)I?;])]2HU4!\>^SO/F1 M>LY=HPF8!_SKK"NS#LS9Q6I>%&8K8)&7JU_P]_1A^]!8;2AD@H0^@RX*8KDX<0SC MV(]AP%&$"49^&".=Q>FHY:6M&PTXO<7BF*=^/7Z1]!.KV :71?OUK+1]RDJ^ MU%%4\E][)77H MZZ%64YU8(VQJC7*47 Z7H 5;7R>QFSUNF!6+Z>%Z.IL]_]NPX*<2O&F\97Z? M_6U&MVIW?2=?707$C3'B"0Q92"#BG$+B8 =B$GJ.H'' L-;IU,N&EZ856FQ M@=._MG[ 5?_DOX2!B:>YGO!&M]-/23KJ5OI!0[/=1C\%OWL+_>3OS3.+W6&R M7>/\8UJ4=\H8,TXG=K:!I,R6^B:/[W,=UP=Q4+3A,<8^@E MH0]1@@.(0QI CT6)AP,2\5C+A=S;R]*F>@T4-!"OVK\ !1;<; Q6U_/$#B^U M5NB:VI,\EJD1!69[F+B@SNRI5F!",D]>")M:B@H5O=- MF$@H-2K3:(I@:0JCFP'JL1&FRMA52V.X0S0YZG-:,:4)9VEV>FLBLJ,B)?:R?#MD099D_K]+KNF M_[E-,V;# (I+]YR4J[Q79& M@Z-IFDW ]4R&68-<>6$;[$!!!'O$(G#(VZ4?]JP_Z69:/L]T>,>.,AVR,<'MID.C)[FFY#NB35? M@[R[#>V !S<=RJ<(+QM)G"6]9]K[K'IO)#4O]=[89D8F0FB3XTBE^C;;DE)L MUXV=V,^I_A+$W ML=X[S"W$&@$ ;B0PS']@-!9ZBLX^O[/E/J@P'N1SFC.3TRCB;.4],.I[WJP' M8V@YRGDPJI$+,AX<10PG8'^EG9FT,(%!WB! FQXMWR 9SV=;9&]B55O M#W$3I%/0Y,76_?*!WN:]8*XG^M$-<\W7QFF5#YLGV6B6I[QHOF^,J!\G+H*A MU"80<8Q@(D@(G<2- HB1XYZF%IFJ,#T$Q3''.GIQLN8F1B;=#!-L'L M/RNYI?E^W/ZL,_RL>"_G]/D'QX>:-9^@ZV(>NQQ!+T8,(I?%,)%[2.ACUXL% MC;#<59J&E2USWBIDYF%C9JOX*.&G7K!5.-@$*_.1K!:#O%YEO3T2Z%3PEJ55 M5,6-?BFEE5_M!MIRHSA@#@IP CEU<5U_A$0.AG'D$LHZ6=I,[,) M>M[AU"DA:L2K[CI[,5N3K[;F1(U8='MIL+;TGNYEY@6X5]3C9;C_\7'*X"U_ MS(JT+.ILXZV#)1$>=[#K0C_P'(@BX<"$)1CRB'F">SX)':-P[Y.]+$T1?-D^ M/JY3N;=D#5JSZ7^:2;W)?S$_$T_]%A]H:P-8]SGU,F!IUI_N8]8YWROFRQG? M__!E6^CGS_CW7Z0JR5.\KC-L?^8%SY]XL<)]:0=X,B_A6&D*A>' M(8Y($@:QF7=GN-/E^6DD5/#08AVWU>[AV&SO;8>WF3;CSU= <;?#N\LCTV*V MOT,?YL?REKVGPU?9PP\3<&Y3K_'F^/*&KD?NTG+-5SY#!!/L0T23"*(P"N36 MPH]@S 3FH2L2%(2FI0W;QI=F1E2@U/?N>C^0/[>W9>S*HPBY:J:,KUF MV6/)V?LUOM=-)3'8T-+F9@,8W.6X"AUM80.\8:HZ-^5L*_L#C0CZZ2:&*>V? MQ-;9G'RQ-R(2?%7X+66ET.9I5':*X=9GRU*A+6@W6X7^2^-/[Z\W[$4JJ5,5 M\3S&W(BQ"&+F$XA0Z$-"*(4N2KCG!Z%P$JU%W[CGI6F=7[(-?VY"H8#8;MB( M!')ZE.L["JP3.8-(S'D5! D%-1I;N7 MHH"]+/JVCA:YP^:.;5XG5D C* 5?K6?D,B%ME/FCU<%L%I")N%TCR.B]D17@ M>;DO4;CWH9((^8C$T,51!%$21S#&'H.!XWA!0H2?<-_L[/1D/\L[+OVT?>"Y M^G#_:EBQ_22->G;,Q=1,K#+4N>=!2NTS6;0G<:3VDF.K!/O)/N8MN]XGYE&I M]=Z'1P;9J%)2'XIBR]G;;5X'+:89JVR9TY>S5]QW>4P] 0-.I9)@?@ Q2C D M(HA]'(=N&"9&-4.-(2S-7E'@Z[!I467QDLMI455*DYLEGE>IM\MGE34W;0 MW]S47:ZG]8BH=;%ZME*P3N([E9(=>'L61:HG0:LL-9\>H1"O*K,+ (YX('>CZ7&K#R"4P)A%7=^4CR:2#Y+926QN>[F-IJG 7Z(79D[(, M"TDBR&NL!G/\#*$:NO!RFJ8^D*H!@AU3GVVQ8Z#^+F=I)MW7LD5;MIIOZ2^6 MU%\_$;VZ[\RK\RF^?NP'6F_@T4L"$N[P]_W9_^XDB#LQ\T@00I?Z(41^[,)$ M721RO( QZL2<.T85U7OZ6IH*;(Z.)-:.7^O"Z(33).MM:BU1-[%:',W:R%"% M7CZLABN<[ND50A9Z13X=MM#_BKF#[[V4(-MP5<#VB>?/;[?\+GOW76U*^8UX MMQ&9_)JJ*(F'4M?/9]#DTC1% QVTV ';5L?+#7QU1M81X*I)VJ[O\3-A>]CQ M-Q'1$^L5RQP;>?U&,#;*^6?2SVP^P!'"=UV!8UX?Z0F@WSC;KODN6W7Q*9/& MT<<,;PJY1WR?;N1&)MW<[]-\[=WEU"&1GW@">AY7]37]!&('5Y4VB1-QAPO$ M#3-JC4>S/._BE^W# Y9S3DZR-K^@-.#WV?$V7%.;V1@K31? //Q/[0MHI.AD MT%)\'EE!UY"RPT.;9VFK0H M/S#E#A0IKN!Z["8LC%!OF*>TVOSPS:8=N M9+RJXHR%2+B)FT"$O @BGR60<)) ZL5>[,;$05ZP*K,2KZ=E;-_%='S=J3Y M:H$UW1.T<5Q,?F2VB]S]U&-(CP_/[8AK.Q!7-?TZ(;<=H]P5TN;I U2 M4$$%+5;PM49K>$6HAV&];8X=WB:>SV,I&U$!>H@-:U6?SW8T'8P14<:*88 &2UKA7"^SJH0!45_J@Z'' MQSJ+/ZC-%*8J=O0M+G&;G%=$213R!$,W3BA$A$;2;J .E.9]@GRI(D*J53UD MJ*.EJ8/&\=D!"Q3:P:R^9NSVZP2;G$VL%,;2-<)-W,_%!5[B,PW/["3N%^_8 M1SSP_,B4YVF!FV0NTMQ0"4^KJL/5;:65<+E4 3B ,5<^4"&U 8FX#WV:^'(? MX6/&C9*6]76V-+5PB+5.V5NA;:YR&=H*O3SK&0RVV)M808PGSCQ/N@8CMM*E M]W4U;]9T#:&/DJ?KO#.V9@(IFW2L*2^NGW"Z5JV^S_(O>-U\WZ&/',Z\&&)' M53;"\F\)IBX4CMQG,)[0)#8JIJ+1Y^+4B80,]IBOP XU%%D."[P>JU@T^-?4 M+W99G5K-]!/Z18?0$849M"FR5J9AN,>9BS9H4W!SZ'B:>NP7GJO(,&" H_04[B>,(PW]!P METM310UB566[VM'3'6 SS:-!MI[BL4OAQ'JG96^/]@IT\-J+=3)GQY+*T>AP M5HVC3\!+A6/PIGG4975?LDH#]"U;RU<^EQN# ,O3;R]-5=1W0CLPI2U?;O.- M<=#D&;+Z]8,=GB;6!V,I,HIY[&=A5'CCF29GBV3L%ZD;M#CPY#A+HEE7-<_8XO'>;PTHRD8"GTUO\S-[;G1$/?;?:+TUXD[Z%]4& MSMGUAKW[7O(-X^PVS]B6EG_'*B=M^5PEJE)^9)ISJK=T0I'0KA)*" E1&79XRY,?->5_XR%RZEP?(&T+[1/@7!I2JN1H%[> M'VOIP.^->%5>@)R7>292S5W3=$/;K^H6,6 3:\=6O"KQ9RL@:"0$K8B@D?$* MM%*JA,Y@+^ M+QYB2MX.@BDF[6A$>2?V'W?9+<]4'O+W&_.*3J=?7]SRNN,*W&7@]MW-0;VA M*SE+LW*3E><3[6OS-GPF:8&RB1 M'9E.[62Y@4[)B9^>]X\TIQ?7TOID'],-_U#RAV(5\3#FU'.A%SH"(H8CB&D@ MH./3V!.N-.R3P*C0RL60EJ9CZJH>I*KJ<5#-K",4(,^@^]RN^H>2#'Q5LH%* M.,-K'!8&6._,=-YAF]J0[]1A&1ZQG\:.F'E&-FLDVTK,=CF@>?.S62/P*$V; MO99'1N.TQ3U_>M[]]=]3GLN&OCU_Y$^2URJLEHK \86 OA]Y$$5^ M4].>@$ M 8ZBP UC:A:62/ M$3NV GWT.ITW[L>(B*,P(+.W1UZ@TBP".(H]6!$PB1*?4*]C)IF'>GI;VYS?Y=- MHR/S#:BD5C5>&\F!$MT\$4D?[OU<,0*:(Y.&"R"M4I1HP'-5II*^]B=/6**A M[+F\)3JOV6V(;LN2;\HF% M$.X;3O[>#N?' K>G50$-F: ?84U*<(;:V-S0PM7-TTZY6!<RIQR!]:@+DBDO[.IF44+<5/J$7O+=MMRRUC\B,K*WOE:W%7 MK)]SJ13Y)(FA%V.N"CVH*#I.8>QCC^"$1@'2*B\SU-%,-RJ-L!W+NA78 M='MR 5_=?GDE*8!QZ;];JW!CA,-ZR40,H/(]_G&(#]0C1_7806CE1#;N:S+%J!T'7V6K9@MUNZ0O?O"7ECXH$&6=O7GXO M.?NX^OK$E4-F]7"K$LK6"=G:+;\?"12$C$)!P@"B$ FHZH/"+ @0810+A QW M4.9"S&]7M1,6D)VTAAX6B['0VVN-B^_([*9N4BKI02N^BMC_16D \M6O8(_[ M7HM1_#?V(#K:DUD(,.D^S1Z@X[W;%2W9L>"NY4_J0F:;WF61$,2PEU#H^U35 M1\]\B..(0NIEGN_A),@"SR1"YGPW<[/<]C-JJ<2\:3-!:MY:'\!4C[&N1VKL M4^@=2)]JD.Z&0#(FG'X,')'*A4XF)8Y^18_)8>!I^\BYB\E_A)>P3$Y\&(=I M!%$B35%*.8$9$EX:$R:M'VQF\+A*$S31L5$GE=L-*.LT0>M.&,8O^:KY\>40 M;7/8X]!+8N&'T$(NZJ*C;::$_[G@\^-_P MAWRE0JU!6XYK'+QQB(,TBC$,.%.Q%M*NIP'E, H(B8,DBQ.6-'B_7['70+OM M=DRW'!L?:+TE\"^22NQ<#K$;MTG$3!!Q&*CYNNG$3)0^%X;I.)78+O5ALAGLFF2M=\5O#425=PG62[+K^(X@_L^M_N">H(%5&00^5XJJ<9G,!41 M@AY-2,*HST5D9%@[D6IN=OA>$94$])$4_^*;JNYQN1/9,+&JD['38Z_)1V1D MFFOU 6J&@KU&TO#?ZU0'LRNMU(AIE*!PF,W5)=ZN$KXZD6G:G+ N83Q)&^NT M<G$S-P$U '%E O9U-:T)J*'TB0FH\XY--MFUV/PI3\:#,PY=GN(#3Q!(EIX,&85=M*Q"'UD@BF:>H+@I,0$Z/T=;V]S8V: MU!%IOLK6CQP\\6)7>D/);7@$W0^RGM'B#+J1*6V7:T0*6CNN;D EZRC'QUJH M.#)=^ON:U';14OO8>-%[R3Q.[XZOFS5(,P1O]\+<9OS=^Z_ZD7)[M?LGL+7& M8_M>WG\=-CN,XM1.M+0*0=NW,EETV8G@W<"QTU]:IB#,5^KT8Q\Y7S:?3Q*1 M(*-"6ON1)Q?9F(V>;V9\H7AT'3K>@6VK&]BP7^OD>0B"G@/HP5W*U;];5EG=-Z50*AJ;=R3GW?KHOK%9E/D=%N=M-ZOI?3J M2BL)4^SQ6+);$DC#)Q04IE["I.&CD-#A0'M>;@%W5%^E=59Z3^$EH,0 >$ MZBR] T.GE%)=76DM@,1"+@@U&J +!]BL00V(PW#_I=&ZU9.P'&];!GZA+24_<2TK:]A)2W&G0N?SFY^W5N5/26G7&P'GG- M&+CKM1.^<]=K] M>/8B->['K7,=SN-#5 XCF1:Z^%LQ(K2PV"Y6&\*OX3/ZY M+MY*%I6T6[Q;/Y)\M8BC"&4A$3#VO$ ="J:0)NH&01JS),6$8R_6,=M[>YF; M>=U*!_ZHY=,\J>]'LI]SG.$SMB=!&QIM\M!2O8\G9 ,=CI!_V_-#?]N34(&6 M>NVLUWO8LL)=]H.S[5*VK'M=-VNY^>-_+Y]?"3%B]HJY:WHAG7G=&'7,TK&@')DSFA% M5B#NA.YD"JP$!TXS:=BBY:H8G&ZWTY9\,P3CI+";Z?M7926_?7C8O"^J+>'M MX\8B*?EA W.S,;HYN*6D!7]0V:NDO.L57V_+HV*+CRH1FU4*\R,8A\,7G" X MMF/,(7BVZ45_:[G1B0[ MR<&&_ 122,.X"@/0]2R4<: C)$?RBV4D%NH MV$MA&$22IM(8T= WZ&=N/MZCO#=@V0IZ3=Z;/:J:IX778S6V^7*<^>;3 M($Y7IKXY06&4W#?[7EXQ^=*J>4>EX>IY[Q')Q+A[(*O]WM=#+M;]<+W-&FI/C.SGZ[=VVKZ*) MO"7+*LJJ"IW9%UO;>^B0W%>$@4 P"!,!41!R2*F@4%"<,DY#CI+4S#'J6L3Y M.5#5SI"LZAKHZA)*E=>AJYJA:>!Z3#5MBE<<=Y\5NQWCX9 M)YK7;&YNOJ.+>,-H;+R4.OV M,9F_VE#IKO?:]%6;%!_-E5N5.61_$G%;%/*#J=CLS0/>Y!A100=$F^JS_!G;(M.<+*K(? MU." #CJ@ P_8X3-\*C'/S\XDC\WKBVOR^4V5/.7[_]ZJ.FLK=B)SN=]'"C[$,:&=PMHYPK1R M#IY95\J1/("V\+D*Z33M?MK03DMP3D(\;=NQ([R_UW=8FAL2(<,!"KP8JN M M=44\A3C!,11I$O. $LX];!+3==#ZW+:/C7"&5TS. Z?'/]9PC$PNVD@84\99 MC1WQP6';DT[VLVH=S^3S#]E-TZ:6Q_<\:9<(S7@M;AU<8YUE92$5"*;\9?E^.CQV8B8 M3\-OK0+@EU8%E10!M&/0B%\-09T7YK9_"(RI[CH$'5&?I1"34N%U0!U3XY6M MV5'E;99M'[<5#U]*O-)DUXP2@D18Y2+T&422$R&)Y::,L,1'GOPM%YF9BTF[ M[_GYECJB@W/)F3X95SC1'P@]&AP%W)&9[_;KVX\7K65W%WC>%X"=7_HUOND[V^N]DU[I=7B/][4N[P[?V'5Z3?<; M?^:K+?_&E6NI/BMK#\2^TF7^4(V1LEHRR0GW^:.Z<">^RY^6HL[<5I7\?2?' M]_9G7BZR,$Q3XB.(O2K="/-@BE@*49V"-S:=Q M\'=D8SD6;E)#;!Q@CZVUD7JQK))!\J+*:/U9;GRW115=\:'@_[U5F3Z;LZT M1S@C6%6EBD.(,D_ U(L0C.1\HMS#8> ;'2IH]#DWRN]("G:B6AXVD-MI1]B&EL,!V!-?9V\P).CBMFZ:!AM^WL M:WBZ3:B&>@=;4IWG;:OMU.5Z_Y%O?K0I-'=Y'KY(5>JL=8LDYFE])P:GTK;P M(@8I"P-(*N3$"LB/3RJZ,]Y]29-#*W$GV<@/V5).;VQ53-YJ>%-W>R_8:9S>GTJ*FPCDP+E3?E M4_ZLCFCESW,5TU;%;8YPXF" C"O^T.AQ6EK1A^"$;0Q>M4QJ__BT7+]P_IT7 MS[FZ G'NEOH]^?F&K[C(-Q^D=MW?--&_"Q0)/T:Q@#1 B)!,IA2SX,!%21B M82AHD!@EO'KC+ATUIP4/!L_;#*_ZV[%W$\;GKT-OUHC,R 9Q.. M[/<[-^U]AILJT7ZCEL.<^D[Q=)5OWXU0T^;B=PKD29Y^MZU;$C0I5"1,V995 MWUVD#!B*".(9#'#@0<0DVZ8!22&/?!(E.&$L\8TH]T)'IL&*-<0QU"PA5#7>IF6LX94/:$ M18:>M\S&PY=+5>%HQ3Z3XE],;A!:VP3J!:R FHG9FOW.,R+ M,XB%JPPXESN:-M?-H,(G66V&W[ --%%+8Y5QJ@I;6Y" ^7%& QB$*@4&\CC$ M0<1@B%F2L "'*6*F$26'7_P2^Y]UX MGE<;$)(WMIL?ZT+MQ_X3Q-$-CG:_R M#5 ?YTWUI&PB"2.M)M[QK&G!KUH(3.-9C@9;CZNN&<"1&:H9N>_UR%72W8"/ M%80NXU'.Z^\L\.2H^8DC3,XK=QI*>;8NJ M9$H3FYG%,<,LQC!&:2JW+AF6/.0)&! 6I"0EGA\81>K3>=SLV8:$<%3D6?RORH= ME'+,5GL>\$N^ FR]7)*BW/_T5Y-" (8CTT])8^,]MM-&20XZHH-:=E +?P/: ML5#R[YV^(\)M4B-A/-BGJF?@&'[#>@-V^/77!C!L<\(\_G;:'N;>!H0@0F#1 2^W!L'7*XL*8)^@%F(A)\(GYOLC9U(-;Z3SYZ(V\@$TU<--6\!SIO-.-3'^=6IU#)ZEN&[=.35ELN>QN+7A9RL[( M\@/GY=OFMBAEW LXIC **)7L30@D(6(0D2S,@D30) M-V+N_N[G1J"XRRS9U]G4Z20U M%#^30U+GK2DK<7[9*D?J5U$7A_I-/K_A[*/0J@;U9;WYS#>+"",1)[Z - X3 M=2%(I2X2&40\]2C!41:DT?@5.*]79&XD6&NDC)?FU/>A5@KD JS6\+?;V[LV M?DW*L?X3I-[_6Y$E7:__505KU3_&\L>RD4U=W4[Y4>KVC)PGK_A]Z3AB_AI? MS=A.G>NK)#;?W%?1UDML( $?A79Y1""! 1*9O\CG-45QSFD_L[].4) MBG&Z&^-QBG ZD.\O4'S3W2BX*;KI4!Z+3'!*@O+M3+21C\T$EUQ@NI7,*N_(@';0]KG, MDU6?O#LW?E')ESM"&N6F/@5&8W=Q)29CFP^'<+A/07U1>=O4TZ<-3IER^J(Z M1ZFF+S]G&8JD2IU]6:]4]ABBCE_KS"-MV'8D:!CS.(.<8PP10SZD2)U2LRA# M+$"(3Q?/%^M\-( I%R$,?"ZXGP:$8:TT3Q?:G]OJ7XL(*AG;R@LO>D1Q M"<%^9G" R\A48 :)]N0?4+QG]9=OUA-=_F$_OR^U-\F$'E"FG<%#CUEE=[[C MZR]\??O\4/F]#$N27GI_;O-2I2J^>_\5?)'_MB'WM9_OJA*E%^$;MMM=(#?R MS'4#FFF*YUY4;!,\GV]TRO3.O6H=)7?N?_8* [^M]I#SQ<_ XO=$I5);/1/&H#8 M6>1GM'9I@W>;G][J/J/<63O[W'.6Z;O:P/3JG&\A9RF+@X1 )CB1^W#!8(K" M $J%4!*G48;-DOD=-C^WR;N3KCEV-G3,'V&G-W7M$1EYXNJ#89Y\ZZS.KA)N M'38^;9*MLXJ=)-8Z_Y3Y5K@YVON0EQE9_A4AP%J9I$FM=UNOK9&Z3MY$3U((")2F0HE;UG/7WQA;S=Y86K-TC^ M(DY($*9R[I,LC2%"?@PQCB-(DDS0@*,DI$86MV:_:F>[=4N8G)D2>KU.;&,807%J?)B] M[H2L#C(GJ M3,]:*^K)(TA!9YRE MX%R'K[D*] PL #TO6F9WIF4/]2_JBC0,UE620[:'-)JP[M/N[B_WR#\-",A MC6 4(;D8A!Q!S%2"Q! )[)&4D\"HGIB%#'-C)27^#5#_!1TM.GG1JXL1WRU3 MM-H,DAYQC0S]V#ODLZC?7(8=_.'T;HH#%%VEB+:08-HLTO80G22:OJ(I\^-P M=? F/T'=T^_F\;GQ4W5F*W^O?X[=ZMW/(Y8JC\P+@]H:'4 ?Z6=UWMRV,=GQ M\I'0W=/DXU_9UH60,JRJY*GKU;>\_)R@]0 M^U:A=C>,FD6IAF$XG)5MZ.EJXA(.PTJ?EG/0>,>,.LIBL[@M/VC5^V^22U?[$QH^;?]9#[?YB2SMU>==KKV/V1;4YP+7A2< M5=Z'VLVP]SDOY+Q$&?43F%"/-V5Z8X1@%!-,>8JR.#*L#-??H^0;"HT->[=O; NJXCK@.*L@'AO9Q/7#M=1 M_+1LN-9;[BCFZ[Z:V<*+O"A*4I5. J40>7$**2-"%9F+/.0E"8[0]1S3Z?&O M0S+=HF].6::+OSW-6&+Z2CS3D79 M/4CC_O&N.451E>KR39-Y*U]+BR9C)/4\#R*5=1E%"8,I%C'T_2!(!,,>H5I9 M3'4[G-NNI)6S.L>N!54N"RFI&:L, JU'*R[A&YE7E*CP7LH*=ACNI;UI3E3= M,8LN,HZH9;"[2;E%5_ECU/ZL*(^I0A J/ 0Q#%J0_3!'DP#FG$1VUN0&- M/O4Y;'VEJ-:IDRQPE%R!KH%V1*-7BS,IS;H"[YB&G;5K1]-?^$8=&M\5Z^>< M2LX^KKVW&@]MLDS_7U_B2Q(\SC!@4F(4092J^)9*L'(69\).4<)Y2 MD]2&^ET;4>\$>0^EY"!3X15/C>R 2A[>Y>\@.\'-^-9@+/28=1R$1^90!6X5 MNW+7 ?<7)3G(5[^"G?#@=AAF8XHT1\P1&1IT/"GMF0-R3' 6+9B'H[PO"G7Y M^QO/5'7DE_KRHF9LRKEWYV;L21G7*[[>ELN7.E'\<8+Y5GK]2):SD/7SB@NT M1F8/;:#A2D-!>01#[,X"B,6&)ZR]71"-M&84 MT@.N'GVX 6QDZCA$JA7382R./AJ..*.GHTGY8ECA8Z[0>,.R_,O]X\/_7O^I MBD&\795,_MVJ\LO%5N:V=ZBD5=5)Y&;K!DB9ZPHEJLJKW) 5/;$DIO -[Q[< M(3*LN$ M+!?4BT5$_ P&$D ?G]BDT+<=OA) !S=5CG%%H]B^QZL$;FX.\JSD71L#+&WO_<2*#J M(LY*;-#*#1K!708J]0'C+#[I;"<3AR7U*7H:C=3[])6Y^CJ%Y>_695[5$FRK MP% 2^Y21&(9>&$$48@2)_!&,8\+],!!IDAK=K-;I=&Y6W#Z5G>2*G=2@%=NZ M$H_6 .@1BFM8QZ>7:Q&USQJH 9'K7()]7;Y.AD$-$"[F'=1Y]XJ\/ZK8J)S5 MZC+UYD424((QIAPFOLKS0PF')%8)@6/!TBR.0TP3DZ/OTR[F=L1=9Z\N.W+^ MS_^1!G[RGX!7\EIDE#F$U$N)YRLFE^:?@"AA/DQ)DL H3H+ BRAFU#.WL:\# M]J]I7Y\!EX1^%(51!KV0RPT,]3*(_<2#*0])&# _#H+$U+9V >U?Q:X^ ZGN M$G@-2",O>+5 -^!VLRERNJVS@&S6X(ZX/12Y#(++1$:''4R?N.BL@F<3%9U_ MTC)>:[WAY3>>\?Q9#=\7OEF(&,=)2C!,PD N3D'D0_EJ"K,@\V@8QF$2AB;6 M\6D7<[.%*PE!L1/QYN#V#Q%2!D"6R_6?%16(=0&R@K-\ Y;KTC0FZQ1O/2:X M#L6QSSEJTTF"]:T#8@W<[0%P;VO@/O4!9QYE=1$;5]%4IQU,&S5U4<&3Z*C+ M3]HF('E\Y$5E%A.Y]+4'H&$D>!H2*#!"$"&$(>72/LA8RC/L180DS"SSR)E> MYD83>R'!DY+2-,G(.2#U)O_5\(P\_SO(5 *.<,+9"X&S5"+G^I@XATB/FJ?) M0_H>MMRM9C\XVRYYM1_.-_Q3_JS"*^5B^)!+0JGCQNO@/IQX!%%I(P0ACU4U MZTQN"&(*.:)A1H.,>S0VW60;O;9"F^?2;Y4K7Y8 M%]^)["?+MH_;I4II_5LAS=+?5P6OK\S\1O*5,E3?<&FY\GOR<^$S&J(P$] G M0091%$60",^':899S*+8X[[1P8$SR>9&B'M1*U/?-#K,W8CIT>&KC,/(;*ET MZN1DO0$[M: 4%BK%;D!'-5#I!CHCI[0#ORC]?KT!M%(12!U=7B!T#+NSFX2N MY)KX2J%C.$_O%KKNP([0/ZXRV73)W_'Z_Q]7[:W';_R9K[9\$3$2BBA(84A5 MK73?"V$:91[TDH!+ J>2J$.S -W!/DVF_C1QNKO;PT4MH1D'#X.LQZU.@1N9 M,UM9P2^MM+\"R8$[(+\- &G,@-K@.&*VX?XF92QM]8^92/_%Z[)-2*ZJ[="_ MD^6VNO"U3L*] M>]PN)40?SKHFG%/T1C?.&D:1XC9[UANP1_-V$$WK9 T:^#C.Q]#7XZND7-" MX%)6!9U7K_6[57FYWJ@R)-V+IK:=238W]NKZDRJQ(:WJ]!S66.]HIS(' M=!]L-*PO!E_KV;MVV$T=?Q,.YH1^P7IXWNB.XQN+<;S"=^@(<^>NQ6OE>B7/ MHR,X+SLF775@7?NABC_\1[[Y\79;;M:/^ZKF+XV=JZ[*/ZRJG,64!7[,&9?V MJ$KFZD]8J(]^!MP%_.T.\$][P!OQP;=AP&TJ3EC@YJX&A4GG4U>E ML #F3)T*FU8L;]Y?/@_Z3/ZY+MXN25FJXCKOUH\D7RT\A!(2TP1B$7.(6( E M\V$* Y:$@D5^3'TCB]>P_[E17__9Z VH= "5$E7])O!'K8>AZ6HZ2GK\-R+V M(Q.@>]C-TP#8@>>,!812>EWQKWU?+/MUYA7KLU%IFZG3U@]24&6VY:MM MOGIH\B.N5\TI;/W/&_Y8?I'B*8-OO90]/4BBX_)3 MW"Q0FA)"_ "2R/?4S0!5+B1+(/'"6%V[$A$SRM@ZHJQ&E#7!_;=:A3:*(J__ MME$:&9_*CC:\B9_21,01S,( 0:1J3Q&!$AAQCF,F$L(SHPSI"5:DO\+P M:A_7SV'0QC_H5R-4!SE@KRK8Z]J.:/-\I>X-.%0/M/HY#0L8>Q#65:L6_L]R0Z\.NQN6-0 M1V;EJLQ/[3^Y/_">.-^E&.#B+C_/8(]3)^O1A>!,YA[M5]T5+OQ8EEO.%A[Q ML\C#/F1(A79&-((D95QN0C!A-$L]'ACF7KW=U6*FP UV4: M%R".3#"7ZA/6@HY;FO 0C!&K$C8=O7I!PD.%=6H1'KUA>7A$\D)%9TFSZ6F[ M*3_Q9[X,FMNV69K&42!B&#+%'9(J8)JQ$'I^)C!)11P$F=%!T>6^YF:K5+*! MP/"(IP=+S>,<-PB-?70CI:S"+_D-J 6] 0U@8R1K'L;$U8E,3T_3GKX,JWQR MTJ+QBAE#,)XOWLM-UN;E_2,O'N1VZ;=B_>?FAXKM(:N714B9QXG/81HF""*? M"4B1R""-,^0G228XUF*'@7[FQ@RUJ*"5%=3"@D9:/<(8@K:?+!P"-C)16&*E M31&:2/3D;)8MU,P@_[ GA*%V)R$#3>5:(M!]W,Y,V,6LJ&-:V?8=+\2Z>%21 MW%_I,G^H'##O?S[Q;,-9G;?[J_@N?UH*58]MO:JC;GDHV2$2">0T2B"B.((X MD%N24& ?$\Q02@(3B\*-6'.CF$8K%0'6Z 4ZBH&]9C>@U:W)E5[%]';4LXNR M=C38>B;/]$,X,NE-.'K&MI1;L!V978Z$FM1"!3)6 MO>SK3S#*PACQ$$; .B@376=._[/- MG&Y;J-1X8/2(>$RP1Z;<[I66DP3U._%'K>YLBY[SRRF:W;_2'10S<"Y?-3%L MQXP!,[+\N6CJI+W_F?&R5'6@:2DUWLC]M>1F^2V\W&[:*._/9+55Q+LM>+'P M Q]QQ!*8(94/E)$(ICXB$"5!%GMIPEFDR8+7B#$_)E3[D/5*W1O+6]'!#[ZL MZ@N7VZ>G92XM:STBO&I\,LX%"], )C%+Y:CX CKU4MUK4*U2%XJP38 M:0%N-V!W0ZBKR 2CP-;95HUX962^^F@<2#/^J/#]J*S;4=GS%=F K!V5QXY" M?[O>CG"!9VU+J)8J \'#H5<9"5>U/8FAX$+[UEAPTI:K3$NG&"**:!BH(LHQALC+,"1^DD'BD1"A@'I^D%Z;=ZE7@OF9"1=R"G6U^%^@ MU@/\H30!C2J&/B[3H=+;0XT(_\C+T@BX.TCOI(7>:,F>^GM_Y=1/6M ,)X+2 M:\:\U*NZU"7IEV?;3?XL-VPBSV0/'U;&U5X'&YJ;,5T)#'82@U;D&SECUIO5 M>J.9]$D/Q7Y><@[@R"PTC-T(A5^U ;*J_3K<^F3E7[45[5: U7]IC'3#TH!; M;E5=D<:@:R.VFYKU"U5G2? HA&F:"(AP)%15, 2S-*!)B+Q I,S,@KI*GOG9 M4Y])\2]>UQHJ=UJY3"\\-$*$\#1@@D/",P)1E/D0AQ&"(J.8I#[S>&@41#;9 M^$R2>V 7237ED.C9LI,!/?*:HI79>:<.:#T!K4(WH%%IJD3.FLA.DKQY2)89 M)6S6A,TL2;-NHZ\45/,I7_'J6M,"D902R:0P]'"@6%9Y$@B"?APE(F-9F(EI M VMVHLV-\S,CRKBJA^D'^K%PDH2\"'C"((QI#I.I'$5\R M/L;"QS[U19AJI;'I[65NE-T*"FI)02TJJ&35#[B^#&H_A3J#:FP[UP8EHU#K M012L JTOMSI9F/6@8MT@Z^&'[:S!3[PL.6]NLZ\>/BG_["ZNI4F66K[;\B_\ MY^;^3[Y\YI_7J\V/7!T\N+<^$GB!9[+@RW+ M.[FF+-?EMI SJA)>_ZCH%*?AHZ&K(!J9:=O?8CS[C[@M0> M\'W"?G6_F^7/.=O*#44_,$8S[CP&5M/MJ*G)YMIY%;H3[<(3EK=QSM966##" M$,4I@H&(/(AB=?]:$ $)P['<$T0\3'W#.S=G.YK?P685N-)4ELDZDAK>I3D/ MJYX]?SU4(\_HLU5;NK-;I4,CY8_*/;HJ'5KI_="XNO1ROI-IK[;T*GIR@:7_ MZ:N.D516O/<_Y0JY(LNVYD#YYN4WOGXHR-.//+M5(5]'-J+'$H1\0F#&J*^2 M.!!(?:0N[HDPB=($!SBU.#>RD65N=D!;?J-*=\D;9797)*JJ2 \[?0!1"ED= M EF-F]&IS]BC,X]SF&L@N M'-1;%A X!D^/RJZ"9&2"ZJ(Q0@*LBZH[JPQPW/[$]0 NJ'=:!>#2 M@^:.B_VVMDH/J^FX.'QK;I-R+]U_Z+LOCH 8=E_88S#R+.QX*ESEO[VLKY6K MXJBIR5P5YU7HNBHN/&$>N? VW[RH%??MFO&%EQ$1"A1#N9- $*5!"#$-.8Q\ M/Z4TS-),:!4:.VYX;A-/R5;9G4!)IQ^1< !6_\R[!H*Q5S\][8TB#AF3 M%BE-/2@2]8.$)3[7RG+0W\W<)F*3;[ 1]0;4P@(IK>',[$%V>)ZZP6OD66L+ ME45NQCXDKDC->+;9B3,S]JEVFIBQ]VF[O>A[4J@HQ?*.%Y5O<>\AHB+@&!,$ MLU!PE7V&0IRF/LP2X;/$(YBGQ.QDX&)?\SL<^,(W;1$:*2UH-VA*:K/MZF5\ M];:M3C ;FPH:&2NH*BD=7[+4!L/1AO9R/Y-N; ?5/=[@#K]P39&[[QNRJ8Y] M/JF!RM>KIM!LF@68(\P@"DD $9&F>HHB"GV21"Q-PR3VC)Q7O;W-S6)H2&(G M+6C%M:SRVP^U'F1+TB(XP!&U)=[#SN$-A@.01J8&"WRNN(EP@H"#>PC[-E_I%L*)4I?O()P^:C:YRV*S^,X? M5(/[7N8VP;L2&IH" M_6CVSVYG&(T\O\W@T9[:6NKWK?*R@YWL,6B6W/ MQR!UPL+>O.P?::+&;E4VJ+KJ5/7'>U(\\,UM]B/GS]4[G3#MS^1G_KA]E(W3 M?%6UL-ZJWZL*WHLT"F-,(@\R&A&(:$"A(A$8L!2'D8A#+/2SK[ZF)G,CK$96 M%0I9"0N>*FG!4RVN0=[05_T^^NGQU>6;$05W8SN[0'0#/,&;%W V!E1AL"OG M5_T-U)" #B8'=R_:[ZN%!=2XW("[O]8'9I#=]J_RH4V4(O>O\L&9I=R=PR#W MYNU]50&G2_X[AW$XR" \"X',]W&?\Y5JMHFM2T,O3OV0PQ#3!*(,91!C+X$B M)#1)O2!&/M7=NQVT/#OSIQ9.?X=VB-/PKLQ:^Y'-@$8NAV&'%[6]8N-UV-YD MFZVS:G0W6.01!&&/$A$$(8,,X^: MEN&^W-W\#F1;::O,^KP5]0:LN*;EJ(5R%J2(4ZQ0Q@(B$4:08.3)_P04!1YG MDOP6F_6&+*?%>-_E7QUAO1,L5[B-S)VMF-*F5()6R+W?(_>E!SF+&N?#D#BK M5/JUTKO&.>:=]4/WQK;D;/^Y_27,Q+#BKI M]&.^C[#HG]/7P3#R#*YWDIHX&(5]GU?9*NS[J*G)PK[/J] -^[[PA)W]\T': M4AO^*7^NTJ3*4P1=]SF\2UZ+"2'>R%![7TZG)C)3^H%!BZV7#UP.BM M[R/!/3)9.$7:V "PP,R1/6#2\Z3F@04DQ]:"31.6MSY)^6,1$H%21@7TTYA! M25(IQ%'@08Y)R&.5< MWM0([#AJM\+M-YD M=07?V">A]LB9Y[71@,15=IN^KJ;-<:.A]$FF&YUW["BD7MYWWS+G01!&00!) ME%5![ )2G*0PI%G&6*P**AH643SL8'[.U-OOW]_??S>C@R/0] C 'HBQ]_VU MR3[&##^OLZ,Y?=3XI+/XO&+'\_;"4Y8.M_O'A\^KIURE-37.WWJQ@;FMW$TX M0UU8XO.7NX^=-*Z&3KFS>&GZYZZ%:A)7W7F41BCJ-PB)O2OO;*O3>O7Z%#MQ M\/4^;+D$M^60Y.BI8(:VLE@0DC3E"8%(11D@)K?&F!,,A< MMP@=ORO6;)MMOO'-MEA]XR4OGGJX.0B\3CG.$Q@1K$G:3--((E8 (,P%A[UHA1A9!*RI-^U M$9%.$,"DQ@:G*&2#&;L O'89;#:#BKFWVQHXF+8@\I M?%KQ>O -RP PDA=5+?NZP<^<*-\>^RIMJTR:59*+WI R+SO%![@7)RP(8,83 M!!&5C(&QEZD;P6F&&64ITMHRV@HP-S)1\H-GI MJ=QUN#FL=6#0^>2%$,R!.5"Q@&&8>EDB#3YU"]*/*/0\CZ91R'T4:QT/VG4_-W.O40#P1H-J M,JZ5#B"K)3;:45J.B=9)PXA(CW[^4(/<"@^D]* 2?[;UAB.'#J8=KJE&22E7B2,PL+/=S.WY>$VDW-SNR0;N1]]QT6>Y887 MN2^@J6?=7H_1R,3>"@AVZ[U/6\2*LG_> MK[^L5W=\_86O5;Z=#ROS>-&^1F8WN=D_MV5EI8/-6I7AA7?OOX(O\M^#U%H? MUNO-:KTQ"2/MA;)_[CM%<>3I;PC@&!&F.DC919GVMCQ=I*F.@@?1IEHOV$>< M\BH#U^.ZV.3_KH;WJU!;VO6VWNM*:^4QWSZ6'U?/O/XTR@6/$5*7RJ"'(J9R MDX?2=/#DCC/V<9H&)$0T6ZSX@UIE[\WB4LVET9H^N)X^)S*-&Q% 6H74'2KR M3/*E\G9#L2Y@298C;*B*,P78!LC?HO715^58.PTZ)R"[1Z MW(".)FZC:.V1=!AD:R'$Y#&X]D"="]&]HC4[)OV4$YHOJ[DLVZ_*J?Y8+^7[ MI4JULWE98(_%GL?'E=QL2EX'>1T7M3\!: X%JOQ]FN6<];'7 MHQBG>([,,5U9VR"S7QIQ?QWEGK V.JXB6 ?[FS9P55?]DWA5[1?MF*?CH99= M-0=I"^'Y82#U MJ.-J<$:FB\.SI[V([NBA%P%'E'"^CTEIH%?-XZG?_["YV_B.\^*W8KU]JBSV M*N]Z;<-\V\@=U4;7<3S0S-Q2Y[P _(S^Q)C)6GN*AMB?S%6LJV?46Z[[BIC"VBNW,%B@.XC#V/!CR#$-$ M20130@E,2!*CB*$P2XPNJISM96Z$40D%?LE7@*V72U*4JB@4*)6\OUY7#;L& M%9,LR,(HA3$5,41I*$&E(H$D(8BS6$0T0]=5&C>&=1K;J@96;M#:[9O"-:MK MC5?PC@BZGAUV-9 C<_%IZ?&;*MP^&Z_H^ $$(Q4UE'VR^X)(,H90@&L:K[ETJV()2&,.8HB$*!_0 ; MA?#T]C8W J[$@VL!MR4'>S?%4HENNBGK15ES<^8*N[$W:3ND*D%OP Y'*6R] M>7.X7],!Q=6^K;>O:?=O.FJ?[..T7K*TVQZ?ENL7SK_SXCG/^/DJ7'+WJ$[# M.*OR6Y65 =G]_=MUN?FRWOP7WWSCV?IAE?^;UR[NKT_JU^7")UF4$$Q@+)"T M U/N29.%"2@D#84L\KV8&-T\G$3JN=':[ZMB)V=]/ 9I5?4OZT;@[!S9U1.2 M_BI=#$V@23X*39-J;D,],@N?+>>XKX)7><]J7=LJC[4.-T I*7^[ 2]<);!I M];QQMKM^E2%Q93).(O.T)NB4PW!BTD[:N74,F_KPY<)YMU[FZD;6[D0NCE'" M4Y9 #\<11$(N3<1#"#*/(DKC(!5!:)@X\4)7<*F+17B\6:MS8XE:>K 3'^SE!WL%;BP"Y@W1'CX)&0_HL9UQAAB/$%-O MAYW5T8EA5Y.=I-A!T#U8L6S!@JB*0EE/MRNR?#G(':-+21?>GQWY%,6ZNN5X M5/>^D=N :RX!IL$J#K :FS_Z81J#+@9 L2.&2XU.1P$#:AU,]J%G+8/$>5ER M?NCH:T-&7QHW0/F-/Y)\)1O]*C[D94:6_\5)L2 8QZ(J<)VD1&YE!($XSC!, M T0CDN+8\P.3K8R]*'/CD9V0ZGZ'^N8,(\?MQT1O]S,-TB.S4*V$\D(=G1[L M-+E1-P8I!W!C9 M-N=5M[)HCIJ:S(XYKT+7>KGPA-E<8SQ?O%]MY$R^94P.?2Z M;"I);=_>VXS][1$VMOUJLPE0)S9%9+K(#6\V%X/TM@''SWX M@#^4L",4CSM%XNK*<9TF7Z5LW*E*EVK&G7G2LNQS]H.S[9+7U6!58DKY/^6H M?"9+97M7R947D1"(>@F%<>+'$)$HA2F. XB\-/+]# 4,^4;UGW5ZG1L+M$+O MJAE7.5K5'SJ2-^FH36M":XV"GK/ .;8CDX<;6,T+1IO Y*IRM%:?TY:0-H'A MI):TT[A!LO-VWZ6Q4SV"GM M+EH%P5.CX36QTU<,L1Y!OL; C^.V4XWT"H'_MBK!]ZOMH^\ MWOP[Y%S7R(\2]GV%6*\8(7X]F/W!Y [:MS10MT]/RZHGLGQ#EJI@ZO>JG7IK%9C?>3+HW(82I+L)5$H-* M9/!.I0==&H9X&^&O::&.A.G8AFI';'"$[%[RD8HSV&#FRFHUZ7I:X]4"E!,; MUJ8-.RJ[*]0=L\W+G>QE(ZUE92D_J9Z_\,V;EWO9Z"XJ-A0^Q5DJ(/%\'Z+8 M]R )/%+59^"QR$@8&E[=U>]\?C3V??OX2(H79;<\-6I4NT3>ZE!E8S+C-8/! MT&.U<0 >F=-:H6] )?8N#5R#JA3]1I4A5=*/$LIL#IHC4C/H>%)*,P?DF- L M6C _UGO7U*>X+\BJ-OJ^\:=UL5GXG*3RGP0&?A9!1.,,IK%/81QX6&Z^*8]] MH7NN=ZF3N>V86SG!7E!02ZI_K'<1T.%S/1L-06!UKG>QT8>'%PI2;GL]5&54# _UCM$2?]4 MSQJ@*0_U#K 9Y4CO+ Q7G>@=MCCY@=Y9AT&F]^KE:\Z#GE'-EJ9 MZ"Z^/#=VZX@'E'RF4L?K_W]<-=? RSOR4D70L! SK!*=24,'0T34\7^: M,AABGF 1$1H'W,RM.MCG_+RIK8#@J9;0S' 9!EG//G$*W,B$T,H*?FFE_17D M*[ #\FX 2&-K0QL<1T;%<'^3V@[:ZA^;"/HOVC',VRJ':&6(5(ELRKW1L4AH MAL(X""")*84H\B*8^H)"+_%8F*(TI3PTXY:>WN;'*F^;]*I*VILZGVK9W2^I MC*OU3PW3K/9AKDJ_JIRP MY:=\Q3]N^&.Y2&)&D1>'4'Y@ 40XBB%.? 1%YE./Q6GF":.P1J?2S6VOHY2K M\JCPFZ;(1'7BV2V$U:H(JB.*1JOJJ:Z:53+D$ORA- 65JH81WVX_ CT>?+6A M'9DY7V54C6EW%/0=$;5;V2:E]E%@/5X,QNG$,EGAKL!R>;]6Z1!76;[D7_BF M+MKT:5W*GZM _+MB_9PSSMZ\_%YR]G&U"^B\S3;Y820% N&S8S7,<25&^1;T%I/7'M^Q3S\/!W:GH J)VM6Q4TK^JGY=75>ZZXSM M+TI7^0'\VDEWLM=WG*R0(PZ(JWR28X@X;2;*$4$^R6$Y9E\6T2#+9>,8[_C% MY>+W2'FA'132T\;<]@I25G#F), @JUPO8AH!(H[ &ILI+^ $_JA%=14GHH&& M7;A(7\/318UHJ'<0/*+SO-4DE[0C:67]^&0\M8_>G..$/EK6N_D0C>;U,4A: ML_D*?":8PSW0N)_*%Z"PG<#'S4TY;2^HH NOC>G;[ ; M;WAPH5^.I*TUX!\$;/^39]M-_BQ)1.09+YK-6!S[(DH8A=1+,HB\#$,@G$",F MYS>//4B$W$2@D!$L))(,4YWYK=OAW&9[)3)4,H.]T& OM=[DUX:[GPK& '%D M8AC";Y@G[(!DS17=.LGZE( >]#S##U.;=TW!J5E8O551K(=#KZ)9[78F(5U3 MK5H*-G[/.F]-QCDK/TB!NU4W)?L765YRMF L0GY 8YCAA$,4IR$D"?<@#U*2 MIED8><@\74U_G_.+!6E%!FI@5:WE73PTR,MRJS(+E:!0VUO.E(>=-Y51 >4K M+O(->)+-&6;G&AZ:?O8>!>Z1Z?L0Y_J*:",NV,GK-$6-'C3N,M,,]#=U0AH] M]<_DH=%\T8Z5/F]7>98_D>67]6:WQ,8!$B'W?1C&ZA)[C.0F,/8C*+PHB0*& MPS#.3**ASW4R-W-P)R,H#4W 7BCUB.-:@$;FBCTVE7P.=X Z #ABA+-=3$H" M?4H>S_O>9VT-$/Y$\$-*4AA#Y80)I(+F71A'F&0])2OABHTJ[OPK^^YY'/(%2?8"GPS'H#,%8 MT.L:>4X!'=W,JU%\WT&Q$KBYX['+;.W2U-,&R)FQ-]SCQ.:>-@2G!I_^J^9' M>!_K@C+[H+=/!K$OEU^>T0??"'DAF/*3ZR"884RLCJ9ZFIWL:&I8M>[1E,;3 M5R3C^BBW_IR]VZI[0'>\R->LODY:_?<-D?N@[N'C(I2K)1%>"H,XIA QE$&2 M)@1F(HRXH&G"$F*;KL\'29H,M0@NDS<]E!=#8EEV53EEZ?]7/U#7U$&O5&KU"AKEQ:JN"2F/3*@$:+4"K!FCT '\H34"CBN%%=YL! MTW0]C3L,8WNFQA@!<^^5/8:NG%L6$DSK^[*'Z,0U=D53MJ67O_&'7-W]6VV^ MR*]Q06F, ^8SB)67' 4D4&XR#J.(Q8QS''@B,*N[?-C!W(BN*2F\%Q(H*4W+ M+1^!V,]/+J 9F7P,4;$HL7Q>]2OJ*Q\U.'%QY?/JG%96OO"+Y?>'UND_VP5G@EJT4) M]2.(AN>U W1&GM1G@!EA"@_@<%T)]:,VIZ^A?EZILT74+SQZ1>;ANH9P M3AFXV10YW58Q>??KO3^D\8EU'?P+'L<11B*!D8C4Z:FJ_49$#!.>QCCT>9 F MV,1)<;U(2^F'9_1CZYVRH V MCVF3P+2CCPIZ?-<.W7XT![S%#J*&W6/N,N_R=0)-GYC9"8!G,S>[:=G"\FJ3 M,QA<".V^,S>FW*?R.,[D<6-\(_0 &PT[RQ*6L8VKBX@XO>YY3GL[DZK;T'1V MU!GQ#XRG<[^W/!L_>SA46V=R3F<_^/V?ZR8255W>C,*4PQ0%6*4X1JIJ0P0C MC'DH*!,^C8W.Q/7[GMO,KL_7@)3/\ #; &[-@^MQ0)SBP+KO9+J172$\0K"P M!6BN3J4->I[V--HK&'N3&0$E!9[05_YJNM8?&84_STR.8J5$:FE!:02KH1 M...B[LZ*-!RW/W%IA@OJG19DN/3@"-%Y[YN[>?7%I3]7V%1[T@ M2Q,/>E&6080P@Y1$!*;83R,>*TB[4W)5A6@=)DH\&X8S"F"[WJD MF$\ WC!41D%X&LV91Y:TM<;KCMZO6%7XT0L\ROU([LNR)%2FD-RF$<(@]E*> M\#A 7JI%C!=[F!OE[:K:-[LR*:9!!>/S9YVVYC:##QV!C?! M20^>R[]U:CWH^TNU(!WVH[I&<_1-D":0(QQIFT!EY8S5ZF R)ZV)NEWGK=%[ MMH6R;]GZR:Y*=O?-N=%$*YM5?>P#2(8G_G5HC#S-SX69Z8%C41;[' 97U,0^ M:&[B@MCG5#FMAGWV*?.9>,=Y\5NQWCY5>X*B_+ R7LM[FIC;W%2B@DI6T A[ M SZLUYO5VF2J]F$V/&<=P37RY.U#:H1E60,4J]G[\UGG,__P__&61AA1AFH4P#0-U_I3YD$8DAK'*O^3[U/=3K6B8BSW,S<)K+JLU M4H)*3"#E-+W$=PSDL)OU:GA&ICMC9"PN\EW0_HJ;?,89;YA(6:MCDV^ MZFDRV54G5I!69\F9<9T^0]@U+2;G4(Y]/CP4[M:([-#&,8+(E06CU^FT]HD1 M$"?6A]G;YDZB+^O5M^V2^QZ-?'5_L7A<;=B')7G0=1%=;&!NYH,4%"I)@1(5 M^@>^2W6',U\IG/5=19>1&W84.0%M9,[0PPO\H<1VY"H:A,7*472YUP M3]4S%PI['[?ETF>Y#JZ+EP_Y*B]_LW40?I7\8V7O'CFY4*D49*$/($\ M5->5$C^":9A(/B"^AP7"062:B5RCU_EQ;"LK>%#"FI+#,,RZ1.$4NM%)HY'V M!NS@JP2^J4)HU@*T0KND$&V$G-')<(\34XLV!*F?6=I%(DL]B#V10@1XSZDJ2?-X%C@2(@,)WJ%+H>[FIO=T0A;WRH M3[5KPZ3P73^P_=SB%JZ1*:5%JA(4["4=3I]O_#7JE[=S!MY$A>WL032K;*>% M2V]-N_X6IJMFIZ7)01T[O3OWHQVAMK(<[P#6$=2QQ=9C$!Q M1 7]?4U*#EIJ'].%WDNV-TP_KEA5@\/H*7!Z]W.P-+&;$0VM+4'X-9;K-V!./*DOPH_\YQY6K"X2J#7W]FTV?2T%#]) MK:?WEAVM5%6@E5>KX#_XJLR?>1V:\VE=UN?D]^3GG;I(M5X=9ON^(Y5_*@X9 M"6*,H$]Y )&@,<0A0Y#Z/HY"[L>QVA7HEY6_4AXC8IJLY'Q=7C[K:J4JXJH( MM%^D"5;^NJN'NR$_S7CJZO$3OH]\%L$D%!Y$+*20)(G5VJX3]0IN(TD5=2I1O0*'52UJ+6 MR]T"Y@A@1ROVW%;EZE7% M4,YVT:Z\E/L"S*1Y3B!*N("(A!&D@>]!YF&/>2D.::0?%6;6]]S(M1)*A8[=>0=A(OCL]4S<'&^E!(S[81[SKW@6PP=H@\&$\S"<* M@G",O5ELA!UZO7$2ADU.%S-AI^M!_(1E$Y:Q%'*7MGDQ]!4^I^5K&3(_;S3UDFS,]^<+9=\J_B]IGD2_6A?U@7*B'_=YYM MB^KD_E.^XA\W_+%\XW8"]G#=@IP,4ZP*64@OPAY(>5.(;>A+-!D:/+$:#>V0N&4#ZNS;2Y@GP M;1!SE?;>J.]ID]W;P'*2XMZJ$4M_Y1,OB(IW^,1)R?_!\X7^",T52P$,84;BFDV^,=$H"C+&!0I8\H!F$ 2(PHC3RY+89#%*3:J23;O^SI<\DPM>$R/KH$K-Y3;G1F(# M15;4K\GJ!;3JM''$U]2NZ0&\G^+&Q'ID7K.$>9+*-L, .JIPT]/1*U:Z&5:_ MO^*-QOLN8R?W3C]E+JOF6>"OWWD*Z8.G*L\ MHY1Z082)@&D:J/UUB%6 1PPIC1GCF+. :!VMG+0\-]K8"0>4=/KYW@_AZB>" MJT 8>YC 5 0J=2J*( G]"#(_3L(T1#XC1C&MY[N9VW2LI 2/E9A *#G- M5NP+8.HMU-=#-/)DK=&I)025B,.I7XP7Y7X4'*W%%SJ9= GN5_1XY1UXVNE] M*'4W/A6,"Y2E,$A$+.<_#2"FG@;@+M0,LPOTW>,QSS?0 _$U MYOO,LA%88^;JWI/[= 4]'<8Y M9C#.PA"BA"4P17X":98R[(=$^*%O;3W13+IL3]*A*W1_.U^/P&D UH MI:YS4XS.[>=1&I?FC_J< ^.?AT&3_"^\/$+\F$J)L=ZN-M_(AM]Q^3VN-@N4 M!D$2BP"J'%6J\BJ#J2J]DF!"(B_S2(!\9_%C9P28FXEY$C^V#Q-CC?1 _IV# MK3I-WJP!XYNJ+@T'FQ_\.*@,+)N\8B_@EZ=:8=,KE:8#JL=Z8P[3R 0X'&C6 MR@^4 C>@46&B4+,>\*8(-3O7_7Q"S7K ,0HUZVO'\G[!V5)GG2PQ;U[VCS35 M[&[_)$5=(ZVL2FNSCRLI3+YFBP#%41;[',:$I!!AGL@M.N(P2GPO8U3X 35B M5:?2S8UROVR5OT3=&G.EV+/4(]=5&:&2V[19Q/(Q- MZ%1FHR_@;+%'I=]-_:L2U"H".:BUD@XO/XR!O:O+$4YEF_;RQ!BPGERN&*43 M%^%>U9U[=Y%>9YN;&Q4/1!_5^2H<1':=Q[:?:4>"=>SMN@&BDP1Q]0+F*'[K M?!^O&+K5JW1_U%;_JW;&9F72_E@OVY[%HF]:K?+5]%6PJAJ M[MS)S^N'I+$[^:V4"S^.&(_B%$9)$$A:X3$D 4J@"!.?15Z$1**5$U^SO[FQ MRMXQQ1N905G5@7IJI 9/2FR#=%,:F/<3S0A(CLPS#8A?!6C%;8IIM0*#._<@ M&N3I<@OF1+FYK@75+!F7/D2]";@TFIDNZ9:^3@>)M@Q>LS/UC@XZVO[>YK3 MB@_;(_1L_?BX;L<"K/>2[P[1509BJ1M@S="I=-%-'N(GR7-UH>7)QE//UA]Q ME$9>DD\.S/>&3G-6TY'[!C0:N=L*6"+G:&=@VOND&P5+:([W#;;-F)^;?)": MKE?\&\_6LJ\7N3N1GUIE_7P5R@]"LDV>-3$PQJ M:LX=:Z)_L&('_O QR^BXCTQPQI"/2KU1*]D64Q'X%% <(IG$21YZ' M/>$95?PTZWYN#-C*!QZD@+6;5A674+;@JG'85J4,RIV&9O:=X>#HF7?C03XR M^6DD(;T!NR%1"C3%)MP9>';8.;+O##N?U+RS ^;8NK-LQ8[Y/JXD1?!R4^J[I$9EVG!K<=@KB$&8C(S>G3@VN]WWWC*6JU?(LM[ZWFXW/]:%(LD%\KB/5#*D(%7)%+ T MJC&FZ?^M[NIZ(T>Q]OW^"E_.2$'R!_[@O5@IG>X9M=231)V,]J(O(L"0>*=2 ME:VJ9"?[ZU_ Y?IV&2@@[I%F)MVQX9P'4Q2C,<&]?XW-_-U?SV$K6_[.\[7B JY[!=H*59W.[ :D3TDOQH4$H M7-]&/.CG8ZX=]JG;>[^P]P4OG/6;8_B,U#&!60)874D:KX0 5& ,"DKC.D9B M)UWD#HG21QL?. Y3E.2CR(LYK6-.X0@]3]HB7K-:S6_J=:\TOU,ZO;1'\3;,N\VLAMSXO M*[E5@(-U0IM9+H.1T+-=CM$-8[TZH65JT$KLJ)/[0J4V+B\4RE\&43:V7^: M.;)@!AT'M6'F@.Q;,8L6;"[P[K&K7SXO]6_K'KX[-C>IE_G_\EDR89CG3W28,![LOWJ[%Z*/?&Q.9F1MVR_3J_P M2[/$DRN5*:J2JA]P4G*:U@2P3-+F%24#)*TXB&L4IR0F&>'8["1EN-/Q':EL MG:>^"*%!,XUH*[:98Z$!N)Y#X19$SU9A"SUUY5Z@MY+W(FHE;N]-N',?].%Q MY#9H=!C47= '8-]-,'C3J=%9W?!,\H1599F""I4)@+FP/+A,"@!K2&HN\[:0 MT1W:D[V-S;O8FRA@,U&T#>[;>D0]T.5;Q^B;W<6UA._DQ5S3-L/=TK74 M=N?*KFT;%NM#=]#UVVR^[G4K76'QD+*<9!36(,>HE/<"J&2!3P&L4%$D.&Y_)BLI"]>6OJ5V&B3@)I%*/70QWUMF/W6L];LEC/%@N9E2@<=R;<=[8I-OZ LSR/4YX!%.<5@#++&>&\ M #0E)>5%FC.S^B?]78W-(LAH9;-L-Y*J2MNVU-$/*7>D!#?TN4^ K;=&NX'0 ML^V00MI 9LYH/8B&*T+K_H["\ED/*GQ 9SW\AIG=D.71KR1EB^:EGH/G1_2A M*KF:;]!\=&'H46U_->A[S-9UG#[>L_ES=W]BXS5]>K_"2_8X MF[_?<+G8=$_4[>$M*A",>0I06F$ ,U2""L4QR'"=6R*RX#LTR)\EV[ HEFR.S9_:RAK*^))DL3'J6JE+8I> M90Q6,HV^XC4',,UK4&$( :>88LP)I;562EHH@<=F:E4>,E#**-;J3AO3-%G/ MPZQY;C^BP?-]*GG[]>KB.(7-)N@LCR3I7!7NYK-Y=#63Z5P;G5QF\X8!WEE" ML&=Q ^<4AP'_,"TY4+^&F6OR?MS\_>'/NP>64RR6!R)6@PP"" L.$"XJP'%% MBSCEK*2U5K[RNLFQF>\_!5YB[JND/]W[=Z?UU_OOWR.[NXO M[[_<.]DO"VL/1&;>" ,VG,TV8AM2$G7C[">=7&#FF>;TL*U):4B75[)Z9"4 M;A +5ZQT_1V%I:4;5/B EV[X#?.\+-'(-9MU-; U$[%V7AJ;!R&$ ]=?;C0G M\R$&I^?N6>I[GJJ=Y@Y7_%YUK1*E=EL*EAEU5('M5*CC#U@&L-ABP=B:0U*5 M_NXF[7MWM>'S*WL@99$7:<9!669K ML$QD_KJ4G#S/S;1Y?A6+LCIJ>UE);1BDTAV!-$6,(X@%^.)+A64: PQA!C(6 MXSB%!2E@:A0S]#$" 2SFQXV 9ES0 ZZ>37$K\D6TH?154E^L':GW"YGY2I@B MB' 8%32$RE484+?;L'$_0S . GVF[Y_%"_R=/6,Q]Z:/MVS.9_-G><7EADR: MQ_9290F+@J*<@H2G$$!:5@#5# &$XEK8KR(KRM*"%/ATKV.S5&MI9?'73MQH MMI;W(L(&G'=F Z!GJYS#ZME0K>25YT4=M%LB1S=;T+KBR[."RBT9\$"?'\$$ MK =##PVPYLL6Q 76E1;6I<_GC9"%;W%UW7#.YJVLS:Q^H%E&$8ES4,0QE&SG MB63SDR8.<5+D2<6Y7F@IB+ACLXB==-(@"O$,+O7[']F!H-CHQLNSJ=6JIO.I MJZ9#CE73Z;2.E-K1#=_A*A3N9ON%?BG"L&<$0W:'="->KH\I*#S#+JJ2 #)2RCA+$,0-53H3GP"G.:1+SBD"3 M$[2#'L9Y5+:NG[BNI71F*27;$DHC6EL/2R=YK)?D.B)UT/['UD?JC3_U/F@W MH:_PXDG^*R^0O.%)&P)?+(4560H;)'YQ.:UW_V+KR=:D=$F9GUG[?_'GR6NM M1!0F2=@MR>/V15@ANGS(DJ3(>)&"'/$"0)0B4%5Q!JH:QCG-JX2GJ8FU""O^ MV$S1-5.EC-N46$4]OGA2UYK5#VRCJ9EM"OQ-Z!F^\8ZT9ZLJ5;F(Y'^C+8WD M65&G;-0^(@=^[R]WWVA1V"11_](!\:O*K&ZQB#HP%%-FU,+ASHY_S# Z6B0" M"Q]T!?J8@=E?WCY("KNU4YA?*<'M?/;6U*S^]/ZG<,J_3C=\>739O*DLD?65 M^J0H<($I!UBN>C"I,H!95H*:5"BN2UBD<6*6]64NQ/BRP39TCG@MK6%I4HNQ MT%MW_.+K.QE%. AJ'>C$EX6B?Y$:"'?AUVT:S;467JJ=VH/HR');"!#4^MH# MM&]!SVC)*G'MELVNVRJ5Y;L\$9Q-A:/S>28#C0\<)B7B MLNX6RY'DR*P +@@#)4N+A/*<%:41V\+17L8V-ULAH[64T8]63D,.A>.(ZGD$ M9^/D>?::0V1%N-(+@4/:E<,^@I.O]*IYC(*E_^&04?_K5VES;KCZ[>+R=?DT MFS?_4U44UF&"53@0)GF:)0P@Q#B L3 A59%6@.5)PC J(<:Q_["_MKQC,T9_ MX+]5FN94*2#Y1A9*A0A/U!P2;O:+^/N7+B08+CU _Q/PF1_@96!'E2"PQU70 MAH!;M67HMU4\VF@NS^"V0L0C_!Y"9 AX^2Y&F2+@]?L(E")@/%I^<@3TQ?@) MD@2,,763)6#>K07)>/WO^YF42Y&.Z;**;[\TMF5^PPPBKPML0ZYY2'D(R_#I M@#4BGM?'?C"1'6S4"0F MGK[:6#SO;305=*NSN:\3\PCLYW M/ H:])#(/^#[)TT!>K0*!?TNA%MQJ7QF"SIO7J1<]^SOY2^7E[?12N9H2VBC"-(0@EI!)8?@!8@S]>$6_9 21TID=\$G36QLXU%# MS8<,46FJNA>UTGW+,MMT-E4AYW\URZL,$,9S M &O. *H0!0FJQ-_0FA:9$?/:J<[&9D$Z6:/_"F$CNI+VHJT-9YB]>0IC/>?. M%7*>S<MRL<13F00HG/2&/E 9 MWZH*#C)6%@ F<2(VM0P#CG":9XBPVHSDT:CWL=D>)53T2S-=1:]^-;,W9LCG MB%!*DABPNJ 0EH!7%$$TBI)*89I15!E=IS@#?LP)P2=^ "W\DO:]N5;%"S=$R8]9WT'7'"I;]A+JV:M!=$^;)I>8>;9"MG 9E;;3P<*JTMW)AH,5OM-1;[L.GM;S MUEM@>=(V;RL'-(N_[D4[J_S#FB%<\C(5%H&7 "+A%Z$LXX"3&)$D%WY39<2% M=Z*OL1F%'5$C*6LDA;5,[SP%LO86V 5T_G? =JC9['&'\'"WQ>WM*?0.=TCE M(QO8#Q #%+($$)()C+8E$) Z2L8E"+[6N9P@S%66)%O;#I MP\A,!+CQO*$8:+<\EJ0+6R#JF8,SH?%L!C:HM.)%OT@!^W=^]NP+A^J[YE_8 MZN%C&!@.5>SE8#CRJ".GX-/[)S:E3\]X_I?*%R($0H1)"8H:RF,3X2-4>4S['?W ML8Y#C_*#WD/?>Q:72;KC]ILI6UU0K"G-:0534,:D!I#'$."84,#RLJ[2JA [ M#ZWCA^/-C\Z K 2,A(0&"?>'L)VV"^>#X=L*;.$P?+=3ZSO2OS!P%C"!\ONU M/A2SS/M>M4\FRA^^%2ZOO5?BG33T_J?,TX=NWU[N,9DPW22A[OFQV9E;_!Z] M+7;HFS\W"SJ9R8P*_5R@-1RGS8TM$IZ-S$D0HA]*7$*G+NE+WL6(FL7B52IHGL45]NO0. H9XYC[=JQ4 IXF M04!TY-+8$7Z 3OU(Z!\I "ZB#02KQ\;XB7P FX3+3R4DI\2H/IF/H9;0';H@ M!!.#POQ\-!.Z^'HAF]#N_(Q2ZU+".7L20C9O;!.=O6;+&WZ/_SY.$+PFA&5Y MAB'+&>",B/U3 0G &B=P+@T8+U;EHVC^H(6_\XF[+OC,Z$<7K__,KN9Y^;Q7]>\:3A#54K MB9+@$YLRWBP7E\]+W0B03=MCVQJN=(@Z):+ZE ]DS[OXDJX0**?/Z8O MC0QY&L6T^UL8F]UJ)8V4J/)8Z[YY5O/FC^O;KUNA7LTCB0'TAJV0&^ \VQI= MS-S&QX>AL2-5ZV\V',/:H&H[=&O#3]MM/#\SLKQC]'7>%E78VN;>X0E3/6P( M7'!1X#0G&2 0$P!9F0-2B9H*HZ<=)#3H>&SVK!7]8JLT[$2%_2:=^ 8!&A/\-<)PGE#U M;,4Z0#?7FY3@T5IR$QMV'L8&<2Q/6 <*10UB[BAD9('2R:B/27OA C<66N[$ M7FS>/X-!^##*(YWF^SF>TB>VR?C'.*YYP5(0YZDP^ 7* 2)Q!3 BC/$\+6JF MM>>UZ'ML-G]54E7[4HD-W'J>JB<0/9OXH\RYF]#B1;227>^ZBAU9KAEH+MEO M-7L.3V=K!LE1?EK#)NRLUB55O-J+[XRRYDW:0UG^L*7M6$<$84;R1%)*YG&9 M LA9 E!"$L 3G-=%2F%<&-9EV?(';N]?G9SQ_EV?9>*5 -%]KH**V9D9, M"WT]Z^4:4=]G>1U^W[?P&^";O%A3^/B(P)H Z,B$:749U':9@+!OM(S>#9FS MNTJ?4=83SQ_9\I(^->Q-O;-UP^I>C.KB:3:I.Q[_M$Z3&)88,%)2 %%: )*+ M73J!K*KR+,$\YOYS=RVE'YN?U\HN[.9:^&C9B:PF^BJ5%ZMLO,6D482-"ZI] MAODQWXC&T<&81SZ@HCVL)AYXKD&HGAJA C^'1"9/8&^(1^ MGJIQGCZE0)F^9PZEGXQ?6Z%^@LS?,_%VDP%\KA!];M;VQ_Q-_/3/?W1_(_XC MJY[\\Q__#U!+ P04 " <@EA7V]*4MN1U ")C 4 %0 &-A;'@M,C R M,S Y,S!?<')E+GAM;.R]6;-;.9(F^%Z_(B;G=3P#^U)656T*+9'J5H34DK*S M:UYH6!P2.WE)%5JNIC_ZY_XG]F??L)Y6N3I_-.__NFO'U^!^]-_^[=_^J=_^;\ _O?O\7E[,^+Y:>?!6/RYXM/_^G\X]_N?/X/N?DT]][_O/GM MY4=7T_L^2(_E/__OW]Y\2)_Q),!TOEJ'>:HO6$W_>;7YX9M%"NN-U)^DZZ<' M/U&_@XN/0?T1< &2__G;*O_IW_[IIY_.Q+%/&SSTLL__HG^E??H"J4>?Z<$_5QG4+S;"V CBSNO.A+(?W1?K[2-]=N*<8XA, M@)(^@+(I@?/)@*"E(Z-A7A5Y$-G7WW:3ZNO*?+9,/RV6&9=D,"Y>%Y;ICF)O M0O7\$S]_"4MZ$*3/TUF^^-=EN3AIH:OUHH'DSM1"Y/[I)^*ZX'*)^B;*/_6B[?"@>@?!X?(LQ-(O,/E=)%?SO,+VGHG*7&EKK^_FL[P]].3B$M"M$O2 MEP#>2DW;'C+PPFKZUI;""B.?&P]"P^TW;H4"W2\*#I)@%]I_CY^F50CS]>_A M!"RS)*#".4\3$>*2(B7-(405)NQM9-M$ 3??NA4*3.\H.$"272#A-87P M2S)A&\%_(/GC\\7I?+W\_GR1<>)+]BY& 9K\7E!."8JX0V7')Y^X]KZT, V/ M$K$53FSO.&DGYRY@\S%\>YU)?-,R/3N;N+"$.J%(4D'VL8 2T9+3'!0XHP)W MA0DN#PN7'WW]5E!QO4.EA6R[ ,FSG$D%J_._WDSGR">>TWX8:&_$$,E1(K\( M@DJ6,!],,,PY=(<=3#SXZJW X7L'QZ$R[0D8S^G+M\N/BS_FDR)98.AHW^35 M?T9/496P&3@F)"/H>6AB-^Z\>+NC*_:#H&)/@?:$BM\P(!&\$H[DV)6DEFT2O][U[.WAT?.#92*PC@Z-:O6=+ M#!NZ+3KD)2E GRK=.D$TB&"55)I9K9SA!\'A^MNV T#'1YQ[BVYDE=<;T=F[ MSXOYY0F,UT@N#W'L(%5^D$<;RPTXT;[]Q.]5W?)1YD A'5O\' M3*=+@BX7\>-T/<,)#V&[=3?\=G MF >)<&3U?UR&FG7RX?M)7,PFF"LX?0#/N*Y'[QH\EX1@=([,E_4Y':;[&Z_; M3O$='UON+[Q.%OW+;^ESF'_"S7DK4NCK64G@4R'Z;?'@):%64\A;HENAT&.CZ2/%B4780#ST^755QG-W 5TJ2#T]7$ZF)0%0DV!"0^I 2?A07F MJX/C@F*NQ5'"_6_?#AK='T$V$&T7$'D]IZ>1.*9?\458AW.V)MD[P7G(4(2* MH(IQX&1.4-T?+IE!S0[S%A][^W80Z?X@LH%HNX!(O<9=/@]K_+18?I\$2WZN MT@%*"!0#61L@2L%(.LQRK;,WL04R;KQTN[2I[L\@]Q=D%SCX+DR]A_GU2;9A1'J'HP$$%9<$7I8%S@R8++EW0#?!P[\NW MPT7WQXR'"[8+?'SXC+/9!?7:1I=+C*"#*;3;88)8"FUYM/%93=X2CXKFO=1HVL)[:()!.WD&5TH'+D M$ .S('5)3CKI@SXL)GV:ANU TO'I9&,Q]P$:DMPRS%[/,W[['_A]0A+Q,7D! MO)A4LP8C>,L4Z!R,1(PLZ18W5[=>NQTT.CZY/%R8(Z/AV0G.<\TB?C4+GR92 MQZ*RXV QDQB8RN"82"!BD,8B)]MWV''%C==MI_V.CR_W%UXGR?BOIJL49O^. M8?F*?K*:6([)"&D ?2TZ*CZ!YVSC*@>/*IGHVU1JW7KQ=DCH^!"SA4"[PL19 MG=#;]X.%QT?6S81:3-8 M_,O/=^3XAGZP7R'VV]]?O/S]P\L7],6'MV]>OWCV\>6+7YZ]>?;[\YD?0#Z[M/5_ IA"^332I<-1)ORZOI/,S3E"S%XJRB MZQ)H*0FCO \0K"5SH3,2T#B'G'@*M,5PE?(C2ZV$5=R X/RE9^L-9^O5Q4^N M%MXN=.UK5B[>\6RUPO7JDLN8R?+5?@I,T4I26:C:+<&"IB46E'6V^,<2+/?A M\B8%XU2/#X:$"Y/30-Q[&QLREW%QX"YTD_YSXWG)!AG)&(U#**FPFBT2ZXE- M!,DR<4=&.(IA4'.+D''!B0A+2&\?!HRLX^Z-F*L![0 M=! $%D-KHPN0O<"X/D]AF>+JV=&SE):GF#<7 MU;A:7]Q0%Q5K.80&HYFF55I/BH*B% >3SM M=0%6XJ,6>J[>8T):@<3I[WC)C>#"VEPT,*,L*,D+$&\(EB*2>DLNS:/I:WMM MHX_0,T['CN&@UDSV72#I]?PKT;U8?BL,4<*M1DW1\>31Y\N#0;YR^(0-N4GM+=__#R,4ZS!I9GL477*Z_ MOYL%$L<\US#C2SU.J794>.M88,8BH4%!MM'<;"):@'%[D)B-J)?<2KLJN8\NRUMO+L'+[@)+/829A^[T)6?_OMB MGLZ],:^-T#)+B-GS:@L1@HYD!HT.,J:LHVAM/.XEI >?M\VN<["8NT#+&0<3 MFY*.++C:(3I2)(<2@@^F-LE@R1>>G1SF%FRY"=_7LQ(Z*OJBJ^_7XHF,U6 M@MU/23=P.DC3#UQ0'2#T7L!3+VOO2FDBE+7(I >S:8T=K8>HGJ_7B!)<7?'V_O#TQP01N M"G"I2%;9"XAU/HNUP>LZCR.IUH#:AJYQSP4'PE9SA70!LWN6BA9*"%7+")FV MM5NJ! II+#"1& JD:.:JI=-@CM.XAX,#0>A 87<0[#VZ"*X=8JB P>GD0?E, MO(5$<4N2"8@U9J.F2,:T]I2V)*V;?6\X3WP()75AK&Y>T]S'4K+*118#*,%L M[:"0(7 F(3"EO',B&V8;X^Y)HKK9#8=#7%O%=' 1LCF:O2:Z:YQ@XE%D6C5< MX^9.F3Q)EQ&8ZWY. MMA7GJ;)"/B*/1DM@6"LT2]+@O"\@A71>H35,MM[B'B%GW,NX([E3;931A05Z M1$9*IF@,A2)&U(O'Q!30VI @R*0J'U1DC[9@V:_$\Z ;F<$N]8Z"JT:JZ )6 M[R[>O&'JK)2*]E^G@@PUTZ#6-? M P^"E8,$W85Q>9;SYBX\S-Z%:7X]?QZ^3,G3NL;8A/M<".<$>5\KX8H7X*6/ M8(V*(7D=$C[6>W"OFY4GJ1HW\!\(3HV5T0? 4CH].9V%-9Z5J-16C$O\C//5 M]"N>976^6:QJ0N?;\C%\FS ,+NO$@*(&BB:B=Q!0(A3/>/8^&!X&N,?;A<1Q MSP6&@MZ :NH"A^]Q':9SS"_#6G5TN_F* M8[1W>X2I8_9Z4RPS0H\&5F("Q;P&Q\GR&9,M0XOBQU4.4C7V2 MU1@YCY]I-5%/%S[73;[.6K<_.UU_7BRG_XEY(JURPBE#T;&59*NE@6#(5F-T M1I;D+=/#GI+>IFCL0["CPNP@=70+K]>KU2GQHE7FWF4%)=:(J1ZGFQS!!Z52&)3 M%-)Z8]R"K+&/N@9&6FO%](:V._M]%BZQX@TD;APQ0Z%R3#$#XPXQ:<.Y;7V" M\0@Y8Y^#'0]=!RFB3U2=;_>>N]I*48%+@;;[S?&>L:6V?'#"2A/(Q1P:43NX M7(/ET!P?37LHH$\D7=_;,Y/2.V8A!U&]1V?!U?D,LJ@2G!'%ZM9IH@/7XF-I7%0V!-?C!ZH>/].=O+W__^.'MJ^=O?WOW_N5?Z#.O_]?+U[_3MR^; MG:X^]9Z!CEAW8J_1.>O9;?0E7*^U!XE,6O*=;*P-Z4SFX%P68#%)%E2VIGE( M_@ IA]]5?\7Y*;ZB-7I?O=%5Z^K5"NF_7"_DE>5>D0#JLJDSA[2$X(H&;WT6 M/#LA4^N\B3W('/>G6YE8,EU^G"5 M-[.^:OCEN"Q": I4?:WXCYO.^:F 2<7SZ'60KO5EZ8/$C'L,.@1DVLB]"\OR M 6>SNL?.\V]A^7>\QM3$&YN) P%$(DU%E&+\BOFRTVW:XOV&'62Y,#!XV)6A<;V<8-+730!> ^A7G)*49=,Z#+M#Q+@NTC#0.4S2/7G75T4<$Z$5X3I0O!CJ M+6.1'H*TM8 _H>"I,-&\'/ >,L:][AW4H]Y3UAW Y??%?'&3BXL10Y>KJ0C: M9[V"D&L"=% %W*9G%\LAQFBL:3XHXTFBQKW;'0)*;?70Q:9U,6'Q!CO7^:Q# M'9+V(:.14"2GK3A5_B3)3&BNHTS!A-RZ0=XV=(T;N#4&PYV1=(WUT@7:-E6, M#PINPFTIV97:*8N364;)(:I WX:<36*B6-\ZS^YQBL8-YH9%6$-==(&MAUDQ M02G+HP2..8&JA[#>FPR&6VDX1Z]YZP*'PQ U6"0W+*+::* #?^O*4[RX09S. M3XFICP_1LEUTR7XDS#01>P>M MU&[S\4M83=.$1Y^C5(J8\+2[9D.2R<0$2R8PE;/@I?4!ZKV$C'LLT4;'3P!G M=X%WB)H7T]GI&O,$(UH1:K96#(5LIQ) 41"'D)A+/F2C?.L;Y =(&?>XX2C( MV4?H'6#G;UA')&-^1BY2^(2_GYY$7+XM=U+FS]E[,5VEV6)U2F%"#0>NFJ!X M'ZWE$IC8=,^E/YP7=;130:4_$)#/+3QW)LM4 MRSXL67A#"]1;7_N)1RW)O[1>\9'PVL%6.P:"]@3Q[NKL%ZOGXKQ;KB1T2JJP M D)HVE,\[2G!) TA,]I..%HI6P>9.Y(X[@;?+UZ;J+2+8X]M^G22+S1=9/KY ML@Z/>8%G?U^Y6Y+[A#Q5J0I03F6(01H0/A23L'"-K:\K#J=Z.TO\0U5Y'%F5 M7P,*OG_G*XV,U8NE;98;GZQ7B^G\71= M)P)_7)PU2)Q$%KWGPH(-M5=$+@PBUE&;R*2F,#I;U3PW\)@,CIPTW^>2&A]* M':^S&[IYA%VE!:&"[7O\^U,(2Z M.[@'NX?3RPW1^5RS^&I2JSFTE M_!^GH?3UQB ?/KY]_C_^\O;-BY?O/[S\GW]]_?'?;_+3J.W)/:\Y0M>3IYAK MWUSZD<[GUO@@,O.0"MK:GH4NX )@\,^SMGAC9OIKU00!% G3AJ"QEB58#99(M" MX;UJ[>(\2M#(^4+-X=-.^CU Z>GA?>>,.>XP)D%V65H/RI'(HE$&:&_GEF6F M(C:'U;;$C7L:-0#$!M%*%W=WM^?W72R;&"5STM"*40R4I> C(P.''LGN8LZ, M187-S\SO4M')5)Z&$=A^ NX (K=/^E_/[YYPO%_,9J\6RS_",D\0M41I+6AE M6#WDD+5620$%'#KPS+1,K1.J=R2QDU!M3T3<+1D;3#U=;&R/]B@/A0RNB^0& M)D]>(2H$SS! 4L P;K\,OR'SI(>#PBZ=XW?1RMX8^[*YAZ35M%PW MV@KO#!;5A2G.HP93+\I5]A8S5=XWE7Z;.[]O>8%I_FFZ=L1A-- M(OF2W&L/%@MYFDQX\EMIN26*2TPHJ:CF0S*&YFGT]L]'0WE7Z.C O]Q(^FR6 MS?74P+-=Y:+>\*8@)I$,0>*9'*9D3?7(%025*'#SWM/.H[(M@TQQWXW,T?M3 M']=R#ZC#?F&Z67(/<"B,42D$ 2EB 259K9PD!]_:S"SGDO:PUL[I[E2.WO)Q M;)"VTF O&'V/7TZ7Z7/EY>Y:G&03L@N)T:H32 Z5#!"T4>%X/M-+0[YOP9YN;XJ1Z"?SP*],[<$J9-EBIHR-:7>CPJP8G 0)KD MHY?,%]&Z^OE)HD9O8-4%\';73S^XN]D()Y68+2L:<)-@1<8;@G$%M# H%;>Q MA-:W';LW&AJR(]71\+2_W#O8)P_-,^?*91\D!R84;NJG(0CB/C AHLJLJ-"Z M3]$QR@J&[(!U-& >4[<=0/G1U''BH^7*>ASH<3]XKHT,5BL;:*U90_*X9)%8PHG>8FQ>J M[WDX/FAGFC%/QW=105,@'7=&[[,/?WGUYNW?/@Q2HG+U]&/,X[V?E?8%*<_# MZO.KV>*/J[X=FBDCJJD1)M5>&D*#]TD!5PQ+DD)XUC[P?YB>!GY_?>:[Y>+K ME"3WR_>_4E#S>GXY[N-96D^_GI6=7P[*=I:X] %28 &4K'=)OI $;$;'0G1) MM9; [E1VDIMP*(+N"1>&5%<7B0HW0Z+B*.8QRD/TBPG%<'(\.A"Z6PP.7,1ZU&(I, M'"F*HK!XVIF8]^TMZ@%79H.9UO$QL:E"YFV#Y=H M[2J>/ 1M"FAM>8DJ:)2M4VRNOW]7KEU;PSI0*W M)@-#'6DK<76$HN%@A)'2"(:H8(3D?,66NI&Y=F+<-7;W5O+1!Q9/@.U!!AYK+ M@6!7K?^<_A$MVHG103,;';C:LDCY.E6*RUC/TKB(,MM2AC>.UPCJK1#F2$#; M5R6=(HS\C"]AFB\Y':6]E*T?"9',E=@K6"R/_+GS?6/C,%!/&1^#:D!1=07 B6F#!\\"# M\J'YL*@GB>JMRN3(^^\^JNG7YUN>$B73$*>SC>,\065H!0D'V=5>)#$5"#7% MTCJN5<&L [;NC+<-7;T5C1P/-+9?7U]+27F1O980 M$ZL#J@H#'ZT!8XO1RH8@>>MC\%WHZZU8Y$@8;*2P+N"X_74^^1,4:UDOB)DZ M+0TIZ(J,G%D>F65",Q)Q:RNX/77CAAW'3^X90FD=# !X@+.S(_C[!9F\81B+ MAVP-[0 %$7RP&;AQ0J@HA7<#I)7M2&4GW;N.E,382EU=6$@*IRY:4Z3_.)TN MD;BEA;;^_FX6YFN*\&OJ^9?ZD8DKBG-'BTW'3(M-Q@@!48'DR-'HS)AM?4BS M/75=IC\V0\KB*$KKXE#F#F_/OH;IK(;\KQ;+#V&&5P/&7F!<3VQV7)5 +D^J M%Y=*!P@L25K@ D-,*3K6VHGP/F=H M=A-EN]+0_S/_&*)>*3@]QTF]"T-SG/,GBND\Q*!"%#:^BV(+Q+ M;W0P0!]=U1VD"VTOXTE(!A.Z#$'5^5_D4X%SR8 H3 JK7)'-&PYO3]VX9^5' M1NI 2NLW;GHUG8=Y>B#SA$N7,"70JM""0\TAB)CJ!'345F9R?8X4-SU"Y;B& M]-AQ4RMU]1$W7=L6-I6Z;[]4O:U>?L-EFA*_$\U988D%0!F))6,DA&@,6,DE M"[H8:5JG4SQ)5)=14C-6[U7W@8G)7!AE,F#8 MI-RY"$X*!Q(U6JU=2:5U#XBGJ>HR!!H,=VV5-'[44ZOLKW-U);CE,LP_X5GR ML/0>2V0:M-.U=UZ4X$M6('5.SCOO<[J5*WZW>G^K-W49?K0&4WN9CX^CW44X M$=9:]&2A?>0>%"\U;I*ZCM>(Y*S6[N)Y-#>NR^AB**LVD-(ZB"Y>EH*)G."7 MW\A2T])Z3VA_.Z_,UO_7H]2O%,QO4G])CM-$:Z'^@N+^FS^X]LE)4=IZ1:)5 MHG;$K]GOD;G-6.&,T8K"FY]*#L#&N ?+#X96^%=N)('L7O_3'CZ?G9:.UY= M%^R9L"<.3=$RD^G1KHZD3/5"V%J0EONDL82L6Q\3'9?#<5/D!ELK'<.D@ZWC M,)LAG'/$#S%;FY!U$*+FUE%(QR*X9#+PH%06I63#6C>7:D+X MP9VC#R&BEMO/%JO3)7XD9?XRJR=_/"2YR9XUJ#@HBL8I2@X",BM>)YL%QM:V MLS4/XUXB'!_/=SI.CXF)AK%C2T/\8?II/BW35-//S@JUZK0!DDRJYV1[&.+' M'WBX(=Z!X$:&^.YK+M&(UD1?B@#/4IU+S 4$70=Z%>64"4$[;'W*^3 U!W=S M>TRR5Z WR;G"I84LI:CMPAAY/C( ,RQ[PP0Y(:V3G[:C;.1N;VU0@-G<4]6&AFL\Q#B%@67<.3J-@C#761<=-\V$#CU(T0%#\['YQ7RT8+7W,M=6ACPY!V<3! MQ>3!\&PM-YA3;%T@O@>9XYJTACC:(@1NJK)FJ9@M+=RK,%UN1CC]AJ$ZDF>7 MXGL8L_L?=+C=VH+ 1B;J\DU7;O45L'(*5AH5P!E&P$I!$[ <;6;(8BDA!A9: MQZR/T7.H>;KOV==B"),RBX*!=LF""BE#2"% 22H'9E34H76SJ$<)&M?D-,/% M;8/33@E=FI9?PHP"5OSP&7']@DSH=+:78;GO,8>;E2>):V14KK_G/C[4+?N&9H "3=">R&4E:OX=WBY&1Z MUJ:28J'GBTT@B_-]CYD>>UR3T_[MB&T5L5V][]FM]UWAX1)V,: (IA0H&B4H MQVD?Y+:V[PI1E(@^A]:G3CL1V&)4WI,ON[9YBYR=10U:Y 2**4N;MXJUJY1' M:6QPKG7*UFX4CAS%#8:M^V;I#:2W3HW:/7/N]CDR?V!:WF'GY$^0ULARG3WZ M$CY6\\RQU&'$Q9"+G@K$+&F#=!F58,B];9X^>8.")B--;HB-H'PU...R2OH2 MQ2$35KUS8(U,M9,)0A#9@ZQ) *P(8V+SX_ =:1S7_AR D'L'F REG$Y-S'E' ML2K7:E&K#%=_3->?GY^NUHL3$L0^%N?IAQYN@'8DO)$].G_KJVMO_=NUEU[= MR?A(H3X&8,45BOACAE@(*,PJY(FY*$/K?HU;DG:H!7OB-5>+PWDM-*NE[<0Q M+8Z0P4GZ*H6B,JU):YI'@-O2-J[%&@)#MTW9(%KJ\FCJVB26?4S5]7]^N%%Z MD)A&YN?R^?>XUB)HYBEB!R9% %5,@A E TO;'HLREI!;'VL_0DZ#AI&W'WT% M6I^,%X75^^=HZ^!L#L';#,JP$GQ2AG,&R M!Z98JEV_!'@E)/ 4E/',8F:M%]JN-(X\!W<8^ VJJ"Z*R<^/(>K80-I@JKIN MLX3,H(N:]GSA:_(R&O!(?'$6:N B=="M3_2?)&KDF;?#@*VM*KH\"KH_+_IF MJ>/'FO[9,,7[WJ+]-"O'2?&6P:+-SH)+/-?V0AY<3@A%""U3K.>5K<]? MADWQ_I ^8SZ=X5DI[MWW;$1][6K9A51*G2? ,J_Y?!0(V23!IL*%BPP5MIX) ML1N%72=V[X*>.U=TPRFJBPVS]KZ^2DZ_W3CX%G=:Y9#1:.+)D5^*I8!368.4 M)C.)P139ND_$+O2-Z[,-",+!E-3EKGH[:[]N1->S"/?>4+=[!XL5AE!5ES;L MGA*!_>W6PP\;I)9A0/NT;1YZ2D))HT"B5[4RKH#GDE$4RJ02R9-@4N.5>J2* MADMO\F**[.^+-:[>+,*\IIA>]K"\FNU^;5\O7O#B&&BNV?D(1J2XNH<=.3O\3\_DT M^)OCW^_+'DG9FR!9A."9 \5T@B"TAV"<*$DFR7GK"I-#:1[W3/@(<#VJ4CNX M)7MP--ZUW$A3H@F!@13TAR+^P&?+R>U%Y"K&P$KS$7)/4C5N[^4C +&Q8KJP MF#>\DUNCXV_M!ME$4SAFL#K47NR\-J0H$DQ047H=F$_-"V>WIF[<9L;'=B/; M*:HS$-(2RZ=I_;=09T:LOU_P^/VV8U*\4SD[,*Q$4(DE<#$;8,SD*%'6Z'\P M*&Y'X[BMAX\*R &4UFDZW2/ET0=\K-VI E=+:R/A#CC#S8B_ M0L&NML"]0Z%"M!0*M[Z[/69U]QLD#Q4OA\*_J9WE+]?*^:#.VVM&!;+5Q9 D MA#3DNEH#03,%4:EDHHXR-&]9M@>9/U*=]RXHNVWRAM;@B,''9GK3H_S=XHLB M*">ERL"$SZ""(I:,E'6:"'I-7#ONG[)\N[YTY'O;P7$VJ!*ZO/ZX6ZR__S[Z MX+.&Z"DPX*YYJVX\&D^^$L,Z5J0"B6MRFR(';[.H'0>%S*T;-K;M+'"U.-Z6 MJYKUVE<>YZOSU7LU(>Z7[W?JVI_]$9;Y&NAYCH("&1 2R6GEVH%'$DCQAD64 MCHOFF>B-6>BJ+\$N^+IS-#>B:KNT9T_6_N]OWK9]]!$:& QH_+8M0=<)M0[< M0#%"U^KP (Y)![3IU1.XDI&WOC\Z?AN#ER33Y3S,+@7_R_=?:SFPO]6[^Y"FO1 &M&2/5;\'8=%)B\!3'7;M;2UL@8"B M )>( HT72LK&DCB W'[[*>R"J$=2UP?57Y=6ZH$^!OM;K,=,[CIR4KZW'%R@KX+./-D*@,$[$[2W8;??4#-.T[.:F#T[K4/%;^(_ M%H,BH@9"?J!=.A=PW >(3C(,1'YQK7.E]R2UT]8-NV#H8<,UG-)ZO8G:>M+* MA].3D[#\OMC4)84[=2<'-$UO3L,Q!]#L(Y;CU# J66@3ISVT),NJXU^'JV4& MQ6*4:"D*44,,V1VYAG'B@T(5D@%I=&W FURM>]*0 G.B:@#5WS/GJ($>.D#4G0G%MWBZ_Z>_X4G$Y424XDJ2#F+AA<*R8"@L2PA6 M*IEM*&ATZP9EA]#;I:W;&3-W#N&.I, .P%J9.*>\:*:E-PZ*UQ&4]AD\>@#2\31^C]7;0_P] &=QG<[SA5R* M*C*R&"%'2\Z%Y0RB4 P,4[J(.A]#M7;W[Z=DW/J9T;#50"T=@.NO'WY=?,7E MO.82W&Q^<MD1@-<4U5U M!KUG%WF ]_$5).9@R&VU+%:^$GFQSAH0J5@G0V2ZM)ZXL"UMXU;-= '%9JKK M )+/%\LOBV58X[W,1,ZC",$#%TH0,RY!]#J!=C9EIIUGMKTS]PA!XU;(C.C4 MM5)2!X@[[UX09J_G),[3S8*J\;J+F4NG(K%1.*C"/$3M! 22#9.Q%&M:)R(] M0,JXH MG50019%7@<* \CI#\%E!8%DI68+FS0>A-PE1!D/@>&C9-639176=0?%1O]<1 M)X*E"$II!\2)A< -^3=!.(>!?)/<>OMN&K(,MI]W"6:O;/%$ MND)1V\M[!SYD\KQEG35NXP!9HON?0P]V5M@-^ Y74A=(>RP.4]SE(I($)X4_ M'R-6G"=OQP:#3CAM6UO PX/EP0X-.T)>*Z5U@,#?3N,X#2RRI M0HZ$-E&3=&@IN:([)8#=X.UA%'<#L>B^8-_7358DU MHC."FUA[T&OK:;D(+NL=(K$E@S6&ZR!$ZS#Y(5K&W5B'/Z5IHH-.L72^S(JS M6J7-,C/D;3K+R.Y&!P6%]+PDY5CKGG0/4]-/5]G]M;T%A/80_=@]1CY\7BS7 M'W%Y;Y3?3.;Y>X\EJ0M2JA$R T(G8(3\08BX2O*3OO4G*\]9IED^0 M-*Z_/E9^[WX:Z0!@CP].>8]G'6=_I77Y9K%:392/F9:* *X4>8#>Z)J8&J $ M3HL38V#M6Y#L1&&/B;Q[@F.G$3<'::H#'%:134+)%$H4"]Y;0V&L0J!05@!Z M42B4,3DU[^Y;W]OC5*0VF-E9JIT@X7H6_/IY6"Z_4QB\F8\RL4PEQT0!++5S M)S$/(5L%B '1>5U$&"*[^V&*QHW@AD9/(TUT@JM[BBQN,>50H'4E00RUK)\; M 8X14T8@MQDU)R_T* [5/B@;S*T:&F5M];(_V!;K,#N"6_7R6YJ=9N+MO*/U MZSG!'%?K\V$4$Z_),15(V[9(-5H.!8)S!9C2#EDL5KC6-NX@@L<],QW/Z6JI MQU'[D6_"YWM*R)_=7T(^TMJUJ;EBK\&-GBK8Q@ M,U5V -''^34-YG5]56BM\ZQ;R)%KK&V3D_/#G#C:;U MQZRG>,4$\,+[.MK5*)],1,L/1]68&#J6LGU?I^+==@RO.KI(H M @O"B"" $Q=G.3/1N S&%HR>%<[=<(WPMR!PW&.-H5VMX735 1 ?%]ZS$UIY M-7O^^6*U?BBIZUFAOY_-9HL_ZJY"__(YL3%=UV3[BWPOI_PFG1HR!3F@F)1U M@R&AT!K5/M30I_71QU$8ZZ5G?W-@[I1D, 9*ND]E)?9/3TYG88WYUR4Q^=?Y M\E8ERB]8%G5*U[<)DRD*'R-(P5*="&\AIJC !I/1!62A^RO3%(FP0]7P,;9U"R$GD(2DH426ELHZT%_]P&=M':#LP+IQ;:K7+ M&8^OPG2YJ9_X#4.=FEE32Z]F:!Z22+OEDP_/C]V'A49IKY>OOO:^RV1&@];X M.J_/F(K*) DE7"K(OGB>E(V.M;YM>(R>@Y,1+Y[];+7"30[ZFVF(T]EY\+D1 M?7X[?U_7TK*NF'G^?4'6__S;.G;PO+A:RV*R0$/M<+;G4S'493;P:9^R?@OW\_9K-=;KY;X'Z0BVC;37$R#O8^C\<#IFQ3 $ MB@J#%* 4_>$ETDJWV0IRFAG&UI4%6Y#5"2!;0>$AJ#722Z=06UVNV(L+>>:C MTMF"*S4-4S(-3CL%H?8%B+DD&UIG,&Y#5R=@:P6&+-GJZ1!_[:B-==8"Z@V:9<&19\V2A; ZH M!#)P#&F9<6+9D&^=;M]B'HS+?\@1I3MAIN6(TET4V %8'Q@\QZ1)OD@)V=34 MR\PYB<][",1/=@63EZUSR0Z8!]CGZ-*=D+#=/,!=U-(!N!ZJ/1/6,^.3 5YS M>E6Q&KPMO'8%,THGDSVVKA(XI)ATL"/G/G;>%EKJ &Q-DXRY5D5Z3&!XIH6F MR,=UIA1@1+D)W 6TK<\+__%+3G<"U) EI[MHMP-D/UFW: 79?9\YH#*TTTBC M2+#H0?B847"N:2,:L.KJ'[SD=">T[%IRNHOJ.H#B_=6,*%GVB?8<*V+-*12J M#F ,8%A@UN9"[O9_@<'DW8#N<"5U@+3MI\)Z'[S6$9SWY/]$3QZVCXH\(69L M<"*$U/5 WQ^CY+25$6RFR@X@^GCUHDQ&J,(#V!SKO"]%S$1:=$5JS;.(BNOF M/6'_BY2<'F8<6RFM P3>6\]8DBLH*1:,4M2C+Q; !<[!H%#26U/:-^K\!R\Y M/01O!ZNH YA=N^B\_/(O4UP249^_O\&O.-O$=Y%'A=8R8%@RB2D)\";7NEKN M ZVG@*;UV?5VE(UK^CHYY6FOPYZ0>?W6\BY_Y^LX<^]"J(5*N@9;B=,ZSD77 MR1=R-:IV(^0TPG.VH/@(;@=J)%.P24NYEY+0T(B+I(+ M]59(&8C.THHL1AHEN6@_I/(1"AO+E6&L&XP^@!T=)Z M$BI#J+N$S24K%W*)9C!;UX*!<0.7SKS%HR.B@^5P_ZW^/8GP$Q;)V5'9 L8 MZCK7$+BG94^R+2)PQ-(Z*W9KXCK9Y(\/H*T2RP[59@

MUIPEZB MN>VU MI0EY\Q"#E%!H&2,Y6PYOCZ4]&, /$O/CIQ&U 6<;;74Y)^9ZXZ;S^DY:8XO3 MLRQYI'V%5N$!M:L[/?_P"M;]V6E4QWJ=@/>XJ=Z_K\)0H1'9QP2)\YI$F0J$ M8+$&["IR+Y@TK3VL[2@[V+#=D?;O>&&F+[GG,9@0+0.!S%!\FB@TQ<(@&U:8 MC:*PXEO;N"WHZJ>%6B/DW+%CK973QUYZAZM-OXS+P7#HN5/)0!*L#NG#!XQ2-"[/V&'@29'NKHP]X76LP]&)Q&M?E=':7QPOVHD9? MM$/(5BE0FGQ2QX0 4<@Y((YI];9.V]F)P''CC>'!-YBR=L>B/\/B'#]56SZ0 MJ;N2W\30LBH<+3"M:#] X<#;NKQ0EYR,T"P<-!NX\=I @X''BC^O[1]31.V5 AAQ 61XAE%@G 93$C8Y&:.>-;GV?<1\3>?3U6?,ORX6^193M/94DM% J14% MBF^":V,A*YUJ[ROY %N0-:[//ARX&BFB+W01'Q.;;0S>14BLNG\Z17!. M.T"%DJ?(,;O6&:/7WS^NYST<7G85[8_B6;];XIWZ,R[/ M;AW:>MM;O6H0#WQW)H_KE7.1#,7^ JS2MIY+"0@^U(JR*&O_7.M8ZW[BQ_'* M7^"7Q6JZ7IU)^B)"M1$I]E41.!:-B*AJ"5,0=J\ MF?):)O>4\=KOU>.Z2@/"Z0B:Z"#WYR:#-_F[S/70QGE?M_RR&]M\'MP69(WKEDMZZ-?&21!W'CN(T_4X\<=UL%@F MZ'&M()LZBD/P5"^N!7!39$!"1FJ>SG\I^"%=L%Q0]/'6IJ:)& MW#=7R_7D/9&/9\T!A&P8HR/-3G!CW7M3F*(+Y1+]E>:NKIFT0 M,68-W@'*NJWN/20WLL)_(_B?G)Y/3ZC\QDM'5OH^*ENTD-_8B@_?KA$>,6AC1"3G&R4Y][%.JK02)"_$"F<8 MV59W%T\I_OI+QPFWFRE^;_EU$"H_LNG]\OVW\'\6R^>SL#KK&IRCK97 M/5Q MSOEW%O@[@10ZNK;R1>,?9[.,'SZF1IM>'! M)\@^U@Q0SFFY<@W%2IY#8$JSYOU4=B-Q]#ZCPT!E>T@>K+<.8/E\M1-":Q"FE@5%1VO::@O:9^:L+ I%: S&K0CK%H*'0^-N M6\?&>NH ?(\(\,UE21KSAL44&)!_4O<3XX&B$Q*=LRY0"&-%:HV];>CJ95[E M6/OQ?@H:^Y;NO,_;_--50G*=;S\Q2H= >P1(9!0,ZV@@6", 67')1!.9OE7^ M\L!=W ,OZ-90[:G&16.9=HB+B^KI]V&-'];UI/4=+E-5VR><1&+$:N:@9%X- M+85!7H5"IIQ';11+_'9V\O9X>>S%(Q?"'QM'S730QV9WF[W[I[(_5,8_L=PA M$\A)GDZ 8L1K=*XF/@?N<[(E-"\(/9CHD8OCAP+L.$KM ,6;1J8WJGDF,I4B MB$[0H?86U\I#%-*"]$Z1DTNB;#XNXRX5(W?Y'!IG!XJ]%^#4[A2+,+^_'$RZ M& +%0> LIY5 WT(,,8$NN2AF:1VPUF-OGR1JY'9@1X%5,Z5TC;+?%_-TSE.V M(5-\;*$H01(S*H#G,D#ARM'OZF3+XP'MBJZML&;^ ;&VIVHZ@-O[Q?U\G4B4//HD8&M,^"((S+3OHY.];R@4#8;R1J# M[6FJMH*:_6&AUE@M'0!MDT9XK;'31-?CF\04,*$C!3\,P8>4(9?BF#9.R-AZ MA.UM&K8"D?MA0720R#N S'F@<8V#BSW=&1M]8A%*49P\1V9KT@<'M"DFXB8X MW[H3^H/$; 4B_\."J(T2NJC=N[T>KNW:7$>M(B_@6%$U3[K.]A,&C,',G2D^ M^=8)FP]3L]U1*_MA(=5(#PTQ-7CAW^(++M??PSS7'JY?ZC8^O_QMHTSS)UXR M4+'?]HP=-PM=.\L%/'(67IE$$A2FKM71P["_U"^._HM>MG MUS1P=FO&8Y9;&4G 2B374'!(Z".9Z*2";IU^L2UM/T0&^BX(>C@#O:&2 M.O#('N3FE^]U#-79F%S-@TA2@JZ3OI4O&4)R#(SDV?IDE8BM;[NW(*N7'/:6 M>+A3N=56.3WCK3)TGI/"K&.>)0:!Z0P*4X(8HP*=)7K/9?*R=4'W%F2-B[?F M4-@6:GOJI0.H7;)PD8C$@F6R3C[Q53Q)UX[/C(,SS$=;@HFE=3O16R1T"J%] M5;QH)^\NHLF+?+;;C$0E9$G)$B.6(J-@$*)"!A&5E$8J*WSSH1KWDS)NJL70 M &HA_[&3=BYR(<])SSP6@=%"DC4?Q!L#3@=5?%++\^^;)G5Z7(^75,H2X)Z-?U6O[K@A8G@2QT55XJN M!53TE0N*OK586"R.,]8\_>I!:L9-3!@:4HVTT 6B'I35U7$P9RH*$3*@<0:4 M<1F\3QR8+K:44EV[U@T5GZ:JEX*S,6+^_533P9[X($>_XT7T>GE"9[,N%!T M=R: *G6N.:T=,/2]L$&B8:W/>+>GKM/H;4]<; N[PY34M[7;C+>@\ *]$"0L M73BG\*)D,\4GBK8VW%I07XDFD56QV( M<^UH3;?/A&A">Z?'$VV!.XJBNYAA\IB )X&17T,,@4-6NV]0M.ZY-R"5D"(B M4X*WCD0>HZ?3$Y(CV=!=%?*CM/2[F[K4?,#A \\?:L#A-NP<-\^"S(X+UB5( M BVHR,-Y#R9AA?,!2,1/9-%:&X:(^U)HD:?;M@2!K?O)IMJ9%20;6Y)SJ7U\EO"U::; M=%S1\]=X.7'AV?KY8KZ1VV]A?EKH;UJPRXG4+"'/'D3(Q*5S&KS7DCP#D8.L MIP1:/+5O'D+ Z$,,!\#8T132A6T[9Y1+2.O+6,D+#"Q=G#4 MN4!@3(%)1A4=G VI=6G1XQ2-/LQP0*O64!=]G!/GT[3^6^U\/5]_WS 79IN& M1=,RQ7S!%B;I,"*"=[*F<3('KO:2L2;7LO7$HQD@/6P;TL:]4QT6:T-H9^QD MC7.)/3]=K1>OZX MUZ3#[X&'B'-L1'P,WW#U+GR_-FOX;I<,"NEQ\\%)8)B4U )T\ 1VS!H"Y[G. M[,@LI<+8EBUW=GOON%79 R)H0/&/C:SW2([@*472)..W<3;]M-'794L#11\O M48)VF$"E4->((5]0,HJAM3(!\U9 >O0UXY98#XB;=L+MP ]Z^P7KZ(_YITT2 MTX6XOE\.H,HI\L@*Q%J?J5C.$ 5)"DTI,19K@FWM83].T;@UU\-Z/0UU,;8! M.G?@WB,%GO/S<9U7A;\9<\8(T=9QZJ76?C*'(+D4M%Z4C8QM97X>>I3=0OR=F)I72YQ^^DS;J&'):): MLVZC58' MS=!7W@F;:5=%%]4NQN7\N=O!X <^;=Y'?AT8D+/Y@P]V(>$\>A\% \." Z71 M4$!'NR=MF,XKKS&$UOEXCU.T'8Y^T#/DALKHZ7[BOAL^9R23G$.P*8"*PH&3 M5I''+CCR@,J7@:XF]H74#WI4W$8%/TI.TL6)^+GGWS8AZ8&'#Y*-M TCQTU% M*JIX8\GD&*E-/;B1X&Q4P#+7FJLB'+9>L<=)1?KMO"3M]?S#.LQS6.;[KU?> M+V:S5XOE'_2!260H4=>R5Q;J0&B?P-M4P/IL?#(Y,-^Z"\<>9/X0Z4J[X.JV M<1M:=1WX9_3\FX&!L< %M= MO.ZDC;TQ]067TT4F/I?K!J7QY^*JBIV4];B7IG?^&7(C7JQ7Y M%+_C^FUYEO_/Z>JLBMVOI@BZTQ&YH(*G,!7F\F;0F6LE+"^0&*1F>U0GS@ M\OW"9+_'VM.#+$@=.+@BK?X[AN4D2F.T)Y\!?16-P0PN\PA%&R\EMW&(+CO[ M4CMN)#,Z@N?R#,UO7X\8_%Q%HN7(X1HF,. M5"#/)N22 (6W(6G$D%KO/CN2.&YDTQ]"]]'[4X7=:>((5> M?/']1!@OE-%U1&RN* M28IUW-UEL?39\#LI$O>,C'W!>OZ*68%'6FU>6V.+0R]%Z]9_>Q$Z;@U-)^AL MHL5^3M$?X'(2 EE^H9'\X\U-@"_@HHT03&0J^:AX\T$4#Y R;HW-\5#70A-= M)H[M?,H\N672!SI I]>,<(1^F[G+0_2?AQ7N):".<4=QYV5'%/3CC(YR9\$\ M$XR6<6T*1<%=*0:<-91 HNU1S@F!I$G M!['8Y#1JK4OK]+T&99N=W#WL@IT=2SAWT4L7">X/\'-MY&94*"@JX$"!*@/% M3,W9IS^8YU9SH9UHGC;[)%$_TIW! &C;4SL] VZ"QA<4%(O&;Z8J6$LO,&>[ 8%2@O!,0E:U!@@G)VA*+:7W:WXKV'^D28+C= M=R!=-SN(/5($^'M-&%M/#RH>VN7Q@P8BCS,S2NA!]B]KM!Y$4;[FD'#P4AHP MQ>FDT&L;?NQTJ<5J=>,59V-H5%+&!*YHC10)REH+SF=R;66(00L;E6@]M_!^ M2GZD4&,7K-PY,SU<#R/>(:V6Z\FE0?X5%Y^6X62 MHP/Z-D(1*@DI5,W4WP9,])9K0*+OKD#T* 'C8JB%9A>MQ3PV5O#3;1;.QZQ) M9A&]X8#:D5AR(7_4< ;")%:RI'"GY!98>8B <;#24+&+UE(>.UOB0YC_=XI' MGY,741;+^32<3\Y34H6$(D-!&8E-C$WA7.]QZCRYZYX5N[VCO1>K87M018+0U=-OIM /H7LP9F%X.I;4^ M^!A" .OK8*F0-#@,"K)73(C@93"MR_7O$-$KW!JJ?M%2#QT Z<[N\>9ROBAC M3NC"(QB! E1B$@(W D1,7M=D#SF F7N(FG'/_ ?98YL(O@<(;9O8*+C2.D0+ M]:85%!<:/ 8$)A+2LI&>87- M4Q"/=YQPYY8V#?C=!?%= "XFQS];=,4D5R' MK_333_CB/%/Q/=G\=[A,FSO85**VC(,.4M2.JQ)\T!2"<6>D52G:,NS%T=,T M=A9#M '@H(KJ'8AG]:T7OZR."9_X+#7/3$,)LGJV.1)_)-ML4X[.*L[YL%E! M3]/8V49[!" >JJCN@/A\L5I/."IO"]> 6,4EO "O4@;/2RR:O)2H6A<8WZ5B MW&OOHX!I9V%W!Y?+GCA.%VV]ILT_,0I=D-P )TR!Y*UF224=U+#6::=.18,5 MJAT%-GL)O0/HW VN+\WG;_3GR>G)66G(V>_)R$Y$Z6+D4XYT1I5.Q,Y;@W:0( ;5E4=8+$>^*SO/?!YM^F.--'%&E.'+'BF\*R9 MB"\N0O32>UU[-,368W>?HFG<>K*A LV6BAC[[G+?T:YH%19I"T7-UA*/RD!D MSI$CX&GW)[XMNY4?.\*LW<%JQAHCZVB:Z#)W\,-ZD?[^>3$CE:U>_L?I=/U] M\Y.W7^I3#VFXMMV##\\7W(.!1IF"9V^[3.\*00H,M)D)8?Z_]KZLR:T<1_?] M_A?.<%]>;D2Z;-7[]@$KEKN5(HD3*XXB. M:CMM\P#X ! 01"#[G&-G$X2!><]YT%SATMG04\I.'2/^^R_Q' SCA_2XK6[ M5_G< MSKUSB9+6U[:L'D%K'DJ^\/?V<97U[D(8>WQ6KM&-9&F_R6@T$<# 0Y M)Q)RA&+O>(A8I<*B*$9\W?+L 3KU?*>L V<#L=K'L9V\M]=Q<[@WF,+172(4,4)+<&#$4G;U%@B2A/77SQNLBZ^'S[Q]K0B'V [(\H MU0:TA!+(2%,_O<[OAES:Z56O[G^.NZ_Q_BHLK/T_PXK+:GW2"WZ=U. M<%1PACQCW KF!"G^,O!:8BKG>M7UI#\&:+4#N4>1QT)PCXN+=W%ITL0):2&T M@3V(>POAAU=YKBB8L= I@$W]T>?K]N9U49DN"\:[2C27>H5O Y<)V0= M@;R9,0SNEG)$24C:JIA$\:Z()P34W1?WAG&U.NPATP848HT=+0P%; GL[<,D MWJ74)) 88#M6U'/$<]F\F\SS]]M8J#67 A;;HH ";%*G@FA45K0W?T=_DT^Y/J34^3A= M>E\6/&4>0XI*%N_4N <.&!#]J]%&5>+$ MV-%2""#@A< M1P"/ N@8D0O303/M,*$I#CN2/Q7%C9\V%%;#OG6=..=M88M<1I9K[?.<$2U] MR"5ZB:P&ST5"B$Q&P:1DK6P66WAI_ #E.%;3E(*36YO'/TZ M[6>SD121.B8B>(AVF_YAQS=QI%+0-.@\_-TJQ*.5R'"9\E4JE6=E!:Q* M#^HY,8N5:X(_DDV55:=6=B*W73QN94/%\H#@4Q;*;#G7!L0R2C9I(R)!(8;< M]I!@.XXD(4(2XP)+:G7IWH&C,%(YWV_ :6$(4D3IE )5RI8>6UF2_KJ#(UJPAAJ*"2%XHB+7&,6@%CW)'!GC!%**1N>H$Y"[-64-:QBI.^7BK,VBA&J<;X$X MSM]-?'^]O%!T 4#';W$Y2.3^LA%H_BP/%[B;&H@C9C)JA5P2'G$E';($?ANL MURY(JY5XUEQ0O$R\#]UU!W:<9['XZ/IQOJ;SI!RXR,)B>)<&">I]/_\]SO.] M/:VPT(@P UMPT@D9+2V2Q!@C&&/1#;LA6Y&)049E?AI5/\DRAQ(Q 7^05/1G&NC3@*,E$)#WP'ISXSP\X\\4^3 MJZ]*/X+I[22H;^9WPG*6PS;O,%(64_R4&R++'@9)#7CROFH7EQ" MJ61-F[@89ED_6K=!=;'OI#S-UO=&'@)9!U$MDEYD+FQ -K" E$],."*E-:?I MNAFFQO^WN@)V0J>-@_U\/?K=;'83P^N;Z7TU_-;>'M^=?O,WF%$'_(YP<-(P MPA!P)',Q(]L19%X>I.82=XGRXCTM.U,Y3#M_V//UXZ+:K'< MM_UT^:/\]\A("NNP\!+IQOYH:%6T;:,] < M*46((G))2O=SM_H* J$R,(C_$ 6!W(YML9YAI#".Q 9J%2T]F_#'? 5A%YTZ MWBL(N\#90.CQ= (I450+RB!N$LY (A(9LD+AG(@X3;1W4I;6Q=U'#9_!.P@[ M*<'&4<.[(-* .NTON VS'W%^DLE)AR0+$&&PM'@X":3A%"$B4^-1P.>ZYEM24,=/*C.NI]/_GWC1UWJ8MA;87@;@X6XXPQ;!$PXR!XD!@Y MJ3C23GL3L'"$#)MDONN7V]"5?2!^_HC1T>3=@(Y M8_8A =GW'7&SD?0V:J8L2B(/-I>*(:,303)RQ@5U2@4WR%^7INSLAV[M[=VK M8EP[Q-B;^?OM+[>8?4CPKZ_[R6V7S!-QC*)C!%.M(+,0@(L6$3F/">R,+!'/ M!4L#GZ$].JEG/R/K]"9P%"UH)3YRVP7BA@OD[EZ(Y2F"%S (8]CV.'<2-D!I M$:8Q1.$38?PHR>=1N#G[X5@'QTCUE:2),X1"E_%?3G7ET6N?AU5>]3I//( MF@0[J@]*2,842R<_G3WFV-^6.W.K)!0E%:2%G67379FGKY7^-8&O?NF^Y@K# MR 7FM8D&I<5T8Z<-:VB"DPM4$OQ"% '"IJP#6W MRRC#2?0T>F>/:W&#:3W_>5KUSG/**D(#$>+!$GG^*-F#;$8B.(=S>S,APB'. M4T"68P'R2!'B9-!]TLR30]O9.?]A655K=(7TY$$NV@RET,6/QXY M*[&E$$L&HF%WI"0A""\M$D%)IE*TR32S.:SAX?Q'>E4TA\,TH@&+.,W@)68- M2YKGNP.!Y5:B $)1!K$$[L,IBJTI/M?CY]"NLZTY[ZT[9S)(:/&3%Y)Z\W?^ M92PZ2VC0EXXQ3FAW%H\S4<@Y%G2"B,1BGP>]*8&T4>".I=3>J)CKH:4]3Z,3 MA33D*C*1B!+W'O%\<*.M2"ARHT'NSELI2\VD(/UQT&I7\9;7M2/306%FD* M$-&DXNP#<%]2V@VHR^<6=1=%0#4X0C M%Y1#A$6KG/?)T>+UU"TTU;U">SQE*HI% [KU"8 ! KX 0Z_CMSCNOV:!/64) M?+/G&BPE60_F0H1"SDF*%"=$*\:T%Z75:P!9=:^M'D_#2B/2@)+]&B=Q:L? MT46X[B9=SH+FW;?XE"D;P?5B0I 2TM\VPML@P2M')E(* E(E7UC-!A%6]W+H M\12M/"H-J%J!@F8D3 IA(#H0&CPXCPY9YL#6F%04PH9 BD\N.YSJ'V5ZWB$I MYXFQ;T#;+\:+O_/X9L.*8NDH;PC,>H&2AU"78P,.0IG=JKJ[J/'TZM# 6A< MI?ZPXYLXPAI'RHA"F$+VQF7*;9V8HABB5A9V]5C^:8UM1-6M&)Y(H787?_7K M>QNX6;YJFH]PX <+8QD9*AV$@1$1F8?LN4214UPA*>'7Q 7.GM<)U]W%V^W# M=>N !=3GZ-)NSS,M]_!/,5=+\[G-_6;^\'?NMG5KDR !DATF<'XLEQ%DO<(H MIA0L(\((7[R[:6]JZXY?.WK051RP)I/$3_%;G-S$M$B")PM9SO[JYE]^N9G- M^VOX\/(O') D[OJ)PY/$@Y@JE"0N/_'V$0W__8B$>\5EA@8:I$4F9@WRPL$V M"9%\((Y*3KVCMK3)#R3M4#_XNIO9JZMIO%K ]R$M/WM;9+0? MG^_HQX(*FAA2#/CGS$&TY4-^9 O4 8]@\B6$5QO\ MW[L0QO&-G@=21'*"++R?G QZ^Q'Z[O4^27QG"KJ2+1(Q=Q_B"E&+C*%@DZ LM6"#^MM MW[(IO/APG0+;<7:&PZ3:0%5W37[UVWW+"N/$%MS]-',]MY/P M6V==-^[FWX]Y?K#UHR>=U5DB!DS:E MKW:>Z(QAY=H9@O=Q/L(F"H-)1!!B$HA5=$!:0*QBG:;Y1- (5_Y&ZWIZSN., M81==>7G-M1 :M3/"M8SDYF _!V_>OXJONO$XGPGGN#CD"8O_C'9Z]X86E5Z: MQ#T2S$'"@XE'FFN.:(B41Q.=4&:;XRM#2MT@\)AJ5P&J!J+%50S?[S8C(C2/ MDOE</'Y.!L)JMOP5LOI[8='Z\JUE.;#B+-13!Q' MCQU*7H%/5]0@QQC\1S*+E.D$]>0\ M,X][TUIV":[$X#X&Z:[AK^0),/-NEN#KBQMHN0X6I/',)(T$ 5/D(2G8'Y1$ MU O#K8H6I'4< 1U(^7ED,[OHWYH*SRD1;B ".)CKSW,[G>>'?A;M)#Q$#[+W M*++$86NS#.ED-;*"A40@"60/#UJTHM]/.&A"ST^J@Z7-8'^%^!',X:':G$PD M"0(ZI(C">8R)0MHK@9PGDF&*(R]^PZT<]4U4$<[:#/93A',Q@9%.08M\B!LC MAYU6@TEKQ062-E".C32D^"WH082=N?_>4VOV4=Z=(#P7O5P6^>P56+^*@>6Q MGT$ZG)_Y",">"TA(< 0F"D7K^-\'$L_$]5RT=I.4;^])DI%*CGDN M0++40R#%",XWWB+246.IM=1>;FI2KA).+&EOHBA\%GI>6A%^P)+>B#QE[A1% MO1&I7M9[SO9]8>\_C]O9D6]F'[6:NO)#)^S@6,_@B6NGREG#G>-(N9@'I/[KM)_-1E9R\)Y$(D7SL1F& M_=QP0Y%,5GE'0B)>%&9[$SU-Y ]%=>7%"5(I-)H8_;>&FXOK?CKO_F>9Z& E M:501.>X,XI'#CIEP0B1A["VW1IC2H=, LIJ(_FMHVM[8-!#.KV'IW?57VTUO MIR6#%6D*09J$Z,RI_.Q$(AI!U.B0-X)"Y*:($_PT"O>4L"8"\1HJ=P ^YQE" MPT]SPCQ=?.93-_OSR"'<+3M6 ^U3*0W);XUP5B]=#_9"6/7%!-<*[)=_]4OJM6>*>PG42P^"\)PC MH[E!F#,(WR&%])CO!/O]TO4&=!P1]OT$UT+"_7R+?/7]$O[IPA42(I@T&"-( MYQ2P0@DPI6&?)"HJ'D)4N/0)[P9RZM9S"H82I47?HA9E1I:VQ2W84!089)+? M9\1Y=I'U'#&NI8A4,BY*MRQN(*>Q@'1?R+#-)C:G4OM _5ZF".+2@5B\M[U6<^"_7 M=OKG;=R?!_*3F)#BFB!.26ZD)1)%0S6U3,D82K_&L8VFNN7DT^QX^X/0I%+= M<;,T0(.%3B)8A(,% \QC,0R#8%")9*UG.'>T'%VIGM+4F+I[,[!Z&"@M32L*B#@003B&DW^X;[O(0.0D9+J):&L0)-L@R;)&5F!";)*'DZ!G> M;SO=B3C:Y>)3;'?[";Y%%7IH&"8C9472TD,DF%LW(;14$ EB@8(46"83K!"E M[UQNHJ/?GDQ"9=?XIN4HL^/6,///MEY M/*19X.B[O)36[Y_AIO;6CV*J9^&A_A\>9O^#*X M!]CUI]\7%OL>C"X?,_=C^,S5NPF80)S-1\3X0"2&+<&0A#AG*O?P122M#X)Q M#U(L_8SM$=FIZRY+:>1S?]D*_@WLW?_RVX3$,J>G[Q-K;*HD?"&1^T@HL'. M(2YPA%@Y8F2$9T%@9B \*:Q1PZFK6TP[EI(="9T&].Z!H0A.V'?C[O:FXK3K MIWG/*MI-7-Z\]NGLK MC$\#JO=Z^5D@?C'Z<)9?8+T%;#SN_\I%H9'.SX5IP9 V$JR)2; FF9F+1"C# M+<>I]#'4 ++JOB%Y+%4KC4?K.?![.\U.^]LAKT1N6JYH1KN9V!,DKL0(*0S7 MR%.?WT8R#)D4\^L'^2XQ['A8ECZX.WKB.M"M*DPX"0R1( CBP7!D"8\H66Q= M8EPH?YQ$M-RV5R6QW$5C#MKV=L#G3+:]Z#6&- 5RWYA':WI/D8U.YG85B"6# M%*3XZ/-2VUZ5!/(052N-1Y/;WOLXOY7?Q]QJ2 M"^U_;^PTS[28W;WA_C"0D7L54M*(&I&'542*'",)$6P38=HD1HJGW&MH.=3] MW(LU5^T>&)1$27"82$I!$=?>(_B11I*;A$6DVM'2J=U*0NKN9D7P?^Y?#A=X M$S?4G[ Q$@2\JJ 1!8PP7HF[V*[V]R^\:'M#"AV8>;^2P_+0-V]Q&4LTLXE9*AER8O(RU>3]B*T;M1S%)=T?,":<%D[L;EH#!?.)B1XRC/F M64!."8V"3='AI"U6I;N]=B*PKLL[@$,K?C1]'M[&(^ MGW;N9IZ[HB[[Q<^ P1@^VN_Y+U],IW9RM?AWLQ&ECBHJ\L,OL-=PLI@$82.* M7,C\%*&5X@A'BP=27=>=GEZ-3XQSN^' ZVY\ S]](>H1Q#B86VH1MAJ2:YGO M3?F.$G^6 Z !=[>2F9'5/G!F'+)) M*\0-%LCF1U,UE5'BR*RPI2NX*PEIJZ!R -!#5&@GJ3<1!3YG8^EB\P!#"S%L M1#XD!J(!PW)*"^0(P8)YY[DI?>Z]AI2VTM_C*= ^DF]"A2XF\RYDXKMO\7/T M-]-NWN4VR_R2E0+*O/>)U>+U6?1_\=5_^T_HP^W'[CXRTZ7 ML\0?SOZVGUD]4=#'B][JI@\/*KGZ"SN>8>U-?*'3JX,I'GT;#RQ2<_SWO_YX>OBU;. MY>@0Y>IVIUX3-5X,JAGN#SW=C?C(G$7N(O^>XP+^E8!?7@XM>(+5=L& M3Z$# \1;!W=PQZ-;-JX7;OBW^]NP^VX9ZUS]:LDHGMA]9J:32"U4?X['QZ/0EO MQ_:J"%)/5ZR2DNR%TTI)-()2MOA?)K,P+0?3LR6KA&1[>[^7LF@$J/_J_WJ@ MKZP'7+-TE3AJ+^ VRZ8R@/=[:G<=P]L^=UE^_<..#S:W3>L.@4Y6A6Z 5%HP MO-DOXWX6+_M[6L;\OZ0W!4]4UPF)2:Q?-(, Y"3S>*7B.@O9N$[EL7 M;NQX,4/P$*">+54W*=LL\WZ; &J;TGC\0-?*"MZN1K1JP6H(K9%Y/TP #1R6 M/Y22-AO-7N=)3]:NFRP/LJ*-0BD.UJG/_E=S]8SUHQ8EZZO[DSKH;1G\^,7F M)]^I>GI?K>2\2M0-J,."MHNO\'G?+4?,77V9SSY??/I\%+78_KVJI^>G5(_! MHJ\=P*S:/6!'SQR6SP;N%AZB!N9HF^7>^< SN;0 W3\F83K^?O70LG%Q/3\< MMY6K#MK=<7W4-HFD!_#WU'Z?=\_>5]L'I8:E!X#1PM/:"^180^15V@/EK M.X]O;3?-U_$+0+-BS4$8-7"@MEXEJ4' M05?WC&V8<.I/BUC=MO9FNBA\'ZG?[N7J17KMMA!]8)]=!C6/H_D6I]\_I!?? M>J$,>^G]H \<8+++5>\^>6"U0IDN^#SV%@WB:6RD_T49R"[13Z4]X"# MJ\VKUJN&UT:Y]X.$\'_Z'. HT /P\ =@)F_?]Y'WL2X#R=*5Z)V:; M9-UO8;RA?27"DM?=9"&S[%^+;3 O%J[FU/:-#(:(J;;+N[J:+YDZN-KT=*EJ MG8S[HK5:%)7QN2-H8L??9]VL3)/.VD6K=34>&'NO%4]E]#[/__PX]1^FE[/I MF]F\N[:W1TOEVKT'?:!:R^.^J.XBMLH(/QIE4="5KE^U6@_DOEAN%5 [&^#[ M?O[/>+]3QU+]R$,^4*TELL!FN55LE1%^"XOVDWC':8D#T35+5FN-W!?%S:)I M"[?7-_&R7S[4 WQ.4C_UB]#Z4&>[RW>J'7870GB($!N$_8^N'R^G%?Q7?QU_ MR0,*IM]_LW\= _N-'ZMW<%Y2 X;(LT$U ([_?6/'7>K\DOI+^_?RT:Z#FR7V M^F"]H_J2ZC!4KFVI!+BQL9TL"7YW_37/30$&7#?NYM_+Q&[[?;%>;T AI=A- MLNUD8"5#O W+UFL@*)"$M1GKK2"P]]RMEG/(.GQD$KIRD>Z?#<06Z/SY:+__,7LT MWJATX\^0]0^P:Q#.X;T^]XM4.W#= 87'%OF<^]H'0G]'OYCL]PNXB:M^^OW@ MUI'5*]:#Z;F\^X',URXDC\?/R>MBH2:2]0O7Z[[:"$6_FUPJ0_EBE M9D_)=EGW&QBOW^0#)+TO L?SM>I=ZMT1E#5"^-FK>,J=YF=_XL_^Q-VP"?^Z M[!?Y^*'F\72E:FU4FZQC);.U 1B/[\DJ8QK/EZNWK:\4=S^$]]ICPJ)=/+9[ MJ$T\7J=:D]HFBUC!:.V@=DEMF:+;R]7J;=N'Y?&MG5_\TG^.X^CG,2QUZ."C MB]4KUMM(]L-KHUQJYRE 2K@/ZC^DU'E8]^VDC*UM7[V>"]P/R\'RJNTS8YS^ M.NUOOKZ;S6X*(KIIW6K=N?OZT>TRJNU1O^0A,.&>T%(H;EJW6E_NOMYUNXRJ MVV)_V=^^?'GP.?#SM:JUV^YMVJF&]UN$-=NW*]#M-#_.HV0=7NK/CW M33?_GF=DW8H2TIOKQ2S0UUT"8B)P6PK='3]5K^%T3[CW$V7MM/&9F_ECMMA$ M%E-$O_1CD/*G>:E,M5W;MVMX\HF\/_?9R_F_C^NE -?= 'ZK6L%L-Z MO=B:0_A%D?E82&_XT"#$FZH=[2'&RLBO<#^9\V7QJPSH0[\Q".^6JD\["J\Y M(_\P_Q*G1[;OU=\8!'5+A:L=A5?;JJV[&=OI;]UL7O"H>_VJ@^!LJ9RU54"U M 7SI60ZMA*Q9Q"(K12P-HJG>K3S+/(^U/Q6+C@(KI8*4)O$4ONJ% %NU MWB"\6BH8;1!*"R7^(N,Q'R\T"*"6JCRKQ% ]".D/;I6\6V,0'BW58)XQWT:; M]\%P[-JO2ELJDS38IMI/?H7 94G8ZSCSTVYQ#%.H3W7[\H- ;*D ,EQDU?>E MT&6Z[)AC^NV!NU+'S]M6'X1L2[60P0)K=:#&N\FL [%>3NUBF.JCIPZ?4G[@ M=(T-GRDR:F,H&P7F;KSXU L%V?/^ZMIE#ZF%W2_W*@]G.GSBQLH%*U[NW(;% MD^K7!F'4KEG>DW;PK;9G2U7#9J.T5Z+2T#VWB_%XA2\I76.X%>RW LEE-S\XO'ZR5+4KN7N"\D0 M0>'WHPCP4Z0 M'-6$_NL\AK=C>W40/.O6K';==C>3>5E?^&C):K=J]W>%+P72EB=YQ)H M I;/T=],NWD79Q=75Q??;#<^N(%WP[KU[KWN ]A&V9S'*>/'?MQY8.#CM/=' M/&5\\IDCG#*N9Z/X*>/C3[W0D0+'C:O7/Z@6OUP^/%ZZ5$JW??5&3B0WXO:T M@#]07M7/6%;1^;Z?+TDM4T8>_I5&JLH'XKQ!?L?WZ,L_R/]Q=A;____[7U!+ M P04 " <@EA7,GC<)@X( 9+0 $@ &-A;'A?,C-Q,V5X,S$Q+FAT M;>U:;5,;.1+^?K]"![594F4;OP8PA"J6.+54[84]()>]3UN:40]6,3.:E30V MWE^_CZ09VV#8.,G=XI!-58QGU"UUJQ\]W9)U-+99>GPT)BZ._W'TSV:3O5%Q MF5%N6:R)6Q*L-#*_9A\$F1O6;%92IZJ8:7D]MJS;[O;8!Z5OY(2'=BMM2L=U M/T>[X?EHUP]R%"DQ.SX2+TE!R*A=CM.>+>SUX_C.!I$?>KS5R(9B$[_ M@'[M;$$5XD''V%E*K[U81M*R M7J?5N6OPLM]<7\-UJPK?ZY+E,:::]-.8?CJZN#I[>W9ZGWIM>NPOS-]WR MJQ]'[/+DXH>3=Z/+YODO/XW^RTY.KUPHNNUV=TTX_;]-[S]H^EF#_4O&8TXI M^T"4@VL:+"9M93)C=LSMB^W!_N&Z"Z+@0J"'9DJ)'?9>U4M$Y@+!&3;=FZ?Q MLM.J7?C+![\[*=V#5G?@9N&,C?F$F*:)I"EHWHZE8;^57 /$Z0SO"Z4M4SE[ MJW3&.NWFOYE*V"FP?MM@9WG<8HG2T*):B1%F6;!+*BQE$>D7VYU7[<->N^%3 M!,)X\/6'L;MQ8?R!&TPZPI3-V$VNIBF):VJ$:%8Q% HFY H9'4-PF3.>SUB9 M6UT2/$".]^D>P>4LPY.6/&4)C_%*,Y4A)5D5Y%8$&!NB% M=!TWG$290@ P5,"*'\YX>V)NQBQ)U=34&-5T+8W5' -Q]S+8#2L;2U SM3$K MUCX/M/4W#FU7=T+S8GL?VX9#4^&I*ALH,O0QF2+C$OW99]>H^0/>Z]P':V7\J@.[PEQN"T/U6N^=FX0T9; 80 M*I_*/HZCALNR,2_-^BHNW44$3%0CA02J2HT.P$L3:3S;08IRWX\KHQ<\NNI]*XW.O7 MI/&)VG.C,@2#++C8*16H&65R53:FBM*7@TX6GI>IN7D*LP;OA\>&"SX,5BN!,$\K*2)7V<0O6R0Q\+DVN9DX^OLEA M45V-^_5'829@C\=:V)%CE*\?=&)30#>GS!#/55RXS795L?F6!\'W"43I.\.)M&7B=%1?5:S\XA* AB#PNY)5X9CET3^G, =(>3E MW*Z7P:HQ-_,JPY&?AST)GQ7\?%2,/6.IO*&T.C2X)]_XXBGR4&>?B_)-VGX- MGLGVRQ\TBGJ!-!8DY3AS&:0+OG(P^X2Z8Z5\G9O&4<):I1696F4 &\4$$V0O(WR/RFS .S)%WILHD#QZ7 M?1G;;13*-FX;=(+4G6@01@,Q)\]Q0(T_B*[@U0B93^83E4[(I;^<7U?GZ;JB M1J7#JJ](6:LRC^Z)RT$H7:K?9#VT0W-U0>#@H+4_ MZ+D[ E;COZ@'KJX/M/SU@5TK5MOZO5:_??!H<[O5^:RV;FNP_WF:?VILJ[/W M>.N&V=IK#0;K3>RN#UH('*!A"IZ_WNIMU0K5*AYVBUO6N7L_PBWL%72HXB^G M.G\_Y0WHPY<&[!QU183EW.V'GTGGRZ::B2]W,J#_:?R\1P4?]ZGM/-KZ9MW? M=-R^V.XC(_G/^YZ'"(W!&:1]7>>Q2YJ.7@:O/<#5YUU^)_@-02P,$% M @ '()85Z;23RT!" !2T !( !C86QX7S(S<3-E>#,Q,BYH=&WM6F%O MXS82_=Y?P2;H-@O8CBW;F\3)!G"S#FJ@2.Z2%+W[5%#2*"8BB2I)V?']^GLD M)=N)DZYW]Z[Q9KO .I8X0\YP'M\,:9Y,3):>GDR(QZ??G7S?;+(/,BHSR@V+ M%'%#,2NUR&_9;S'I.]9L5E)GLI@K<3LQ+&@'7?:;5'=BRGV[$2:ET[J?DWW_ M?++O!CD)93P_/8G%E(GX_8[H\E[X[O" !Y0DO7[(P[!#AT&_SRGHM'OMZ/?. M#E0A[G6TF:?T?B<3>7-"=OQ!+V@=] MS/!.QF0PZ[?8/.T[T]"21N<%X"OK^ MJ^]FK3-#]Z;)4W&;#YQ+.UZU;HYD*M5@M^W^'=N69L(SD-+%RO*Y9'F&I2+V/ZV>CJ9GP^/AO>C"\OV.4Y._MY/#IGY^.+ MX<79>/@+7J%U=/6L6UOBQS]^O;K^=7AQPVXNV?7HS'G3;0W=A0!.WVIG#Z?YO>>]+T<0-DHN;L6N0QI5PU6$3* MB&3.S(2;-[O]P^--ET/!XQA5REE)\2PT?S2J&L80)N40^QQ!V41$$Z9+^['4GY&BJA/K0"9TBA+"5B,S829P4!<4 M.0-MOP5,DS'!P"[7P\ B24B1X@M6I8A;0!]$$>S6FD7.<@$ MV!+H1^116EHF 6Q6XM< Y(1EI@)1MX"U0$[3)2(K,.A'0P/TL; =-ZQ$F4( M,)3 BAM..WLBKB5,UQA5="NT41P#I8TE4P]3@HE(XKQ6K,]P"(FX,S'?G0?37A^2VP(/KHJ M4TATNKS9Z>_16Z?:ZPS0@^ Q0#N'+P70/?YV2Q!ZV&IW[2Q\((VM $+E4MG'<=2P M63;BI=Y[ZL67TDB=7N5:AWG8@JS+H M$BB-BH=MHP!GPA8M4Q&[ P%=AEK$@BMA'1 ^SSOVSVU/I;:YUZU)[1*UXT:I M"089<+%5*E SBJA$N0]*AUO.B&4.AX:O"%8+&7P+R0J"=:%/\<8LV]]J$(?; M N*#5C]8!_'&5+6&Y5H2S-\Q9LDAGX0IILS9Q\?)/#PKH:=^N/ M_$S 'H9:G@3?)Q"ES>4RBDIEH[^2 M.)_H-9/:X+T]ED1?.D)']5G-WC,J"6 ,"GLD71F.71*Y>JLF M7"^J#$M^#O84NZS@YJ-B[#E+Q1VEU:'!(_G&%T^1@SK[7)1OT_:K_TJV7^Z@ M,:X72&-)4I8S5T&ZY"L+LT^H.];*UX5I'"6LD4HO4KU[@2ZS3!A#]"<9(90H M)FQ[+&"?ZV0/4 8!:TOP^&L+Z7K]T1^E@/ENK95YY,X6WFZ\R]INMMVZ7=8P M16F&4E$ 9G97:_?'D2#@HDK3B]W.C/B=S;N^5'.9UQ69[G"S/@3Z)+15&Q-_ MIO $I?$8BIH6C/8L,JO2%"J %RK(AD_^&IE?EQG @3ERSE29Y,GCLB]CNZU" MV=9M@X9(W8D"8300F4;/K+^6UUGJXJ6J2L2.6< MT#J;2,^%_ %X ;;_26W06H/ B\315YD;PA%0,VX35[6&6 >DFC UY86F0?WE M&.FC2/E\('(WHE,ZKOH*I3$R<^B>VAR$TJ7Z1=9!VS=7UP..CEJ'_:Z](6 4 M_L?UP-7E@9:[/+!OXO6V7K?5:Q\]V]QN=3ZK+6CU#S]/\T^-;74.GF_=,EN[ MK7Y_LXG==T'S@0,T=,'S]SO=G5JA6L6#H+AGG8>W(^S"7D.'+/YRJG.W4SZ M/EQIP"Y15X18SD'/_TRZ6#;53'RYDQ[]+^/G(RKXN$]MZ]'.-^O^MN/VS6X/ M&VN[I(>7"G?7JKP$!Q1 MFN=5GKN ^>S%W^K37T/>=]>?_PM02P,$% @ '()85V@*C[94!0 JR8 M !( !C86QX7S(S<3-E>#,R,2YH=&WM6FUOVS80_KY?<7.P- 5L19+EQF\- MX#D.:J"ST]A9ND\#+5$144E422J)]^MWI"3'B9,NZ+8F;>P/AJ7CO3S'(WF/ MP7ZDDOBP'U$2'/[4_[G1@"/NYPE-%?B"$D4#R"5++^ \H/(3-!KEJ"'/EH)= M1 I?V"4IY(JIF!Y6=OK[Q7-_WSCI+WBP/.P'[!)8\+;&%L1I^J[G M.JVVXW4\K^W;M-,^\-X<^'ZGU>K\Z=10%8<7.E(M8_JVEK"T$5'MO^NYUD$K M4[TK%JBHZ]CV+S4S]+ ?\E2A/X'ZQ<_"S(8Q1:]5@\3L(NT:2+5"M1+[/.:B MNV.;3T]+&B%)6+SLOIJSA$J8T"LXY0E)7]4E265#4L'"8J!D?]%N!Z,S3U=% MQ =H)F8IK1 XKHYY=!VQ!5/0="WG=L#KN(FX0.B*9\;J6N0^IIJ*IPE].#J= MCX_'P\%\/)W ]!B&[\:C8QA]' W/YN/?1_@*I:-3&$R.2MGQ>#*8#,>#]Y7L M0GL;#"9PWP*3AO.K)DUM& V&AK,3K-EUY\[A,$,!D?3D_GH"-;0 M//>HJQ1W[#>ZM.;O1C ;G/XZF(QFC>G']Z,_8#"<:XEKV^XC%\[_C<2[%\FX M#K\Q/R(TAG-*4]Q5Z^!3H5BXK$.6"YD3C$GQ]?JBOF(\W=UQWM@]4V1 ))" M9WIG7M>Y-5+GBH>@(@HS(A8DI;(QO8[I$@:^TA*=JSK*B3*#/N1$X 3'2SBE M&1=FR!"G_KH.X]2W8$\/VMUINZ[=&_(D(^G2/#F]U\!3..8B <=N?("0"V,P M9-(G,7PN[ )- PQW1C'J9$%%$603P9C#(\QC].RCW9AALJ^8BHP103_G3%!] MB$@=T9UD[!%T+L!I[06O5VBIGPNFM)G1-:8ZO: 59*?3]("D08&:I1AJ0K0] M])PJ@K,5X%N0N1_=DX];( G3HDQ0:4)#+1+'@-:P+! UOL\P5%EF(B6IKU^C MFX 9ASH*')3'!2Z>46$BD16,,L?61CD_2=T6"7_,TFJ9I:7((J:5=,%%0$4# M0XU))FFW^M$+F,QBLNRRU'@T2KW2UH(KQ1-MKG>I%PC64KD3F4VI$)@K/.E54#DN^P'+] /[*MB4>4W+LSL/BFW+^2J9:V$K\U6:7PS6<@X> MECZS6)L6=FZ/,KMO)JV8."P-B67_MM:L50H9"0+<)[MN=@W.[88GIN%F=?#L MFV_MIN$\PK6_N]-J]V#J*XY;'+A>L;NMEDV9B7\/LJC^I\%Y9ROX9TRV1E1[ ML?"?>]WN[G@'/6F^[_8FMU ^YI^#"-&0^1(R)<4NZ0P#4.&7'2S[/=-8_[EMM];,>I[ M_FY[?B1\R,429@PY:4S$EH)O*?B6@F\I^):"?^?GVY:";_NR[[%NURGXKU_P-O\P7A/EY1D?^(<']C'C*/F"P),R:U8%*^;ZB2)GR: M.-V0-*3$5Q%#+L<4&.->!;PR]C]VNZ\#>54111R M#2B&BG27:CLD5*7C (.N".O)Y5?A>7Q?;-);6_ 5!+ 0(4 Q0 M ( !R"6%<.^I5*M%H! ']D$0 1 " 0 !C86QX+3(P M,C,P.3,P+FAT;5!+ 0(4 Q0 ( !R"6%< 2<)^S T )F2 1 M " >-: 0!C86QX+3(P,C,P.3,P+GAS9%!+ 0(4 Q0 ( !R"6%?F M*Y=FCAX *8C 0 5 " =YH 0!C86QX+3(P,C,P.3,P7V-A M;"YX;6Q02P$"% ,4 " <@EA7=1F0G;DT #': ( %0 M@ &?AP$ 8V%L>"TR,#(S,#DS,%]D968N>&UL4$L! A0#% @ '()85R3= ML!Y;U 9NL( !4 ( !B[P! &-A;'@M,C R,S Y,S!?;&%B M+GAM;%!+ 0(4 Q0 ( !R"6%?;TI2VY'4 (F,!0 5 " M 1F1 @!C86QX+3(P,C,P.3,P7W!R92YX;6Q02P$"% ,4 " <@EA7,GC< M)@X( 9+0 $@ @ $P!P, 8V%L>%\R,W$S97@S,3$N:'1M M4$L! A0#% @ '()85Z;23RT!" !2T !( ( !;@\# M &-A;'A?,C-Q,V5X,S$R+FAT;5!+ 0(4 Q0 ( !R"6%=H"H^V5 4 *LF M 2 " 9\7 P!C86QX7S(S<3-E>#,R,2YH=&U02P4& / D "0!* @ (QT# end