0000851205-23-000008.txt : 20230504 0000851205-23-000008.hdr.sgml : 20230504 20230504070134 ACCESSION NUMBER: 0000851205-23-000008 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 94 CONFORMED PERIOD OF REPORT: 20230402 FILED AS OF DATE: 20230504 DATE AS OF CHANGE: 20230504 FILER: COMPANY DATA: COMPANY CONFORMED NAME: COGNEX CORP CENTRAL INDEX KEY: 0000851205 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823] IRS NUMBER: 042713778 STATE OF INCORPORATION: MA FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34218 FILM NUMBER: 23886377 BUSINESS ADDRESS: STREET 1: ONE VISION DR CITY: NATICK STATE: MA ZIP: 01760 BUSINESS PHONE: 5086503000 MAIL ADDRESS: STREET 1: ONE VISION DRIVE CITY: NATICK STATE: MA ZIP: 01760 10-Q 1 cgnx-20230402.htm 10-Q cgnx-20230402
0000851205--12-312023Q1falseP4YP3YP3Y00008512052023-01-012023-04-0200008512052023-04-02xbrli:sharesiso4217:USD00008512052022-01-012022-04-03iso4217:USDxbrli:shares0000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-04-0200008512052022-12-3100008512052021-12-3100008512052022-04-030000851205us-gaap:CommonStockMember2022-12-310000851205us-gaap:AdditionalPaidInCapitalMember2022-12-310000851205us-gaap:RetainedEarningsMember2022-12-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310000851205us-gaap:CommonStockMember2023-01-012023-04-020000851205us-gaap:AdditionalPaidInCapitalMember2023-01-012023-04-020000851205us-gaap:RetainedEarningsMember2023-01-012023-04-020000851205us-gaap:CommonStockMember2023-04-020000851205us-gaap:AdditionalPaidInCapitalMember2023-04-020000851205us-gaap:RetainedEarningsMember2023-04-020000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-020000851205us-gaap:CommonStockMember2021-12-310000851205us-gaap:AdditionalPaidInCapitalMember2021-12-310000851205us-gaap:RetainedEarningsMember2021-12-310000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310000851205us-gaap:CommonStockMember2022-01-012022-04-030000851205us-gaap:AdditionalPaidInCapitalMember2022-01-012022-04-030000851205us-gaap:RetainedEarningsMember2022-01-012022-04-030000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-04-030000851205us-gaap:CommonStockMember2022-04-030000851205us-gaap:AdditionalPaidInCapitalMember2022-04-030000851205us-gaap:RetainedEarningsMember2022-04-030000851205us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-030000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2023-04-020000851205us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:CorporateBondSecuritiesMember2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:CorporateBondSecuritiesMember2023-04-020000851205us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateBondSecuritiesMember2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:USTreasurySecuritiesMember2023-04-020000851205us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:AssetBackedSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:AssetBackedSecuritiesMember2023-04-020000851205us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:AssetBackedSecuritiesMember2023-04-020000851205cgnx:AgencyBondsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-04-020000851205cgnx:AgencyBondsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2023-04-020000851205us-gaap:FairValueInputsLevel3Membercgnx:AgencyBondsMemberus-gaap:FairValueMeasurementsRecurringMember2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:SovereignDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-04-020000851205us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Memberus-gaap:SovereignDebtSecuritiesMember2023-04-020000851205us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:SovereignDebtSecuritiesMember2023-04-020000851205us-gaap:MunicipalBondsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-04-020000851205us-gaap:MunicipalBondsMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2023-04-020000851205us-gaap:FairValueInputsLevel3Memberus-gaap:MunicipalBondsMemberus-gaap:FairValueMeasurementsRecurringMember2023-04-020000851205us-gaap:CorporateBondSecuritiesMember2023-04-020000851205us-gaap:CorporateBondSecuritiesMember2022-12-310000851205us-gaap:AssetBackedSecuritiesMember2023-04-020000851205us-gaap:AssetBackedSecuritiesMember2022-12-310000851205cgnx:AgencyBondsMember2023-04-020000851205cgnx:AgencyBondsMember2022-12-310000851205us-gaap:USTreasurySecuritiesMember2023-04-020000851205us-gaap:USTreasurySecuritiesMember2022-12-310000851205us-gaap:MunicipalBondsMember2023-04-020000851205us-gaap:MunicipalBondsMember2022-12-310000851205us-gaap:SovereignDebtMember2023-04-020000851205us-gaap:SovereignDebtMember2022-12-310000851205us-gaap:OtherCurrentAssetsMember2023-04-020000851205us-gaap:OtherCurrentAssetsMember2022-12-310000851205cgnx:CurrentAssetsMemberus-gaap:CorporateBondSecuritiesMember2023-04-020000851205cgnx:CurrentAssetsMemberus-gaap:AssetBackedSecuritiesMember2023-04-020000851205cgnx:AgencyBondsMembercgnx:CurrentAssetsMember2023-04-020000851205cgnx:CurrentAssetsMemberus-gaap:USTreasurySecuritiesMember2023-04-020000851205us-gaap:MunicipalBondsMembercgnx:CurrentAssetsMember2023-04-020000851205cgnx:NonCurrentAssetsMemberus-gaap:CorporateBondSecuritiesMember2023-04-020000851205cgnx:NonCurrentAssetsMemberus-gaap:USTreasurySecuritiesMember2023-04-020000851205cgnx:NonCurrentAssetsMemberus-gaap:AssetBackedSecuritiesMember2023-04-020000851205cgnx:NonCurrentAssetsMemberus-gaap:SovereignDebtSecuritiesMember2023-04-020000851205us-gaap:SovereignDebtSecuritiesMember2023-04-020000851205cgnx:SouthboroughMassachusettsMember2021-12-31utr:sqft0000851205cgnx:SouthboroughMassachusettsMember2021-12-012021-12-310000851205cgnx:SouthboroughMassachusettsMember2022-04-03xbrli:pure0000851205us-gaap:DevelopedTechnologyRightsMember2023-04-020000851205cgnx:CustomerContractsAndRelationshipsMember2023-04-020000851205us-gaap:OtherIntangibleAssetsMember2023-04-020000851205us-gaap:DevelopedTechnologyRightsMember2022-12-310000851205cgnx:CustomerContractsAndRelationshipsMember2022-12-310000851205us-gaap:OtherIntangibleAssetsMember2022-12-310000851205cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember2023-04-020000851205us-gaap:NondesignatedMember2023-01-012023-04-020000851205currency:EURus-gaap:NondesignatedMember2023-04-02iso4217:EUR0000851205currency:EURus-gaap:NondesignatedMember2022-12-310000851205currency:MXNus-gaap:NondesignatedMember2023-04-02iso4217:MXN0000851205currency:MXNus-gaap:NondesignatedMember2022-12-310000851205currency:HUFus-gaap:NondesignatedMember2023-04-02iso4217:HUF0000851205currency:HUFus-gaap:NondesignatedMember2022-12-310000851205currency:JPYus-gaap:NondesignatedMember2023-04-02iso4217:JPY0000851205currency:JPYus-gaap:NondesignatedMember2022-12-310000851205us-gaap:NondesignatedMembercurrency:GBP2023-04-02iso4217:GBP0000851205us-gaap:NondesignatedMembercurrency:GBP2022-12-310000851205us-gaap:NondesignatedMembercurrency:CAD2023-04-02iso4217:CAD0000851205us-gaap:NondesignatedMembercurrency:CAD2022-12-310000851205us-gaap:NondesignatedMembercurrency:CNY2023-04-02iso4217:CNY0000851205us-gaap:NondesignatedMembercurrency:CNY2022-12-310000851205currency:CHFus-gaap:NondesignatedMember2023-04-02iso4217:CHF0000851205currency:CHFus-gaap:NondesignatedMember2022-12-310000851205us-gaap:NondesignatedMember2023-04-020000851205us-gaap:NondesignatedMember2022-12-310000851205us-gaap:NondesignatedMember2022-01-012022-04-030000851205srt:AmericasMember2023-01-012023-04-020000851205srt:AmericasMember2022-01-012022-04-030000851205srt:EuropeMember2023-01-012023-04-020000851205srt:EuropeMember2022-01-012022-04-030000851205country:CN2023-01-012023-04-020000851205country:CN2022-01-012022-04-030000851205cgnx:AsiaExcludingChinaMember2023-01-012023-04-020000851205cgnx:AsiaExcludingChinaMember2022-01-012022-04-030000851205cgnx:StandardProductsandServicesMember2023-01-012023-04-020000851205cgnx:StandardProductsandServicesMember2022-01-012022-04-030000851205cgnx:ApplicationSpecificCustomerSolutionsMember2023-01-012023-04-020000851205cgnx:ApplicationSpecificCustomerSolutionsMember2022-01-012022-04-030000851205us-gaap:EmployeeStockOptionMember2023-04-020000851205cgnx:GeneralStockOptionPlanMembersrt:MinimumMember2023-01-012023-04-020000851205srt:MaximumMembercgnx:GeneralStockOptionPlanMember2023-01-012023-04-020000851205us-gaap:EmployeeStockOptionMember2023-01-012023-04-020000851205us-gaap:RestrictedStockUnitsRSUMembersrt:MinimumMember2023-01-012023-04-020000851205srt:MaximumMemberus-gaap:RestrictedStockUnitsRSUMember2023-01-012023-04-020000851205us-gaap:PerformanceSharesMember2023-01-012023-04-020000851205us-gaap:RestrictedStockUnitsRSUMember2022-12-310000851205us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-04-020000851205us-gaap:RestrictedStockUnitsRSUMember2023-04-020000851205us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-04-030000851205us-gaap:PerformanceSharesMember2022-12-310000851205us-gaap:PerformanceSharesMember2023-04-020000851205us-gaap:PerformanceSharesMember2022-01-012022-04-03cgnx:group0000851205us-gaap:CostOfGoodsTotalMember2023-01-012023-04-020000851205us-gaap:CostOfGoodsTotalMember2022-01-012022-04-030000851205us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-04-020000851205us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-04-030000851205cgnx:SellingGeneralAndAdministrativeMember2023-01-012023-04-020000851205cgnx:SellingGeneralAndAdministrativeMember2022-01-012022-04-030000851205cgnx:RepurchaseProgramMarch2020Member2020-03-120000851205cgnx:RepurchaseProgramMarch2020Member2022-01-012022-12-310000851205cgnx:RepurchaseProgramMarch2022Member2022-03-030000851205cgnx:RepurchaseProgramMarch2022Member2022-01-012022-04-030000851205cgnx:RepurchaseProgramMarch2022Member2023-01-012023-04-020000851205cgnx:RepurchaseProgramMarch2022Member2023-04-020000851205us-gaap:RevenueCommissionersIrelandMemberus-gaap:ForeignCountryMember2023-01-012023-04-020000851205us-gaap:ForeignCountryMemberus-gaap:StateAdministrationOfTaxationChinaMember2023-01-012023-04-020000851205country:KPus-gaap:ForeignCountryMember2023-01-012023-04-020000851205us-gaap:DomesticCountryMember2023-01-012023-04-0200008512052022-07-042022-10-020000851205us-gaap:EmployeeStockOptionMember2023-01-012023-04-020000851205us-gaap:EmployeeStockOptionMember2022-01-012022-04-030000851205us-gaap:RestrictedStockMember2023-01-012023-04-020000851205us-gaap:RestrictedStockMember2022-01-012022-04-030000851205us-gaap:PerformanceSharesMember2023-01-012023-04-020000851205us-gaap:PerformanceSharesMember2022-01-012022-04-0300008512052022-01-012022-12-3100008512052022-10-032022-12-310000851205us-gaap:SubsequentEventMember2023-04-032023-05-030000851205cgnx:December2022Memberus-gaap:OneTimeTerminationBenefitsMemberus-gaap:AccruedLiabilitiesMember2022-12-310000851205us-gaap:ContractTerminationMembercgnx:December2022Memberus-gaap:AccruedLiabilitiesMember2022-12-310000851205cgnx:December2022Memberus-gaap:AccruedLiabilitiesMember2022-12-310000851205cgnx:December2022Memberus-gaap:OneTimeTerminationBenefitsMemberus-gaap:AccruedLiabilitiesMember2023-01-012023-04-020000851205us-gaap:ContractTerminationMembercgnx:December2022Memberus-gaap:AccruedLiabilitiesMember2023-01-012023-04-020000851205cgnx:December2022Memberus-gaap:AccruedLiabilitiesMember2023-01-012023-04-020000851205cgnx:December2022Memberus-gaap:OneTimeTerminationBenefitsMemberus-gaap:AccruedLiabilitiesMember2023-04-020000851205us-gaap:ContractTerminationMembercgnx:December2022Memberus-gaap:AccruedLiabilitiesMember2023-04-020000851205cgnx:December2022Memberus-gaap:AccruedLiabilitiesMember2023-04-020000851205us-gaap:SubsequentEventMember2023-05-042023-05-04

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 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 April 2, 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-34218
COGNEX CORPORATION
(Exact name of registrant as specified in its charter)
Massachusetts 04-2713778
(State or other jurisdiction of
incorporation or organization)
 (I.R.S. Employer
Identification No.)

One Vision Drive
Natick, Massachusetts 01760-2059
(508) 650-3000
(Address, including zip code, and telephone number, including area code, of principal executive offices)

Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, par value $.002 per shareCGNXThe NASDAQ Stock Market LLC

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.  
 Yes   No  
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).
 Yes   No  
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and "emerging growth company" in Rule 12b-2 of the Exchange Act (Check one):
Large accelerated filer  Accelerated filer
Non-accelerated filer  Smaller reporting company
Emerging growth company
If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. o

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b). o

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    
 Yes   No  
As of April 2, 2023, there were 172,601,360 shares of Common Stock, $.002 par value per share, of the registrant outstanding.



INDEX
 
PART IFINANCIAL INFORMATION

2


PART I: FINANCIAL INFORMATION
ITEM 1: FINANCIAL STATEMENTS

COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(In thousands, except per share amounts)
 
 Three-months Ended
April 2, 2023April 3, 2022
 (unaudited)
Revenue$201,124 $282,407 
Cost of revenue57,384 78,790 
Gross margin143,740 203,617 
Research, development, and engineering expenses38,542 36,054 
Selling, general, and administrative expenses83,037 80,835 
Operating income22,161 86,728 
Foreign currency gain (loss)394 (444)
Investment income3,587 1,468 
Other income (expense)73 (48)
Income before income tax expense26,215 87,704 
Income tax expense600 20,371 
Net income$25,615 $67,333 
Net income per weighted-average common and common-equivalent share:
Basic$0.15 $0.39 
Diluted$0.15 $0.38 
Weighted-average common and common-equivalent shares outstanding:
Basic172,624 174,146 
Diluted173,903 176,668 
Cash dividends per common share$0.070 $0.065 














 
The accompanying notes are an integral part of these consolidated financial statements.
3


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands)
 
 Three-months Ended
April 2, 2023April 3, 2022
 (unaudited)
Net income$25,615 $67,333 
Other comprehensive income (loss), net of tax:
Available-for-sale investments:
Net unrealized gain (loss), net of tax of $1,858 and $(4,036) in the three-month periods, respectively
5,426 (13,548)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations 36 
Net change related to available-for-sale investments5,426 (13,512)
Foreign currency translation adjustments:
Foreign currency translation adjustments(359)(2,111)
Net change related to foreign currency translation adjustments(359)(2,111)
Other comprehensive income (loss), net of tax5,067 (15,623)
Total comprehensive income$30,682 $51,710 





















The accompanying notes are an integral part of these consolidated financial statements.
4


COGNEX CORPORATION
CONSOLIDATED BALANCE SHEETS
(In thousands)
 
April 2, 2023December 31, 2022
 (unaudited) 
ASSETS
Current assets:
Cash and cash equivalents$164,171 $181,374 
Current investments, amortized cost of $220,943 and $223,545 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022
216,703 218,759 
Accounts receivable, allowance for credit losses of $1,001 and $730 in 2023 and 2022, respectively
144,154 125,417 
Unbilled revenue2,354 2,179 
Inventories127,147 122,480 
Prepaid expenses and other current assets67,634 67,490 
Total current assets722,163 717,699 
Non-current investments, amortized cost of $478,329 and $476,148 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022
463,039 454,117 
Property, plant, and equipment, net81,274 79,714 
Operating lease assets37,769 37,682 
Goodwill242,041 242,630 
Intangible assets, net11,472 12,414 
Deferred income taxes409,583 407,241 
Other assets6,725 6,643 
Total assets$1,974,066 $1,958,140 
LIABILITIES AND SHAREHOLDERS’ EQUITY
Current liabilities:
Accounts payable$26,939 $27,103 
Accrued expenses83,527 93,235 
Accrued income taxes37,529 18,129 
Deferred revenue and customer deposits57,805 40,787 
Operating lease liabilities8,177 8,454 
Total current liabilities213,977 187,708 
Non-current operating lease liabilities31,389 31,298 
Deferred income taxes243,557 249,961 
Reserve for income taxes20,030 15,866 
Non-current accrued income taxes18,338 33,008 
Other liabilities444 1,905 
Total liabilities527,735 519,746 
Commitments and contingencies (Note 10)
Shareholders’ equity:
Preferred stock, $.01 par value – Authorized: 400 shares in 2023 and 2022, respectively; no shares issued and outstanding
  
Common stock, $.002 par value – Authorized: 300,000 shares in 2023 and 2022, respectively; issued and outstanding: 172,601 and 172,631 shares in 2023 and 2022, respectively
345 345 
Additional paid-in capital992,690 979,167 
Retained earnings517,526 528,179 
Accumulated other comprehensive loss, net of tax(64,230)(69,297)
Total shareholders’ equity1,446,331 1,438,394 
Total liabilities and shareholders' equity$1,974,066 $1,958,140 

The accompanying notes are an integral part of these consolidated financial statements.
5


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
 Three-months Ended
April 2, 2023April 3, 2022
 (unaudited)
Cash flows from operating activities:
Net income$25,615 $67,333 
Adjustments to reconcile net income to net cash provided by operating activities:
Stock-based compensation expense16,579 15,056 
Depreciation of property, plant, and equipment3,986 4,117 
Amortization of intangible assets942 840 
Excess and obsolete inventory charges788 379 
Amortization of discounts or premiums on investments700 1,402 
Realized loss (gain) on sale of investments 36 
Change in deferred income taxes(10,656)(3,891)
Change in operating assets and liabilities:
Accounts receivable(18,455)(24,700)
Unbilled revenue(173)2,144 
Inventories(5,338)(23,900)
Prepaid expenses and other current assets231 4,212 
Accounts payable(192)708 
Accrued expenses(9,942)(28,718)
Accrued income taxes4,721 16,745 
Deferred revenue and customer deposits17,003 18,712 
Other1,744 (958)
Net cash provided by operating activities27,553 49,517 
Cash flows from investing activities:
Purchases of investments(46,480)(39,155)
Maturities and sales of investments46,199 112,976 
Purchases of property, plant, and equipment(5,507)(4,585)
Net cash provided by (used in) investing activities(5,788)69,236 
Cash flows from financing activities:
Net payments from issuance of common stock under stock plans(3,055)3,594 
Repurchase of common stock(24,178)(130,405)
Payment of dividends(12,091)(11,303)
Net cash provided by (used in) financing activities(39,324)(138,114)
Effect of foreign exchange rate changes on cash and cash equivalents356 (1,031)
Net change in cash and cash equivalents(17,203)(20,392)
Cash and cash equivalents at beginning of period181,374 186,161 
Cash and cash equivalents at end of period$164,171 $165,769 













The accompanying notes are an integral part of these consolidated financial statements.
6


COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)
 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of December 31, 2022172,631 $345 $979,167 $528,179 $(69,297)$1,438,394 
Net issuance of common stock under stock plans449 1 (3,056)— — (3,055)
Repurchase of common stock(479)(1)— (24,177)— (24,178)
Stock-based compensation expense— — 16,579 — — 16,579 
Payment of dividends ($0.070 per common share)
— — — (12,091)— (12,091)
Net income— — — 25,615 — 25,615 
Net unrealized gain (loss) on available-for-sale investments, net of tax of $1,858
— — — — 5,426 5,426 
Foreign currency translation adjustment— — — — (359)(359)
Balance as of April 2, 2023 (unaudited)172,601 $345 $992,690 $517,526 $(64,230)$1,446,331 

 Common StockAdditional
Paid-in Capital
Retained EarningsAccumulated
Other
Comprehensive
Loss
Total
Shareholders’
Equity
 SharesPar Value
Balance as of December 31, 2021175,481 $351 $914,802 $562,882 $(47,942)$1,430,093 
Net issuance of common stock under stock plans136  3,594 — — 3,594 
Repurchase of common stock(1,879)(4)— (130,401)— (130,405)
Stock-based compensation expense— — 15,056 — — 15,056 
Payment of dividends ($0.065 per common share)
— — — (11,303)— (11,303)
Net income— — — 67,333 — 67,333 
Net unrealized gain (loss) on available-for-sale investments, net of tax of $(4,036)
— — — — (13,548)(13,548)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments— — — — 36 36 
Foreign currency translation adjustment— — — — (2,111)(2,111)
Balance as of April 3, 2022 (unaudited)173,738 $347 $933,452 $488,511 $(63,565)$1,358,745 













The accompanying notes are an integral part of these consolidated financial statements.
7


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

NOTE 1: Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 for a full description of other significant accounting policies.
In the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of April 2, 2023, and the results of its operations for the three-month periods ended April 2, 2023 and April 3, 2022, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month period ended April 2, 2023 are not necessarily indicative of the results to be expected for the full year.
NOTE 2: New Pronouncements
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting", (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope", and Accounting Standards Update (ASU) 2022-06, "Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848"
The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2024, except for hedging relationships existing as of December 31, 2024 that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2024. Management adopted Topic 848 on January 1, 2023, and now uses the Secured Overnight Financing Rate (SOFR). The adoption did not have a material impact on the Company's financial statements and disclosures.

8


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 3: Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April 2, 2023 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$3,618 $ $ 
Corporate bonds 545,863  
Treasury bills 61,112  
Asset-backed securities 54,146  
Agency bonds 16,038  
Sovereign bonds 1,954  
Municipal bonds 629  
Economic hedge forward contracts 154  
Liabilities:
Economic hedge forward contracts 74  
The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1.
The Company’s debt securities and forward contracts are reported at fair value based on model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.
Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis
Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company did not record impairment charges related to non-financial assets during the three-month periods ended April 2, 2023 or April 3, 2022.
9


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 4: Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
April 2, 2023December 31, 2022
Cash$160,553 $180,959 
Money market instruments3,618 415 
Cash and cash equivalents164,171 181,374 
Corporate bonds160,320 164,055 
Asset-backed securities31,265 26,890 
Agency bonds16,038 15,858 
Treasury bills8,451 11,332 
Municipal bonds629 624 
Current investments216,703 218,759 
Corporate bonds385,543 374,440 
Treasury bills52,661 44,214 
Asset-backed securities22,881 33,539 
Sovereign bonds1,954 1,924 
Non-current investments463,039 454,117 
$843,913 $854,250 
Corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing; treasury bills consist of debt securities issued by the U.S. government; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All of the Company's securities as of April 2, 2023 and December 31, 2022 were denominated in U.S. Dollars.
Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $4,559,000 and $3,620,000 as of April 2, 2023 and December 31, 2022, respectively.
The following table summarizes the Company’s available-for-sale investments as of April 2, 2023 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Corporate bonds$163,537 $3 $(3,220)$160,320 
Asset-backed securities32,016  (751)31,265 
Agency bonds16,148  (110)16,038 
Treasury bills8,607  (156)8,451 
Municipal bonds635  (6)629 
Non-current:
Corporate bonds400,051 1,623 (16,131)385,543 
Treasury bills52,290 489 (118)52,661 
Asset-backed securities23,905 117 (1,141)22,881 
Sovereign bonds2,083  (129)1,954 
$699,272 $2,232 $(21,762)$679,742 
10


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April 2, 2023 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$81,931 $(1,098)$350,244 $(18,253)$432,175 $(19,351)
Asset-backed securities10,998 (213)32,783 (1,679)43,781 (1,892)
Agency bonds  16,037 (110)16,037 (110)
Treasury bills4,878 (117)8,451 (157)13,329 (274)
Sovereign bonds  1,954 (129)1,954 (129)
Municipal bonds629 (6)  629 (6)
$98,436 $(1,434)$409,469 $(20,328)$507,905 $(21,762)
Management monitors debt securities that are in an unrealized loss position to determine whether a loss exists related to the credit quality of the issuer. When developing an estimate of expected credit losses, management considers all relevant information including historical experience, current conditions, and reasonable forecasts of expected future cash flows. Based on this evaluation, no allowance for credit losses on debt securities was recorded as of April 2, 2023 or December 31, 2022. There was no activity recorded in the allowance for credit losses during the three-month periods ended April 2, 2023 or April 3, 2022. Management currently intends to hold these securities to full value recovery at maturity.
The Company recorded no gross realized gains or gross realized losses on the sale of debt securities for the three-month period ended April 2, 2023. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $118,000 and $154,000, respectively, for the three-month period ended April 3, 2022. Realized gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, were recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of April 2, 2023 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 Years5-8 YearsTotal
Corporate bonds$160,320 $166,170 $87,347 $63,241 $66,558 $2,227 $545,863 
Treasury bills8,451 3,414 15,156 17,837 16,254  61,112 
Asset-backed securities31,265 2,579 12,599 7,703   54,146 
Agency bonds16,038      16,038 
Sovereign bonds 978 976    1,954 
Municipal bonds629      629 
$216,703 $173,141 $116,078 $88,781 $82,812 $2,227 $679,742 

NOTE 5: Inventories
Inventories consisted of the following (in thousands):
April 2, 2023December 31, 2022
Raw materials$77,520 $71,720 
Work-in-process1,489 906 
Finished goods48,138 49,854 
$127,147 $122,480 
11


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 6: Leases
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion.
As of April 2, 2023, there was one option to terminate and eighteen options to extend that were accounted for in the determination of the lease term for outstanding leases. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of April 2, 2023.
The total operating lease expense for the three-month periods ended April 2, 2023 and April 3, 2022 were $2,392,000 and $2,229,000, respectively. The total operating lease cash payments for the three-month periods ended April 2, 2023 and April 3, 2022 were $2,404,000 and $2,079,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month periods ended April 2, 2023 and April 3, 2022 was $24,000 and $38,000, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2023$7,284 
20247,530 
20255,477 
20264,221 
20273,716 
20283,448 
Thereafter12,769 
$44,445 
The discounted present value of the future lease cash payments resulted in a total lease liability of $39,566,000 and $39,752,000 as of April 2, 2023 and December 31, 2022, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of April 2, 2023.
In December 2021, the Company entered into a lease for a 65,000 square-foot building in Southborough, Massachusetts for a term of ten years to serve as a new distribution center for customers in the Americas. The Company has the right and option to extend the term of this lease for an additional period of five years, commencing upon the expiration of the original ten-year term. This lease commenced during the first quarter of 2022, and therefore the Company recorded approximately $9,271,000 within "Operating lease assets" and "Operating lease liabilities" on the Consolidated Balance Sheets on the commencement date.
The weighted-average discount rate was 3.3% for the leases outstanding as of both April 2, 2023 and December 31, 2022. The weighted-average remaining lease term was 7.6 and 7.8 years for the leases outstanding as of April 2, 2023 and December 31, 2022, respectively.
NOTE 7: Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2022$242,630 
  Foreign exchange rate changes(589)
Balance as of April 2, 2023$242,041 
12


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 8: Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Completed technologies$28,017 $(18,492)$9,525 
Customer relationships5,838 (4,040)1,798 
Non-compete agreements340 (191)149 
Balance as of April 2, 2023$34,195 $(22,723)$11,472 
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Completed technologies$28,017 $(17,744)$10,273 
Customer relationships5,838 (3,860)1,978 
Non-compete agreements340 (177)163 
Balance as of December 31, 2022$34,195 $(21,781)$12,414 
As of April 2, 2023, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2023$2,195 
20242,623 
20252,300 
20261,995 
20271,273 
2028543 
Thereafter543 
$11,472 
NOTE 9: Warranty Obligations
The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2022$4,375 
Provisions for warranties issued during the period527 
Fulfillment of warranty obligations(828)
Balance as of April 2, 2023$4,074 
13


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 10: Commitments and Contingencies
As of April 2, 2023, the Company had outstanding purchase orders totaling $47,486,000 to procure inventory from various vendors. Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate primarily to expected sales in the next twelve months.
A significant portion of the Company's outstanding inventory purchase orders as of April 2, 2023, as well as additional preauthorized commitments to procure strategic components based on the Company's expected customer demand, are placed with the Company's primary contract manufacturer for the Company's assembled products. The Company has the obligation to purchase any non-cancelable and non-returnable components that have been purchased by the contract manufacturer with the Company's preauthorization, when these components have not been consumed within the period defined in the terms of the Company's agreement with this contract manufacturer. While the Company typically expects such purchased components to be used in future production of Cognex finished goods, these components are considered in the Company's reserve estimate for excess and obsolete inventory. Furthermore, the Company accrues for losses on commitments for the future purchase of non-cancelable and non-returnable components from this contract manufacturer at the time that circumstances, such as changes in demand, indicate that the value of the components may not be recoverable, the loss is probable, and management has the ability to reasonably estimate the amount of the loss.
Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.
NOTE 11: Derivative Instruments
The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities that do not exceed approximately three months to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.
The Company had the following outstanding forward contracts (in thousands):
April 2, 2023December 31, 2022
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Euro32,500 $35,529 60,000 $64,174 
Mexican Peso155,000 8,498 185,000 9,480 
Hungarian Forint1,890,000 5,381 1,590,000 4,238 
Japanese Yen600,000 4,536 700,000 5,281 
British Pound3,485 4,313 3,445 4,161 
Canadian Dollar1,705 1,261 1,730 1,278 
Chinese Renminbi  55,000 7,619 
Swiss Franc  1,120 1,218 

14


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
April 2, 2023December 31, 2022Sheet
Location
April 2, 2023December 31, 2022
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$154 $27 Accrued expenses$74 $479 

The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset DerivativesLiability Derivatives
April 2, 2023December 31, 2022April 2, 2023December 31, 2022
Gross amounts of recognized assets$154 $27 Gross amounts of recognized liabilities$74 $479 
Gross amounts offset  Gross amounts offset  
Net amount of assets presented$154 $27 Net amount of liabilities presented$74 $479 

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months Ended
 April 2, 2023April 3, 2022
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$(1,471)$1,739 
15


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 12: Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months Ended
April 2, 2023April 3, 2022
Americas$80,442 $126,658 
Europe59,842 62,792 
Greater China33,172 48,406 
Other Asia27,668 44,551 
$201,124 $282,407 

The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months Ended
April 2, 2023April 3, 2022
Standard products and services$190,783 $257,880 
Application-specific customer solutions10,341 24,527 
$201,124 $282,407 
Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $20,219,000 and $14,578,000 as of April 2, 2023 and December 31, 2022, respectively.
Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.
The following table summarizes the allowance for credit losses activity for the three-month period ended April 2, 2023 (in thousands):
Balance as of December 31, 2022$730 
Increases to the allowance for credit losses350 
Write-offs, net of recoveries(78)
Foreign exchange rate changes(1)
Balance as of April 2, 2023$1,001 
16


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 2, 2023 (in thousands):
Balance as of December 31, 2022$40,787 
Deferral of revenue billed in the current period, net of recognition34,786 
Recognition of revenue deferred in prior period(8,578)
Returned customer deposit(9,205)
Foreign exchange rate changes15 
Balance as of April 2, 2023$57,805 
As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
NOTE 13: Stock-Based Compensation Expense
Stock Plans
The Company’s stock-based awards that result in compensation expense consist of stock options, restricted stock units ("RSUs"), and performance restricted stock units ("PRSUs"). As of April 2, 2023, the Company had 12,116,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three or four years of continuous employment or incrementally over such three or four-year periods. PRSUs generally vest upon three years of continuous employment and achievement of performance criteria established by the Compensation Committee of our Board of Directors on or prior to the grant date. Participants are not entitled to dividends on stock options, RSUs, or PRSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 20228,467 $51.56 
Granted1,228 47.21 
Exercised(140)28.36 
Forfeited or expired(247)58.05 
Outstanding as of April 2, 20239,308 $51.16 6.53$37,312 
Exercisable as of April 2, 20235,433 $47.45 5.12$33,531 
Options vested or expected to vest as of April 2, 2023 (1)8,735 $50.90 6.37$36,643 
 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
17


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months Ended
 April 2, 2023April 3, 2022
Risk-free rate4.0 %1.9 %
Expected dividend yield0.59 %0.40 %
Expected volatility39 %37 %
Expected term (in years)4.35.2
Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month periods ended April 2, 2023 and April 3, 2022 were $17.79 and $22.45, respectively.
The total intrinsic values of stock options exercised for the three-month periods ended April 2, 2023 and April 3, 2022 were $3,439,000 and $2,615,000, respectively. The total fair values of stock options vested for the three-month periods ended April 2, 2023 and April 3, 2022 were $31,181,000 and $25,535,000, respectively.
Restricted Stock Units (RSUs)
The following table summarizes the Company's RSUs activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 20221,269 $61.74 
Granted635 46.61 
Vested(453)59.11 
Forfeited or expired(32)66.98 
Nonvested as of April 2, 20231,419 $55.69 
The fair value of RSUs is determined based on the observable market price of the Company's stock on the grant date less the present value of expected future dividends. The weighted-average grant-date fair values of RSUs granted during the three-month periods ended April 2, 2023 and April 3, 2022 were $46.61 and $63.96, respectively. There were 453,000 and 54,000 RSUs that vested during the three-month periods ended April 2, 2023 and April 3, 2022, respectively.
18


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
Performance Restricted Stock Units (PRSUs)
The following table summarizes the Company's PRSUs activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 202233 $62.49 
Granted46 44.86 
Vested  
Forfeited or expired  
Nonvested as of April 2, 202379 $52.23 
The fair value of PRSUs is calculated using the Monte Carlo simulation model to estimate the probability of satisfying the service and market conditions stipulated in the award grant. There were 46,000 and 33,000 PRSUs granted during the three-month periods ended April 2, 2023 and April 3, 2022, respectively. No PRSUs vested during the three-month periods ended April 2, 2023 and April 3, 2022.
Stock-Based Compensation Expense
The Company stratifies its employee population into three groups: one consisting of the CEO, one consisting of senior management, and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 0% to all stock-based awards for the CEO, 8% to all stock-based awards for senior management, and a rate of 13% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $234,000 in 2023 and an increase to compensation expense of $1,536,000 in 2022.
As of April 2, 2023, total unrecognized compensation expense, net of estimated forfeitures, related to non-vested equity awards, including stock options, RSUs, and PRSUs, was $86,841,000, which is expected to be recognized over a weighted-average period of 2.4 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April 2, 2023 were $16,579,000 and $2,308,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April 3, 2022 were $15,056,000 and $2,319,000, respectively. No compensation expense was capitalized as of April 2, 2023 or December 31, 2022.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months Ended
 April 2, 2023April 3, 2022
Cost of revenue$621 $563 
Research, development, and engineering5,890 4,448 
Selling, general, and administrative10,068 10,045 
$16,579 $15,056 
19


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 14: Stock Repurchase Program
On March 12, 2020, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Under this March 2020 program, in addition to repurchases made in prior years, the Company repurchased 1,677,000 shares at a cost of $117,000,000 during the three-month period ended April 3, 2022, which completed purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. Under this March 2022 program, the Company repurchased 202,000 shares at a cost of $13,405,000 during the three-month period ended April 3, 2022. Under this same March 2022 program, in addition to purchases made during the prior year, the Company repurchased 479,000 shares at a total cost of $24,178,000 during the three-month period ended April 2, 2023 leaving a remaining balance of $388,508,000 as of April 2, 2023. The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
NOTE 15: Income Taxes
The Company's effective tax rate was 2% for the three-month period ended April 2, 2023, and 23% for the three-month period ended April 3, 2022.
The Company has defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 22% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These foreign tax rate differences resulted in a net decrease to the effective tax rate for both the three-month periods ended April 2, 2023 and April 3, 2022.
The Company recorded a net discrete tax benefit totaling $3,594,000 for the three-month period ended April 2, 2023, and a net discrete tax expense totaling $6,338,000 for the same period in 2022.
Discrete tax items for the three-month period ended April 2, 2023 included (1) an increase in tax expense of $1,068,000 related to stock-based compensation; (2) a decrease in tax expense of $2,292,000 for releasing tax reserves on state tax credits; (3) a decrease in tax expense of $2,198,000 for adjustments to certain deferred tax assets; and (4) a decrease in tax expense of $172,000 for return-to-provision adjustments.
Discrete tax items for the three-month period ended April 3, 2022 included (1) an increase in tax expense of $1,417,000 arising from an Internal Revenue Service (IRS) audit; (2) an increase in tax expense of $1,734,000 to establish a full valuation allowance against deferred tax assets related to foreign tax credits; and (3) an increase in tax expense of $3,187,000 consisting primarily of transfer pricing and return-to-provision adjustments.
Excluding the impact of these discrete tax items, the Company’s effective tax rate was 16% for both the three-month periods ended April 2, 2023 and April 3, 2022.
The Company’s reserve for income taxes, including gross interest and penalties, was $20,030,000 as of April 2, 2023, which was classified as a non-current liability. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.
Within the United States, the tax years 2019 through 2022 remain open to examination by the IRS, and 2018 through 2021 remain open to examination by various state tax authorities. The Company is currently under audit by the state of Massachusetts for the years 2020 and 2021. The tax years 2017 through 2022 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.

20


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 16: Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months Ended
 April 2, 2023April 3, 2022
Basic weighted-average common shares outstanding172,624 174,146 
Effect of dilutive equity awards1,279 2,522 
Weighted-average common and common-equivalent shares outstanding173,903 176,668 

Stock options to purchase 6,515,000 and 1,282,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 2, 2023 and April 3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 10,000 and 20,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 2, 2023 and April 3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. No PRSUs were excluded in the calculation of dilutive net income per share for the three-month periods ended April 2, 2023 and April 3, 2022, as PRSUs were not anti-dilutive on a weighted-average basis.
NOTE 17: Loss (Recovery) from Fire
On June 7, 2022, the Company’s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. As a result of the fire, the Company recorded $48,339,000 in gross losses in 2022, primarily related to Cognex-owned inventory that was destroyed or deemed to have a net realizable value of zero, and prepayments related to Cognex-designated components that were owned by the contract manufacturer. Gross losses were reduced by insurance proceeds received from the Company’s insurance carrier of $27,560,000 in the fourth quarter of 2022. Subsequent to the April 2, 2023 balance sheet date, but prior to the date of financial statement issuance, the Company received insurance proceeds of $2,500,000 related to a business interruption claim associated with the fire from the Company's insurance carrier. In the second quarter of 2023, this recovery amount will be presented in the caption “Loss (recovery) from fire” on the Consolidated Statements of Operations.
As of April 2, 2023 and through the date of financial statement issuance, management cannot yet estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or realizable. There can be no assurance, however, that the insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.
NOTE 18: Restructuring Charges
On December 7, 2022, the Company acquired all of the outstanding shares of SAC Sirius Advanced Cybernetics GmbH ("SAC"), a leader in computational lighting technology based in Germany. Following its acquisition of SAC, the Company performed restructuring activities to align the cost and operating structure of the acquired business with the Company's business strategy. As of December 31, 2022, the majority of these restructuring actions were completed. No additional charges were recorded during the three-month period ended April 2, 2023, or are expected to be incurred in future periods in relation to this restructuring plan.
The following table summarizes the activity in the Company’s restructuring reserve related to these restructuring activities, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsTotal
Balance as of December 31, 2022$964 $75 $1,039 
Cash payments(143)(20)(163)
Foreign exchange rate changes17 1 18 
Balance as of April 2, 2023$838 $56 $894 
21


COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 19: Subsequent Events
On May 4, 2023, the Company’s Board of Directors declared a cash dividend of $0.07 per share. The dividend is payable on June 2, 2023 to all shareholders of record as of the close of business on May 19, 2023.
22


ITEM 2: MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

Forward-Looking Statements
Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words “expects,” “anticipates,” “estimates,” “potential,” “believes,” “projects,” “intends,” “plans,” “will,” “may,” “shall,” “could,” “should,” and similar words and other statements of a similar sense. These statements are based on our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given. These forward-looking statements, which include statements regarding business and market trends, future financial performance and financial targets, the expected impact of the fire at our primary contract manufacturer's plant on our assets, business and results of operations and related recoveries, customer demand and order rates and timing of related revenue, managing supply shortages, delivery lead times, future product mix, research and development activities, sales and marketing activities, new product offerings and product development activities, capital expenditures, investments, liquidity, dividends and stock repurchases, strategic and growth plans, and estimated tax benefits and expenses and other tax matters, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include: (1) the reliance on key suppliers, such as our primary contract manufacturer, to manufacture and deliver products; (2) the expected impact of the fire at our primary contract manufacturer's plant and related recoveries; (3) delays in the delivery of our products, the failure to meet delivery schedules, and resulting customer dissatisfaction or loss of sales; (4) the inability to obtain, or the delay in obtaining, components for our products at reasonable prices; (5) the failure to effectively manage product transitions or accurately forecast customer demand; (6) the inability to manage disruptions to our distribution centers or to our key suppliers; (7) the inability to design and manufacture high-quality products; (8) the impact, duration, and severity of the COVID-19 pandemic, particularly in China, including the availability and effectiveness of vaccines as well as government lockdowns; (9) the loss of, or curtailment of purchases by, large customers in the logistics, consumer electronics, or automotive industries; (10) information security breaches; (11) the failure to comply with laws or regulations relating to data privacy or data protection; (12) the inability to protect our proprietary technology and intellectual property; (13) the inability to attract and retain skilled employees and maintain our unique corporate culture; (14) the technological obsolescence of current products and the inability to develop new products; (15) the failure to properly manage the distribution of products and services, including the management of lead times and delivery dates; (16) the impact of competitive pressures; (17) the challenges in integrating and achieving expected results from acquired businesses; (18) potential disruptions in our business systems; (19) potential impairment charges with respect to our investments or acquired intangible assets; (20) exposure to additional tax liabilities, increases and fluctuations in our effective tax rate, and other tax matters; (21) fluctuations in foreign currency exchange rates and the use of derivative instruments; (22) unfavorable global economic conditions, including increases in interest rates and high inflation rates; (23) business disruptions from natural or man-made disasters, such as fire, or public health issues; (24) economic, political, and other risks associated with international sales and operations, including the impact of trade disputes on the economic climate in China and the war in Ukraine; (25) exposure to potential liabilities, increased costs, reputational harm, and other adverse effects associated with expectations relating to environmental, social, and governance considerations; (26) stock price volatility; and (27) our involvement in time-consuming and costly litigation or activist shareholder activities. The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2022, as updated by Part II - Item 1A of this Quarterly Report on Form 10-Q. The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.
Executive Overview
Cognex Corporation (“the Company”) invents and commercializes technologies that address some of the most critical manufacturing and distribution challenges. We are a leading global provider of machine vision products and solutions that improve efficiency and quality in high-growth potential businesses across attractive industrial end markets. In addition to product revenue derived from the sale of machine vision products, the Company also generates revenue by providing maintenance and support, consulting, and training services to its customers; however, service revenue accounted for less than 10% of total revenue for all periods presented.
Machine vision is used in a variety of industries where technology is widely recognized as an important component
23


of automated production, distribution, and quality assurance. Virtually every manufacturer or distributor can achieve better quality and efficiency by using machine vision; thus, our applications have a broad base of customers across a variety of industries, including automotive, logistics, consumer electronics, medical-related, semiconductor, consumer products, food and beverage, and others.
Revenue for the first quarter of 2023 totaled $201,124,000, representing a decrease of 29% from the first quarter of 2022. The decrease was driven by three primary factors: (i) lower revenue from the logistics industry primarily as a result of the continued pause in investments by a few large e-commerce customers; (ii) the unfavorable impact of foreign currency exchange rate changes on revenue; and (iii) slower spending trends across our broader factory automation business. Gross margin as a percentage of revenue was 71% for the first quarter of 2023 compared to 72% for the first quarter of 2022. The decrease in gross margin was due to reduced cost efficiencies from the lower sales volume, a less favorable revenue mix, and the unfavorable effect of foreign currency exchange rates on revenue, partially offset by lower inventory costs.
Operating expenses for the first quarter of 2023 totaled $121,579,000, representing an increase of 4% from the first quarter of 2022. The increase was primarily driven by additional headcount to support our "Emerging Customer" sales initiative and annual merit increases provided to employees. These higher expenses were offset by lower incentive compensation and the favorable impact of foreign currency exchange rate changes on expenses.
As a result of the lower revenue level, operating income declined to 11% of revenue for the first quarter of 2023 as compared to 31% of revenue for the first quarter of 2022. Tax expense decreased from the first quarter of 2022 as a result of lower operating income and a more favorable impact from discrete tax items. Net income declined to 13% of revenue, or $0.15 per diluted share, for the first quarter of 2023 from 24% of revenue, or $0.38 per diluted share, for the first quarter of 2022.
Results of Operations
As foreign currency exchange rates are a factor in understanding period-to-period comparisons, we believe the presentation of results on a constant-currency basis in addition to reported results helps improve investors’ ability to understand our operating results and evaluate our performance in comparison to prior periods. We also use results on a constant-currency basis as one measure to evaluate our performance. Constant-currency information compares results between periods as if exchange rates had remained constant period-over-period. We generally refer to such amounts calculated on a constant-currency basis as excluding the impact of foreign currency exchange rate changes. Results on a constant-currency basis are not in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) and should be considered in addition to, and not as a substitute for, results prepared in accordance with U.S. GAAP.
Revenue
Revenue for the first quarter of 2023 totaled $201,124,000, representing a decrease of $81,283,000, or 29%, from the first quarter of 2022. Changes in foreign currency exchange rates resulted in a lower level of reported revenue in the first quarter of 2023 as compared to the same quarter in 2022. Excluding the impact of foreign currency exchange rate changes, revenue decreased 26%.
The largest factor contributing to the year-over-year decrease in total revenue was a decline in logistics revenue primarily as a result of the continued pause in investments by a few large e-commerce customers. Slower spending trends across our broader factory automation business further contributed to the decrease in revenue, including in the consumer electronics, automotive, semiconductor, and medical-related industries. Additionally, revenue for the first quarter of 2022 benefited from incremental revenue from backlog orders that were requested to ship in the fourth quarter of 2021, but were delayed into the first quarter of 2022 due to global supply chain conditions.
The following table sets forth our disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands) for the three-month periods ended April 2, 2023 and April 3, 2022 with the dollar and percentage changes between the corresponding periods, and the line item as a percentage of total revenue.
24


Three-months Ended
April 2, 2023April 3, 2022$ Change% Change
(unaudited)
Americas$80,442 $126,658 $(46,216)(36)%
Percentage of total revenue40 %45 %
Europe$59,842 $62,792 $(2,950)(5)%
Percentage of total revenue30 %22 %
Greater China$33,172 $48,406 $(15,234)(31)%
Percentage of total revenue16 %17 %
Other Asia$27,668 $44,551 $(16,883)(38)%
Percentage of total revenue14 %16 %
Total revenue$201,124 $282,407 $(81,283)(29)%
Changes in revenue from a geographic perspective were as follows:
Revenue from customers based in the Americas decreased from the prior year comparable quarter by 36%. The decrease was primarily driven by lower revenue from customers in the logistics industry.
Revenue from customers based in Europe decreased from the prior year comparable quarter by 5%. Changes in foreign currency exchange rates resulted in a lower level of reported revenue in the first quarter of 2023. Excluding the impact of foreign currency exchange rate changes, revenue from customers based in Europe was flat with the first quarter of 2022. On both a U.S. GAAP and constant-currency basis, decreases in logistics revenue were largely offset by revenue increases in other industries, most notably automotive.
Revenue from customers based in Greater China decreased from the prior year comparable quarter by 31%. Excluding the impact of foreign currency exchange rate changes, revenue from customers based in Greater China decreased by 25% from the first quarter of 2022. On both a U.S. GAAP and constant-currency basis, the decline was primarily driven by a decrease in revenue from customers in the consumer electronics industry.
Revenue from customers based in other countries in Asia decreased from the prior year comparable quarter by 38%. Excluding the impact of foreign currency exchange rate changes, revenue decreased by 32%. On both a U.S. GAAP and constant-currency basis, the decrease resulted from broad-based declines in revenue from customers across multiple industries.
Gross Margin
The following table sets forth our gross margin (in thousands) for the three-month periods ended April 2, 2023 and April 3, 2022 with the dollar and percentage changes between the corresponding periods, and the line item as a percentage of total revenue.
Three-months Ended
April 2, 2023April 3, 2022$ Change% Change
(unaudited)
Gross margin$143,740 $203,617 $(59,877)(29)%
Percentage of total revenue71 %72 %
Gross margin as a percentage of revenue was 71% for the first quarter of 2023 compared to 72% for the first quarter of 2022. The decrease in gross margin was due to reduced cost efficiencies from the lower sales volume, a less favorable revenue mix, and the unfavorable effect of foreign currency exchange rates on revenue. This decrease was partially offset by lower inventory costs due to a reduction in premiums paid to brokers for the purchase of components in response to global supply chain constraints.
25


Operating Expenses
The following table sets forth our operating expenses (in thousands) for the three-month periods ended April 2, 2023 and April 3, 2022 with the dollar and percentage changes between the corresponding periods, and the line item as a percentage of total revenue.
Three-months Ended
April 2, 2023April 3, 2022$ Change% Change
(unaudited)
Research, development, and engineering expenses$38,542 $36,054 $2,488 %
Percentage of total revenue19 %13 %
Selling, general, and administrative expenses$83,037 $80,835 $2,202 %
Percentage of total revenue41 %29 %
Total operating expenses$121,579 $116,889 $4,690 %
Percentage of total revenue60 %41 %
Research, Development, and Engineering Expenses
Research, development, and engineering (RD&E) expenses increased $2,488,000, or 7%, from the first quarter of 2022. This increase was primarily driven by personnel-related costs as a result of headcount additions to support new product initiatives and compensation increases provided to employees as part of our annual merit process, as well as increases in stock-based compensation expense.
These increases were partially offset by lower incentive compensation expenses than the prior year, primarily due to lower revenue and a timing difference in bonus expense recognition. Foreign currency exchange rate changes further offset increases to total RD&E expenses, as costs denominated in foreign currencies were translated into U.S. Dollars at a lower rate.
RD&E expenses as a percentage of revenue were 19% for the first quarter of 2023, compared to 13% for the first quarter of 2022. The increase in RD&E as a percentage of revenue was primarily a result of lower revenue in the first quarter of 2023 as compared to the first quarter of 2022. We believe that a continued commitment to RD&E activities is essential in order to maintain product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers. In addition, we consider our ability to accelerate the time to market for new products to be critical to our revenue growth and competitive position. This quarterly percentage is impacted by revenue levels and investing cycles.
Selling, General, and Administrative Expenses
Selling, general, and administrative (SG&A) expenses increased $2,202,000, or 3%, from the first quarter of 2022. SG&A expenses increased due to costs related to our “Emerging Customer” sales initiative, including primarily compensation for additional headcount, travel expenses, and sales demonstration equipment. We launched this initiative towards the end of 2022 to broaden the reach of our sales force to customers who are relatively new to factory automation and have not fully realized the advantages of machine vision.
Unrelated to our "Emerging Customer" sales initiative, we also had higher personnel-related costs resulting from headcount additions and compensation increases provided to employees as part of our annual merit process. Travel expenses also increased due to both the number of sales personnel added and a higher level of travel activity now that restrictions related to the COVID-19 pandemic have eased or been eliminated.
These increases were partially offset by lower incentive compensation expenses than the prior year, which included sales commissions and incentive bonuses, primarily due to lower revenue and a timing difference in bonus expense recognition. Foreign currency exchange rate changes further offset increases to total SG&A expenses, as costs denominated in foreign currencies were translated into U.S. Dollars at a lower rate.
26


Non-operating Income (Expense)
The following table sets forth our non-operating income (expense) (in thousands) for the three-month periods ended April 2, 2023 and April 3, 2022 with the dollar and percentage changes between the corresponding periods.
Three-months Ended
April 2, 2023April 3, 2022$ Change% Change
(unaudited)
Foreign currency gain (loss)$394 $(444)$838 (189)%
Investment income$3,587 $1,468 $2,119 144 %
Other income (expense)$73 $(48)$121 (252)%
Total non-operating income (expense)$4,054 $976 $3,078 315 %
The Company recorded foreign currency gains of $394,000 for the first quarter of 2023, and foreign currency losses of $444,000 for the first quarter of 2022. Foreign currency gains and losses result primarily from the revaluation and settlement of assets and liabilities that are denominated in currencies other than the functional currency of the Company, which is the U.S. Dollar, or its subsidiaries.
Investment income for the first quarter of 2023 totaled $3,587,000, representing an increase of $2,119,000 from the first quarter of 2022. The increase was primarily due to higher yields on the Company's portfolio of debt securities, and to a lesser extent, higher investment balances.
The Company recorded other income of $73,000 for the first quarter of 2023 compared to other expense of $48,000 for the first quarter of 2022.
Income Tax Expense
The following table sets forth our effective income tax rate reconciliation (in thousands) for the three-month periods ended April 2, 2023 and April 3, 2022 with the dollar and percentage changes between the corresponding periods.
Three-months Ended
April 2, 2023April 3, 2022$ Change% Change
(unaudited)
Income before income tax expense$26,215 $87,704 $(61,489)(70)%
Income tax expense$600 $20,371 $(19,771)(97)%
Effective income tax rate%23 %
The Company’s effective tax rate was 2% of pre-tax income in the first quarter of 2023, compared to 23% in the first quarter of 2022. The decrease in effective tax rate primarily resulted from the impact of discrete tax items, including a decrease in tax reserves and a decrease in tax expense for adjustments to certain deferred tax assets, partially offset by an increase in tax expense related to stock-based compensation.
Excluding the impact of all discrete tax items, the Company’s effective tax rate was 16% of pre-tax income for both the first quarter of 2023 and 2022.
Liquidity and Capital Resources
The Company has historically been able to generate positive cash flow from operations, which has funded its operating activities and other cash requirements and has resulted in an accumulated cash and investment balance of $843,913,000 as of April 2, 2023. The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments to maintain the liquidity and safety of the investment portfolio. As of April 2, 2023, the Company's portfolio of debt securities was in a net unrealized loss position of $19,530,000. The Company currently does not intend to sell debt securities in an unrealized loss position to meet current liquidity needs as it has the ability and intention to hold these investments until full value recovery at maturity. However, if the Company is required to sell these debt securities to meet future liquidity needs, for example, to acquire new businesses or technologies, it is prepared to sell these investments at a loss.
27


Three-months Ended
April 2, 2023April 3, 2022
(unaudited)
Net cash provided by (used in) operating activities$27,553 $49,517 
Net cash provided by (used in) investing activities$(5,788)$69,236 
Net cash provided by (used in) financing activities$(39,324)$(138,114)
The Company’s cash requirements for the first quarter of 2023 consisted of operating activities, repurchases of common stock, dividend payments, capital expenditures, purchases of investments, and net payments from the issuance of common stock under stock plans. Cash flows from operating activities totaled $27,553,000 for the three-month period ended April 2, 2023 compared to $49,517,000 for the three-month period ended April 3, 2022. This decrease was primarily driven by lower net income resulting from the decrease in revenue year-over-year. Cash outlays from operating activities in the first quarter of 2023 also consisted of incentive compensation payments that were earned and accrued in 2022.
Capital expenditures for the first quarter of 2023 totaled $5,507,000 and consisted primarily of continued investments in business systems related to the Company's sales process, manufacturing test equipment related to new product introductions, and leasehold improvements related to one of the Company's offices in Shanghai, China.
The Company's future material cash requirements include contractual obligations related to inventory purchase commitments and leases. As of April 2, 2023, the Company had inventory purchase commitments of $47,486,000, with the majority payable during 2023, and lease payment obligations of $44,445,000, with $7,284,000 payable during 2023. During 2023, we also expect significant cash outlays related to the Company's "Emerging Customer" sales initiative as we continue to grow our sales force in order to reach customers who may not be utilizing machine vision to its full potential.
In addition to the obligations described above, the following items may also result in future material uses of cash:
Stock Repurchases
On March 3, 2022, the Company's Board of Directors authorized the repurchase of $500,000,000 of the Company's common stock. During the three-month period ended April 2, 2023, the Company repurchased 479,000 shares at a total cost of $24,178,000 leaving a remaining balance of $388,508,000 under this March 2022 program as of April 2, 2023. The Company may repurchase shares under stock repurchase programs as authorized by its Board of Directors in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
Dividend Payments
The Company’s Board of Directors declared and paid cash dividends of $0.070 per share in the first quarter of 2023. Future dividends will be declared at the discretion of the Company's Board of Directors and will depend on such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.
We believe that the Company's existing cash and investment balances, together with cash flow from operations, will be sufficient to meet its operating, investing, and financing activities for the next twelve months. In addition, the Company has no long-term debt. We believe that our balance sheet condition has put us in a strong position with respect to anticipated longer-term liquidity needs.

New Pronouncements
Refer to Part I - Note 2 within this Form 10-Q, for a full description of recently issued accounting pronouncements including the expected dates of adoption and the expected impact on the financial position and results of operations of the Company.

ITEM 3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK
There have been no material changes to the Company’s exposures to market risk since December 31, 2022.
28



ITEM 4: CONTROLS AND PROCEDURES
As required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, the Company has evaluated, with the participation of management, including the Chief Executive Officer and the Chief Financial Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Chief Financial Officer concluded that such disclosure controls and procedures were effective as of that date. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company’s systems evolve with its business.
There was no change in the Company's internal control over financial reporting that occurred during the quarter ended April 2, 2023 that materially affected, or is reasonably likely to materially affect, the Company's internal control over financial reporting.
29


PART II: OTHER INFORMATION

ITEM 1. LEGAL PROCEEDINGS
Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.

ITEM 1A. RISK FACTORS
For a list of factors that could affect the Company’s business, results of operations, and financial condition, see the risk factors discussion provided in Part I—Item 1A of the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2022.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
The following table sets forth information with respect to purchases by the Company of shares of its common stock during the three-month period ended April 2, 2023:
Total
Number
of Shares
Purchased
Average
Price Paid
per Share
Total Number of
Shares
Purchased as
Part of Publicly
Announced
Plans or
Programs (1)
Approximate
Dollar Value
of Shares that
May Yet Be
Purchased
Under the
Plans or
Programs (1)
January 1, 2023 - January 29, 2023126,000 $51.15 126,000 $406,238,000 
January 30, 2023 - February 26, 2023144,000 53.22 144,000 398,582,000 
February 27, 2023 - April 2, 2023209,000 48.09 209,000 388,508,000 
Total479,000 $50.43 479,000 $388,508,000 
(1) On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. Purchases under this program commenced in March 2022. The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.

ITEM 3. DEFAULTS UPON SENIOR SECURITIES
None.

ITEM 4. MINE SAFETY DISCLOSURES
Not applicable.

ITEM 5. OTHER INFORMATION
None.
30


 ITEM 6. EXHIBITS
Exhibit Number
31.1
31.2
32.1
32.2
101.SCHInline XBRL Taxonomy Extension Schema Document*
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document*
101.LABInline XBRL Taxonomy Extension Label Linkbase Document*
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document*
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document*
104Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)
*Filed herewith
**Furnished herewith

31


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.
 
Date:May 4, 2023 COGNEX CORPORATION
 By:/s/ Robert J. Willett
 Robert J. Willett
 President and Chief Executive Officer
 (Principal Executive Officer)
 By:/s/ Paul D. Todgham
 Paul D. Todgham
 Senior Vice President of Finance and Chief Financial Officer
 (Principal Financial Officer)

32
EX-31.1 2 a422023-10qxexhibit311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, Robert J. Willett, certify that:
1    I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
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(s) 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(s) 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:May 4, 2023 By: /s/ Robert J. Willett
  Robert J. Willett
  President and Chief Executive Officer
(Principal Executive Officer)

EX-31.2 3 a422023-10qxexhibit312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Paul D. Todgham, certify that:
1    I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
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(s) 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(s) 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:May 4, 2023 By: /s/ Paul D. Todgham
  Paul D. Todgham
  Senior Vice President of Finance and Chief Financial Officer
(Principal Financial Officer)

EX-32.1 4 a422023-10qxexhibit321.htm EX-32.1 Document

Exhibit 32.1*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended April 2, 2023 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
Date:May 4, 2023 By:/s/ Robert J. Willett
 Robert J. Willett
 President and Chief Executive Officer
 (Principal Executive Officer)
 




























*This certification shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.

EX-32.2 5 a422023-10qxexhibit322.htm EX-32.2 Document

Exhibit 32.2*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended April 2, 2023 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
Date:May 4, 2023 By:/s/ Paul D. Todgham
 Paul D. Todgham
 Senior Vice President of Finance and Chief Financial Officer
 (Principal Financial Officer)
 


























*This certification shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.

EX-101.SCH 6 cgnx-20230402.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000008 - Statement - Consolidated Statement of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - New Pronouncements link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Cash, Cash Equivalents, and Investments link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Goodwill link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Warranty Obligations link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Commitment and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Stock-Based Compensation Expense link:presentationLink link:calculationLink link:definitionLink 0000023 - Disclosure - Stock Repurchase Program link:presentationLink link:calculationLink link:definitionLink 0000024 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000025 - Disclosure - Weighted-Average Shares link:presentationLink link:calculationLink link:definitionLink 0000026 - Disclosure - Loss from Fire link:presentationLink link:calculationLink link:definitionLink 0000027 - Disclosure - Restructuring Charges link:presentationLink link:calculationLink link:definitionLink 0000028 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 0000029 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 0000030 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 0000031 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) link:presentationLink link:calculationLink link:definitionLink 0000032 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 0000033 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 0000034 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 0000035 - Disclosure - Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 0000036 - Disclosure - Warranty Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 0000037 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 0000038 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 0000039 - Disclosure - Stock-Based Compensation Expense (Tables) link:presentationLink link:calculationLink link:definitionLink 0000040 - Disclosure - Weighted-Average Shares (Tables) link:presentationLink link:calculationLink link:definitionLink 0000041 - Disclosure - Restructuring Charges (Tables) link:presentationLink link:calculationLink link:definitionLink 0000042 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 0000043 - Disclosure - Cash, Cash Equivalents, and Investments (Details) link:presentationLink link:calculationLink link:definitionLink 0000044 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) link:presentationLink link:calculationLink link:definitionLink 0000045 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 0000046 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 0000047 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 0000048 - Disclosure - Inventories - Schedule of Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 0000049 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000050 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 0000051 - Disclosure - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 0000052 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 0000052 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 0000053 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) link:presentationLink link:calculationLink link:definitionLink 0000054 - Disclosure - Commitment and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 0000055 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 0000056 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details) link:presentationLink link:calculationLink link:definitionLink 0000057 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 0000058 - Disclosure - Derivative Instruments - Offsetting Assets (Details) link:presentationLink link:calculationLink link:definitionLink 0000059 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) link:presentationLink link:calculationLink link:definitionLink 0000060 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) link:presentationLink link:calculationLink link:definitionLink 0000061 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) link:presentationLink link:calculationLink link:definitionLink 0000062 - Disclosure - Revenue Recognition - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000063 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details) link:presentationLink link:calculationLink link:definitionLink 0000064 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) link:presentationLink link:calculationLink link:definitionLink 0000065 - Disclosure - Stock-Based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 0000066 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 0000067 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) link:presentationLink link:calculationLink link:definitionLink 0000068 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 0000069 - Disclosure - Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 0000070 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) link:presentationLink link:calculationLink link:definitionLink 0000071 - Disclosure - Stock Repurchase Program (Details) link:presentationLink link:calculationLink link:definitionLink 0000072 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 0000073 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) link:presentationLink link:calculationLink link:definitionLink 0000074 - Disclosure - Weighted-Average Shares (Details) link:presentationLink link:calculationLink link:definitionLink 0000075 - Disclosure - Loss from Fire (Details) link:presentationLink link:calculationLink link:definitionLink 0000076 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details) link:presentationLink link:calculationLink link:definitionLink 0000077 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 cgnx-20230402_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 cgnx-20230402_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 cgnx-20230402_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Accrued expenses Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Deferred Revenue, by Arrangement, Disclosure Deferred Revenue, by Arrangement, Disclosure [Table Text Block] Research, development, and engineering expenses Research and Development Expense Revenue from External Customers by Products and Services Revenue from External Customers by Products and Services [Table Text Block] Award Type [Domain] Award Type [Domain] Nonvested as of Beginning of Period (in shares) Nonvested as of End of Period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Summary of Available-for-Sale Investments Schedule of Available-for-Sale Securities Reconciliation [Table Text Block] Effect of foreign exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Deferred income taxes Deferred Income Tax Liabilities, Net Performance Shares Performance Shares [Member] Accounts payable Accounts Payable, Current Exercisable, in years Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Accrued income taxes Increase (Decrease) in Accrued Taxes Payable Purchases of investments Payments to Acquire Investments Statutory tax rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Exercisable as of reporting date, shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number Foreign exchange rate changes Restructuring Reserve, Foreign Currency Translation Gain (Loss) Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] 2028 Lessee, Operating Lease, Liability, to be Paid, Year Five Stock Repurchase Program Equity [Text Block] Options vested or expected to vest, in dollars Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Geographical [Axis] Geographical [Axis] Income Taxes Income Tax Disclosure [Text Block] Fulfillment of warranty obligations Standard and Extended Product Warranty Accrual, Decrease for Payments Unbilled revenue Increase (Decrease) in Contract with Customer, Liability Expected dividend yield Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate Provisions for warranties issued during the period Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Canada, Dollars Canada, Dollars Current liabilities: Liabilities, Current [Abstract] Catastrophe [Abstract] Catastrophe Increase in tax expense related to valuation allowance Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount Preferred stock par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Subsequent Event Type [Domain] Subsequent Event Type [Domain] Weighted-Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Other Asia Asia, Excluding China [Member] Asia, Excluding China [Member] Payment of dividends Dividends, Cash Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Forfeited or expired, in dollars per share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price Payment of dividends Payments of Ordinary Dividends, Common Stock Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Diluted (usd per share) Earnings Per Share, Diluted Gross amounts of recognized liabilities Derivative Liability, Subject to Master Netting Arrangement, before Offset Accounts receivable, allowance for credit losses of $1,001 and $730 in 2023 and 2022, respectively Accounts Receivable, after Allowance for Credit Loss, Current Economic hedge forward contracts Foreign Currency Contracts, Liability, Fair Value Disclosure Goodwill [Roll Forward] Goodwill [Roll Forward] Vested and expected to vest, outstanding, in dollars per share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Unobservable Inputs (Level 3) Fair Value, Inputs, Level 3 [Member] Outstanding, shares Outstanding, shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Net issuance of common stock under stock plans Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol Restructuring Plan [Domain] Restructuring Plan [Domain] Granted, in dollars per share Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted-average grant-date fair values, in dollars per share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Net income Net income Net Income (Loss) Attributable to Parent Finite-Lived Intangible Asset, Expected Amortization, after Year Five Finite-Lived Intangible Asset, Expected Amortization, after Year Five Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Leases Lessee, Operating Leases [Text Block] Corporate Bonds Corporate Bond Securities [Member] All Currencies [Domain] All Currencies [Domain] LIABILITIES AND SHAREHOLDERS’ EQUITY Liabilities and Equity [Abstract] Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks Finite-Lived Intangible Assets [Line Items] Amortized cost of current investments Debt Securities, Available-for-Sale, Amortized Cost, Current Repurchase of common stock Stock Repurchased During Period, Value Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Shareholders’ equity: Equity, Attributable to Parent [Abstract] Gross unrealized losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Exercised, shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Liability for uncertain tax positions Liability For Uncertain Tax Positions Liability for uncertain tax positions, total. Non-compete agreements Other Intangible Assets [Member] Cost of revenue Cost of Goods and Services Sold Income Tax Contingency [Table] Income Tax Contingency [Table] Vesting period for stock option plans Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Deferral of revenue billed in the current period, net of recognition Deferred Revenue, Additions Calculation of Weighted-Average Shares Schedule of Weighted Average Number of Shares [Table Text Block] Shares (in thousands) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Exercised, in dollars per share Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Quoted Prices in Active Markets for Identical Assets (Level 1) Fair Value, Inputs, Level 1 [Member] United Kingdom, Pounds United Kingdom, Pounds Goodwill Balance as of December 31, 2022 Balance as of April 2, 2023 Goodwill Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Accrued expenses Increase (Decrease) in Accrued Liabilities Shares available for grant under stock option plans (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Entity Small Business Entity Small Business 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable December 2022 December 2022 [Member] December 2022 Dividends (in dollars per share) Common Stock, Dividends, Per Share, Declared Net unrealized gain (loss) on available-for-sale investments, net of tax OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Measurement Frequency [Axis] Measurement Frequency [Axis] Non-current operating lease liabilities Operating Lease, Liability, Noncurrent Effective Maturity Dates of Available-for-Sale Investments Investments Classified by Contractual Maturity Date [Table Text Block] Revenue from External Customer [Line Items] Revenue from External Customer [Line Items] Restricted Stock Units (RSUs) Restricted Stock Units (RSUs) [Member] Accrued Expenses Accrued Liabilities [Member] Depreciation of property, plant, and equipment Depreciation Income Statement Location [Axis] Income Statement Location [Axis] Gross amounts offset Derivative Liability, Subject to Master Netting Arrangement, Collateral, Right to Reclaim Cash Offset Lessee, Operating Lease, Liability, Maturity Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Effect of dilutive equity awards (in shares) Weighted Average Number of Shares Outstanding, Diluted, Adjustment Europe Europe [Member] Realized loss (gain) on sale of investments Gain (Loss) on Sale of Investments Accrued income taxes Accrued Income Taxes, Current Product and Service [Domain] Product and Service [Domain] Inventories Increase (Decrease) in Inventories Net change related to available-for-sale investments Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Research, Development, and Engineering Expenses Research and Development Expense [Member] Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Balance at beginning of period Balance at end of period Restructuring Reserve Anti-dilutive securities excluded from computation of earnings per share (shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivative Instruments and Hedging Activities Disclosure [Abstract] Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Total fair values of stock options vest Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value Share based compensation arrangement by share based payment award options vested fair value. Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Gross amounts offset Derivative Asset, Subject to Master Netting Arrangement, Collateral, Obligation to Return Cash, Offset Against Derivative Asset Contract Termination Costs Contract Termination [Member] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Hedging Designation [Axis] Hedging Designation [Axis] Excess and obsolete inventory charges Excess and Obsolete Inventory Charges Excess and Obsolete Inventory Charges Outstanding, in years Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Remainder of fiscal 2023 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Derivatives, Fair Value [Line Items] Derivatives, Fair Value [Line Items] Entity File Number Entity File Number Thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Five Operating lease liabilities Operating Lease, Liability, Current Debt securities, available-for-sale, allowance for credit loss Debt Securities, Available-for-Sale, Allowance for Credit Loss Amortization of intangible assets Amortization of Intangible Assets Preferred stock, $.01 par value – Authorized: 400 shares in 2023 and 2022, respectively; no shares issued and outstanding Preferred Stock, Value, Outstanding Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Non-current investments, amortized cost of $478,329 and $476,148 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022 Non-current investments Long-Term Investments New Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Intangible assets, net Net Carrying Value Finite-Lived Intangible Assets, Net Unbilled revenue Unbilled Receivables, Current Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Outstanding forward contracts Derivative Asset, Notional Amount 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 Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Customer relationships Customer Contracts And Relationships [Member] Customer Contracts And Relationships [Member] 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Business Interruption Loss [Line Items] Business Interruption Loss [Line Items] Operating lease, cost Operating Lease, Cost Fair value, 12 months or greater Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer Common stock, shares issued (in shares) Beginning Balance (in shares) Ending Balance (in shares) Common Stock, Shares, Issued Schedule of Nonvested Restricted Stock Units Activity Schedule of Nonvested Restricted Stock Units Activity [Table Text Block] Vested (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Maturities and sales of investments Proceeds from Sale, Maturity and Collection of Investments Gross margin Gross Profit Deferred revenue and customer deposits Contract with Customer, Liability, Current Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Sovereign Bonds Sovereign Debt [Member] Security Exchange Name Security Exchange Name Shares repurchased at cost Stock Redeemed or Called During Period, Value Total Unrealized Losses Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss Selling, general, and administrative expenses Selling, General and Administrative Expense Accumulated other comprehensive loss, net of tax Accumulated Other Comprehensive Income (Loss), Net of Tax Switzerland, Francs Switzerland, Francs Employee Stock Option Share-Based Payment Arrangement, Option [Member] Derivative Instruments Derivative Instruments and Hedging Activities Disclosure [Text Block] Economic hedge forward contracts Foreign Currency Contract, Asset, Fair Value Disclosure Maximum Maximum [Member] Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Unrecognized compensation expense Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Groups within the employee population Number Of Groups Within Employee Population Number of groups within employee population. 2-3 Years Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value Available-for-sale securities, debt maturities after second year but before third year, fair value. Document Type Document Type Domestic Tax Authority Domestic Tax Authority [Member] Entity Address, Address Line One Entity Address, Address Line One Application-specific customer solutions Application-Specific Customer Solutions [Member] Application-Specific Customer Solutions [Member] Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Subsequent Event [Table] Subsequent Event [Table] Outstanding purchase orders Purchase Commitment, Remaining Minimum Amount Committed Weighted- Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Allowance for credit losses, current Accounts Receivable, Allowance for Credit Loss, Current Subsequent Event Subsequent Event [Member] Derivative [Table] Derivative [Table] Non-current Assets Non-current Assets [Member] Non-current Assets Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Income Statement [Abstract] Income Statement [Abstract] Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Schedule of Activity in Restructuring Reserve Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Credit loss on investments Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease) Derivative liability Net amount of liabilities presented Derivative Liability Estimated Forfeiture Rate for Unvested Options for CEO Estimated Forfeiture Rate for Unvested Options for CEO Estimated Forfeiture Rate for Unvested Options for CEO Nonvested as of Beginning of Period (in dollars per share) Nonvested as of End of Period (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Tax effect of unrealized gain (loss) on available-for-sale investments OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax Net income per weighted-average common and common-equivalent share: Earnings Per Share, Diluted [Abstract] Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Foreign exchange rate changes Goodwill, Foreign Currency Translation Gain (Loss) Inventories Inventories Inventory, Net Lease, cost Lease, Cost Statistical Measurement [Axis] Statistical Measurement [Axis] Insurance recoveries Insurance Recoveries Foreign exchange rate changes Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment Balance Sheet Location [Domain] Balance Sheet Location [Domain] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Accrued interest receivable Interest Receivable Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Tax years open to examination by various taxing authorities for other entities Income Tax Examination Years Under Examination Other Entities The tax year(s) being audited in connection with the income tax examination for other entities. Repurchase of common stock Payments for Repurchase of Common Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Japanese Yen Japan, Yen Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Remaining maturity of foreign currency derivatives (up to) Maximum Remaining Maturity of Foreign Currency Derivatives Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] 3-4 Years Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value Available-for-sale securities, debt maturities after third year but before fourth year, fair value. Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] 5-8 Years Available For Sale Securities Debt Maturities After Five Years Available For Sale Securities Debt Maturities After Five Years Retained earnings Retained Earnings (Accumulated Deficit) Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Standard products and services Standard Products and Services [Member] Standard Products and Services [Member] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Mexico, Pesos Mexico, Pesos Current assets: Assets, Current [Abstract] Product Warranties Disclosures [Abstract] Product Warranties Disclosures [Abstract] Leases [Abstract] Leases [Abstract] Entity Address, State or Province Entity Address, State or Province Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year One Operating lease, payments Operating Lease, Payments Weighted average period to be recognized Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Costs to fulfill contract Capitalized Contract Cost, Gross Effective tax rate excluding discrete items (as a percent) Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent Gross amounts of recognized assets Derivative Asset, Subject to Master Netting Arrangement, before Offset Common stock par value (in dollars per share) Common Stock, Par or Stated Value Per Share Net change related to foreign currency translation adjustments 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 Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Shares (in thousands) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Effective tax rate Effective Income Tax Rate Reconciliation, Percent Revenue Commissioners, Ireland Revenue Commissioners, Ireland [Member] Operating lease liability Operating Lease, Liability Estimated annual forfeiture rate for unvested options for senior management Estimated Forfeiture Rate For Unvested Options For Senior Management Estimated forfeiture rate for unvested options for senior management. Reserve for income taxes Reserve for income taxes classified as a noncurrent iability Liability for Uncertainty in Income Taxes, Noncurrent Sovereign Bonds Sovereign Debt Securities [Member] Total liabilities Liabilities Expected volatility Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Shareholders' Equity and Share-based Payments Shareholders' Equity and Share-Based Payments [Text Block] Selling, General, and Administrative Selling General And Administrative [Member] Selling, general, and administrative. Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Total fair value Debt Securities, Available-for-Sale, Unrealized Loss Position Measurement Frequency [Domain] Measurement Frequency [Domain] Total Cash Cash Equivalents Short Term And Long Term Investments Cash, cash equivalents, short term and long term investments. Increase in tax expense related to transfer pricing and return-to-provision adjustments Effective Income Tax Rate Reconciliation, Other Adjustments, Amount Plan Name [Axis] Plan Name [Axis] Amortized cost of non-current investments Debt Securities, Available-for-Sale, Amortized Cost, Noncurrent Tax benefit from compensation expense Share-Based Payment Arrangement, Expense, Tax Benefit Earnings Per Share [Abstract] Earnings Per Share [Abstract] Non-current accrued income taxes Accrued Income Taxes Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Subsequent Event [Line Items] Subsequent Event [Line Items] Stock-based compensation expense Stock or Unit Option Plan Expense Fair value, less than 12 months Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months Greater China CHINA Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Gross Unrealized Losses and Fair Values for Available-for-Sale Investments Schedule of Unrealized Loss on Investments [Table Text Block] Total current assets Assets, Current Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Other income (expense) Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Restructuring Type [Axis] Restructuring Type [Axis] Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Authorized common stock to be repurchased Stock Repurchase Program, Authorized Amount Derivative Instruments and Hedging Activities Disclosures [Line Items] Derivative Instruments and Hedging Activities Disclosures [Line Items] New Pronouncements Accounting Standards Update and Change in Accounting Principle [Text Block] Repurchase of common stock (in shares) Stock Repurchased During Period, Shares Decrease in tax expense related to stock-based compensation Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount Income Tax Authority [Axis] Income Tax Authority [Axis] Preferred stock shares authorized (in shares) Preferred Stock, Shares Authorized Aggregate Intrinsic Value (in thousands) Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract] ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract] Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Five Schedule of Goodwill Schedule of Goodwill [Table Text Block] Preferred stock shares outstanding (in shares) Preferred Stock, Shares Outstanding Outstanding Forward Contracts Table Outstanding Forward Contracts [Table Text Block] Outstanding forward contracts table. Asset-Backed Securities Asset-Backed Securities [Member] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Schedule of Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Estimated annual forfeiture rate for unvested options for all other employees Estimated Forfeiture Rate For Unvested Options For All Non Senior Management Estimated forfeiture rate for unvested options for all non-senior management. 1-2 Years Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities. Current investments, amortized cost of $220,943 and $223,545 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022 Current investments Debt Securities, Available-for-Sale, Current Other Increase (Decrease) in Other Operating Assets and Liabilities, Net Gross loss from catastrophes Gross Loss from Catastrophes Gross Loss from Catastrophes Euro Member Countries, Euro Euro Member Countries, Euro Beginning balance Ending balance Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Allowance for credit losses Debt Securities, Available-for-Sale, Allowance for Credit Loss, Current Total shareholders’ equity Beginning Balance Ending Balance Equity, Attributable to Parent Recognition of revenue deferred in prior period Deferred Revenue, Revenue Recognized Gross realized gains on sale of investments Debt Securities, Available-for-Sale, Realized Gain Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Deferred revenue and customer deposits Increase (Decrease) in Deferred Revenue Restricted Stock Restricted Stock [Member] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Net payments from issuance of common stock under stock plans Proceeds (Payments) Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised, Net Proceeds (Payments) Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised, Net Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustments Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Expected term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term Subsequent Events [Abstract] Subsequent Events [Abstract] Income before income tax expense Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Not Designated as Hedging Instrument Not Designated as Hedging Instrument [Member] Increase (decrease) to compensation expense Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates Increase (decrease) in compensation expense due to revised estimated forfeiture rates. Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Preferred stock shares issued (in shares) Preferred Stock, Shares Issued Hedging Designation [Domain] Hedging Designation [Domain] Significant Other Observable Inputs (Level 2) Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Business Insurance Recoveries [Table] Business Insurance Recoveries [Table] Changes in Warranty Obligations Schedule of Product Warranty Liability [Table Text Block] 4-5 Years Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value. Derivative Instruments, Gain (Loss) Derivative Instruments, Gain (Loss) [Table Text Block] Increase (Decrease) in Stockholders' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Document Fiscal Period Focus Document Fiscal Period Focus General Stock Option Plan General Stock Option Plan [Member] General stock option plan. 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Antidilutive Securities [Axis] Antidilutive Securities [Axis] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Outstanding, in dollars per share Outstanding, in dollars per share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Revenue from External Customers by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Common Stock Common Stock [Member] Foreign Tax Authority Foreign Tax Authority [Member] Granted, shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures Long-term investments Debt Securities, Available-for-Sale, Noncurrent City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Weighted-Average Shares Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Foreign exchange rate changes Deferred Revenue, Foreign Currency Exchange Adjustment Deferred Revenue, Foreign Currency Exchange Adjustment Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Term of contract Lessee, Operating Lease, Term of Contract Hungary, Forint Hungary, Forint Minimum Minimum [Member] Property, plant, and equipment, net Property, Plant and Equipment, Net Weighted-average common and common-equivalent shares outstanding: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Share Repurchase Program [Domain] Share Repurchase Program [Domain] Summary of Stock Option Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Cash dividends per common share (usd per share) Common Stock, Dividends, Per Share, Cash Paid Cash Cash Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Equity, Class of Treasury Stock [Line Items] Equity, Class of Treasury Stock [Line Items] ASSETS Assets [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Schedule of Derivative Instruments in Statement of Financial Position, Fair Value Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block] Foreign currency gain (loss) Gain (Loss), Foreign Currency Transaction, before Tax Other Current Assets Other Current Assets [Member] Treasury Bills US Treasury Securities [Member] Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Deferred income taxes Deferred Income Tax Assets, Net Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Completed technologies Developed Technology Rights [Member] Retained Earnings Retained Earnings [Member] Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Amortization of discounts or premiums on investments Accretion (Amortization) of Discounts and Premiums, Investments Total liabilities and shareholders' equity Liabilities and Equity Amortized cost Debt Securities, Available-for-Sale, Amortized Cost Other assets Other Assets, Noncurrent Risk-free rate Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Operating lease assets Operating Lease, Right-of-Use Asset Basic (usd per share) Earnings Per Share, Basic Accounting Policies [Abstract] Accounting Policies [Abstract] One-time Termination Benefits One-time Termination Benefits [Member] Class of Treasury Stock [Table] Class of Treasury Stock [Table] State Administration of Taxation, China State Administration of Taxation, China [Member] Warranty Obligations Product Warranty Disclosure [Text Block] Currency [Axis] Currency [Axis] Remainder of fiscal 2023 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Components of Cash, Cash Equivalents, and Investments Components Of Cash Cash Equivalents And Investments [Table Text Block] Components of cash cash equivalents and investments. Entity Address, City or Town Entity Address, City or Town Options vested or expected to vest, in years Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Options vested or expected to vest as of reporting date, shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Option to renew, term of contract Lessee, Operating Lease, Option to Renew, Term of Contract Lessee, Operating Lease, Option to Renew, Term of Contract China, Yuan Renminbi China, Yuan Renminbi Document Transition Report Document Transition Report Remaining authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Derivative Instruments and Hedging Activities Disclosures [Table] Derivative Instruments and Hedging Activities Disclosures [Table] Cost of Revenue Cost of Goods and Service Benchmark [Member] Accounts payable Increase (Decrease) in Accounts Payable Common stock shares authorized (in shares) Common Stock, Shares Authorized Americas Americas [Member] Financial assets at fair value Fair value Fair value Debt Securities, Available-for-Sale KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF Gross unrealized gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax 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] Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Derivative [Line Items] Derivative [Line Items] Common stock, $.002 par value – Authorized: 300,000 shares in 2023 and 2022, respectively; issued and outstanding: 172,601 and 172,631 shares in 2023 and 2022, respectively Common Stock, Value, Outstanding Current Assets Current Assets [Member] Current Assets Increases to the allowance for credit losses Accounts Receivable, Credit Loss Expense (Reversal) Derivative asset Net amount of assets presented Derivative Asset Forfeited or expired (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Restructuring Plan [Axis] Restructuring Plan [Axis] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Repurchase Program March 2022 Repurchase Program March 2022 [Member] Repurchase Program March 2022 Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Expiration period from grant day Expiration Period Of Stock Option Plan Expiration period of stock option plan. Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Foreign currency translation adjustments: Currency translation adjustments [Abstract] Currency translation adjustments [Abstract] Forfeited or expired (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Municipal Bonds Municipal Bonds [Member] Balance as of December 31, 2022 Balance as of April 2, 2023 Accounts Receivable, Allowance for Credit Loss Balance as of December 31, 2022 Balance as of April 2, 2023 Deferred Revenue Outstanding, in dollars Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Entity Registrant Name Entity Registrant Name 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two Cash payments Payments for Restructuring Document Period End Date Document Period End Date Assets and Liabilities Measured at Fair Value on a Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Schedule of Allowance for Credit Loss Activity Accounts Receivable, Allowance for Credit Loss [Table Text Block] Entity Central Index Key Entity Central Index Key Liabilities: Liabilities, Fair Value Disclosure [Abstract] Gains (losses) recognized in current operations Derivative, Gain (Loss) on Derivative, Net Decrease in compensation expense due to revised estimated forfeiture rates Decrease in Compensation Expense Due To Revised Estimated Forfeiture Rates Decrease in Compensation Expense Due To Revised Estimated Forfeiture Rates Stock-based compensation expense Share-Based Payment Arrangement, Expense Gross Carrying Value Finite-Lived Intangible Assets, Gross Income tax expense Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Write-offs, net of recoveries Accounts Receivable, Allowance for Credit Loss, Writeoff Income Tax Authority [Domain] Income Tax Authority [Domain] Loss from Fire Loss From Catastrophe [Text Block] Loss From Catastrophe Fair Value Measurements Fair Value Disclosures [Text Block] Cash and Cash Equivalents [Abstract] Cash and Cash Equivalents [Abstract] Other comprehensive income (loss), net of tax Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Unrealized losses, 12 months or greater Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Equity [Abstract] Equity [Abstract] Debt Securities, Available-for-sale Debt Securities, Available-for-Sale [Line Items] Inventories Inventory Disclosure [Text Block] Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations Reclassification of net realized (gain) loss on the sale of available-for-sale investments Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Weighted average remaining lease term Operating Lease, Weighted Average Remaining Lease Term Revenue Revenue from Contract with Customer, Excluding Assessed Tax Rentable area Net Rentable Area Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Amendment Flag Amendment Flag Intangible Assets Intangible Assets Disclosure [Text Block] Change in deferred income taxes Increase (Decrease) in Deferred Income Taxes Unrealized losses, less than 12 months Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Cash and cash equivalents Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Movement in Deferred Revenue [Roll Forward] Movement in Deferred Revenue [Roll Forward] Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Net issuance of common stock under stock plans (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period Indefinite-lived intangible asset excluding in-process technologies Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member] Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member] less than 1 year Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Assets: Assets, Fair Value Disclosure [Abstract] Proceeds from insurance settlements Proceeds from Insurance Settlement, Operating Activities Goodwill Goodwill Disclosure [Text Block] Deferred Revenue, Refund Payments Deferred Revenue, Refund Payments Diluted (shares) Weighted-average common and common-equivalent shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Diluted Recognized period costs capitalized Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount Employee service share based compensation recognized period costs capitalized amount. Increase in tax expense arising from tax settlement Effective Income Tax Rate Reconciliation, Tax Settlement, Amount Income Tax Authority, Name [Axis] Income Tax Authority, Name [Axis] Money market instruments Money Market Funds, at Carrying Value Revenue Recognition Revenue from Contract with Customer [Text Block] Gross realized losses on sale of investments Debt Securities, Available-for-Sale, Realized Loss Purchases of property, plant, and equipment Payments to Acquire Property, Plant, and Equipment Additional paid-in capital Additional Paid in Capital, Common Stock Repurchase Program March 2020 Repurchase Program March 2020 [Member] Repurchase Program March 2020 [Member] Additional Paid-in Capital Additional Paid-in Capital [Member] Balance Sheet Location [Axis] Balance Sheet Location [Axis] Total assets Assets Share Repurchase Program [Axis] Share Repurchase Program [Axis] Southborough, Massachusetts Southborough, Massachusetts [Member] Southborough, Massachusetts Cover [Abstract] Cover [Abstract] Total intrinsic value Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value Shares based compensation arrangement by shares based payment award options exercisable intrinsic value. Investment income Investment Income, Nonoperating Subsequent Events Subsequent Events [Text Block] Stock-based compensation expense APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Fair Value, Measurements, Recurring Fair Value, Recurring [Member] Restructuring and Related Activities [Abstract] Restructuring and Related Activities [Abstract] Other liabilities Other Liabilities, Noncurrent Vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Agency Bonds Agency Bonds [Member] Agency bond. Forfeited or expired, shares Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period Total Lessee, Operating Lease, Liability, to be Paid Income Tax Contingency [Line Items] Income Tax Contingency [Line Items] Cash, Cash Equivalents, and Investments Cash and Cash Equivalents Disclosure [Text Block] Shares repurchased at cost (in shares) Stock Redeemed or Called During Period, Shares Net change in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Income Tax Authority, Name [Domain] Income Tax Authority, Name [Domain] Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Equity Component [Domain] Equity Component [Domain] Offsetting Assets Offsetting Assets [Table Text Block] Work-in-process Inventory, Work in Process, Net of Reserves Discrete tax expense (benefit) Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount Allowance for credit losses, non-current Debt Securities, Available-for-Sale, Allowance for Credit Loss, Noncurrent Basic (shares) Basic weighted-average common shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Operating income Operating Income (Loss) Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Revenue from External Customers by Products and Services [Table] Revenue from External Customers by Products and Services [Table] Other comprehensive income (loss), net of tax: Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] Statement [Line Items] Statement [Line Items] Available-for-sale investments: Other Comprehensive Income (Loss), Net of Tax [Abstract] Schedule of Nonvested Performance-based Units Activity Schedule of Nonvested Performance-Based Units Activity [Table Text Block] Weighted- Average Remaining Contractual Term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Type of Restructuring [Domain] Type of Restructuring [Domain] Exercisable, in dollars Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value. EX-101.PRE 10 cgnx-20230402_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 R1.htm IDEA: XBRL DOCUMENT v3.23.1
Cover Page
3 Months Ended
Apr. 02, 2023
shares
Cover [Abstract]  
Document Type 10-Q
Document Quarterly Report true
Document Period End Date Apr. 02, 2023
Document Transition Report false
Entity File Number 001-34218
Entity Registrant Name COGNEX CORP
Entity Incorporation, State or Country Code MA
Entity Tax Identification Number 04-2713778
Entity Address, Address Line One One Vision Drive
Entity Address, City or Town Natick
Entity Address, State or Province MA
Entity Address, Postal Zip Code 01760
City Area Code 508
Local Phone Number 650-3000
Title of 12(b) Security Common Stock, par value $.002 per share
Trading Symbol CGNX
Security Exchange Name NASDAQ
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 Central Index Key 0000851205
Current Fiscal Year End Date --12-31
Document Fiscal Year Focus 2023
Document Fiscal Period Focus Q1
Amendment Flag false
Entity Common Stock, Shares Outstanding 172,601,360
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Income Statement [Abstract]    
Revenue $ 201,124 $ 282,407
Cost of revenue 57,384 78,790
Gross margin 143,740 203,617
Research, development, and engineering expenses 38,542 36,054
Selling, general, and administrative expenses 83,037 80,835
Operating income 22,161 86,728
Foreign currency gain (loss) 394 (444)
Investment income 3,587 1,468
Other income (expense) 73 (48)
Income before income tax expense 26,215 87,704
Income tax expense 600 20,371
Net income $ 25,615 $ 67,333
Net income per weighted-average common and common-equivalent share:    
Basic (usd per share) $ 0.15 $ 0.39
Diluted (usd per share) $ 0.15 $ 0.38
Weighted-average common and common-equivalent shares outstanding:    
Basic (shares) 172,624 174,146
Diluted (shares) 173,903 176,668
Cash dividends per common share (usd per share) $ 0.070 $ 0.065
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Statement of Comprehensive Income [Abstract]    
Net income $ 25,615 $ 67,333
Available-for-sale investments:    
Net unrealized gain (loss) on available-for-sale investments, net of tax 5,426 (13,548)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations   36
Net change related to available-for-sale investments 5,426 (13,512)
Foreign currency translation adjustments:    
Foreign currency translation adjustments (359) (2,111)
Net change related to foreign currency translation adjustments (359) (2,111)
Other comprehensive income (loss), net of tax 5,067 (15,623)
Total comprehensive income $ 30,682 $ 51,710
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Statement of Comprehensive Income [Abstract]    
Tax effect of unrealized gain (loss) on available-for-sale investments $ 1,858 $ (4,036)
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 164,171 $ 181,374
Current investments, amortized cost of $220,943 and $223,545 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022 216,703 218,759
Accounts receivable, allowance for credit losses of $1,001 and $730 in 2023 and 2022, respectively 144,154 125,417
Unbilled revenue 2,354 2,179
Inventories 127,147 122,480
Prepaid expenses and other current assets 67,634 67,490
Total current assets 722,163 717,699
Non-current investments, amortized cost of $478,329 and $476,148 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022 463,039 454,117
Property, plant, and equipment, net 81,274 79,714
Operating lease assets 37,769 37,682
Goodwill 242,041 242,630
Intangible assets, net 11,472 12,414
Deferred income taxes 409,583 407,241
Other assets 6,725 6,643
Total assets 1,974,066 1,958,140
Current liabilities:    
Accounts payable 26,939 27,103
Accrued expenses 83,527 93,235
Accrued income taxes 37,529 18,129
Deferred revenue and customer deposits 57,805 40,787
Operating lease liabilities 8,177 8,454
Total current liabilities 213,977 187,708
Non-current operating lease liabilities 31,389 31,298
Deferred income taxes 243,557 249,961
Reserve for income taxes 20,030 15,866
Non-current accrued income taxes 18,338 33,008
Other liabilities 444 1,905
Total liabilities 527,735 519,746
Shareholders’ equity:    
Preferred stock, $.01 par value – Authorized: 400 shares in 2023 and 2022, respectively; no shares issued and outstanding 0 0
Common stock, $.002 par value – Authorized: 300,000 shares in 2023 and 2022, respectively; issued and outstanding: 172,601 and 172,631 shares in 2023 and 2022, respectively 345 345
Additional paid-in capital 992,690 979,167
Retained earnings 517,526 528,179
Accumulated other comprehensive loss, net of tax (64,230) (69,297)
Total shareholders’ equity 1,446,331 1,438,394
Total liabilities and shareholders' equity $ 1,974,066 $ 1,958,140
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Amortized cost of current investments $ 220,943 $ 223,545
Allowance for credit losses 0 0
Allowance for credit losses, current 1,001 730
Amortized cost of non-current investments 478,329 476,148
Allowance for credit losses, non-current $ 0 $ 0
Preferred stock par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock shares authorized (in shares) 400,000 400,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.002 $ 0.002
Common stock shares authorized (in shares) 300,000,000 300,000,000
Common stock, shares issued (in shares) 172,601,000 172,631,000
Common stock, shares outstanding (in shares) 172,601,000 172,631,000
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Cash flows from operating activities:    
Net income $ 25,615 $ 67,333
Adjustments to reconcile net income to net cash provided by operating activities:    
Stock-based compensation expense 16,579 15,056
Depreciation of property, plant, and equipment 3,986 4,117
Amortization of intangible assets 942 840
Excess and obsolete inventory charges 788 379
Amortization of discounts or premiums on investments 700 1,402
Realized loss (gain) on sale of investments 0 36
Change in deferred income taxes (10,656) (3,891)
Accounts receivable (18,455) (24,700)
Unbilled revenue (173) 2,144
Inventories (5,338) (23,900)
Prepaid expenses and other current assets 231 4,212
Accounts payable (192) 708
Accrued expenses (9,942) (28,718)
Accrued income taxes 4,721 16,745
Deferred revenue and customer deposits 17,003 18,712
Other 1,744 (958)
Net cash provided by operating activities 27,553 49,517
Cash flows from investing activities:    
Purchases of investments (46,480) (39,155)
Maturities and sales of investments 46,199 112,976
Purchases of property, plant, and equipment (5,507) (4,585)
Net cash provided by (used in) investing activities (5,788) 69,236
Cash flows from financing activities:    
Net payments from issuance of common stock under stock plans (3,055) 3,594
Repurchase of common stock (24,178) (130,405)
Payment of dividends (12,091) (11,303)
Net cash provided by (used in) financing activities (39,324) (138,114)
Effect of foreign exchange rate changes on cash and cash equivalents 356 (1,031)
Net change in cash and cash equivalents (17,203) (20,392)
Cash and cash equivalents at beginning of period 181,374 186,161
Cash and cash equivalents at end of period $ 164,171 $ 165,769
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statement of Shareholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning Balance at Dec. 31, 2021 $ 1,430,093 $ 351 $ 914,802 $ 562,882 $ (47,942)
Beginning Balance (in shares) at Dec. 31, 2021   175,481      
Increase (Decrease) in Stockholders' Equity          
Net issuance of common stock under stock plans 3,594 $ 0 3,594    
Net issuance of common stock under stock plans (in shares)   136      
Repurchase of common stock (130,405) $ (4)   (130,401)  
Repurchase of common stock (in shares)   (1,879)      
Stock-based compensation expense 15,056   15,056    
Payment of dividends (11,303)     (11,303)  
Net income 67,333     67,333  
Net unrealized gain (loss) on available-for-sale investments, net of tax (13,548)       (13,548)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments 36       36
Foreign currency translation adjustment (2,111)       (2,111)
Ending Balance at Apr. 03, 2022 1,358,745 $ 347 933,452 488,511 (63,565)
Ending Balance (in shares) at Apr. 03, 2022   173,738      
Beginning Balance at Dec. 31, 2022 $ 1,438,394 $ 345 979,167 528,179 (69,297)
Beginning Balance (in shares) at Dec. 31, 2022 172,631 172,631      
Increase (Decrease) in Stockholders' Equity          
Net issuance of common stock under stock plans $ (3,055) $ 1 (3,056)    
Net issuance of common stock under stock plans (in shares)   449      
Repurchase of common stock (24,178) $ (1)   (24,177)  
Repurchase of common stock (in shares)   (479)      
Stock-based compensation expense 16,579   16,579    
Payment of dividends (12,091)     (12,091)  
Net income 25,615     25,615  
Net unrealized gain (loss) on available-for-sale investments, net of tax 5,426       5,426
Reclassification of net realized (gain) loss on the sale of available-for-sale investments         0
Foreign currency translation adjustment (359)       (359)
Ending Balance at Apr. 02, 2023 $ 1,446,331 $ 345 $ 992,690 $ 517,526 $ (64,230)
Ending Balance (in shares) at Apr. 02, 2023 172,601 172,601      
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.23.1
Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Statement of Stockholders' Equity [Abstract]    
Cash dividends per common share (usd per share) $ 0.070 $ 0.065
Tax effect of unrealized gain (loss) on available-for-sale investments $ 1,858 $ (4,036)
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.1
Summary of Significant Accounting Policies
3 Months Ended
Apr. 02, 2023
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 for a full description of other significant accounting policies.
In the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of April 2, 2023, and the results of its operations for the three-month periods ended April 2, 2023 and April 3, 2022, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month period ended April 2, 2023 are not necessarily indicative of the results to be expected for the full year.
XML 21 R11.htm IDEA: XBRL DOCUMENT v3.23.1
New Pronouncements
3 Months Ended
Apr. 02, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting", (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope", and Accounting Standards Update (ASU) 2022-06, "Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848"
The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2024, except for hedging relationships existing as of December 31, 2024 that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2024. Management adopted Topic 848 on January 1, 2023, and now uses the Secured Overnight Financing Rate (SOFR). The adoption did not have a material impact on the Company's financial statements and disclosures.
XML 22 R12.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements
3 Months Ended
Apr. 02, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April 2, 2023 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$3,618 $— $— 
Corporate bonds— 545,863 — 
Treasury bills— 61,112 — 
Asset-backed securities— 54,146 — 
Agency bonds— 16,038 — 
Sovereign bonds— 1,954 — 
Municipal bonds— 629 — 
Economic hedge forward contracts— 154 — 
Liabilities:
Economic hedge forward contracts— 74 — 
The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1.
The Company’s debt securities and forward contracts are reported at fair value based on model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.
Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis
Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company did not record impairment charges related to non-financial assets during the three-month periods ended April 2, 2023 or April 3, 2022.
XML 23 R13.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments
3 Months Ended
Apr. 02, 2023
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
April 2, 2023December 31, 2022
Cash$160,553 $180,959 
Money market instruments3,618 415 
Cash and cash equivalents164,171 181,374 
Corporate bonds160,320 164,055 
Asset-backed securities31,265 26,890 
Agency bonds16,038 15,858 
Treasury bills8,451 11,332 
Municipal bonds629 624 
Current investments216,703 218,759 
Corporate bonds385,543 374,440 
Treasury bills52,661 44,214 
Asset-backed securities22,881 33,539 
Sovereign bonds1,954 1,924 
Non-current investments463,039 454,117 
$843,913 $854,250 
Corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing; treasury bills consist of debt securities issued by the U.S. government; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All of the Company's securities as of April 2, 2023 and December 31, 2022 were denominated in U.S. Dollars.
Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $4,559,000 and $3,620,000 as of April 2, 2023 and December 31, 2022, respectively.
The following table summarizes the Company’s available-for-sale investments as of April 2, 2023 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Corporate bonds$163,537 $$(3,220)$160,320 
Asset-backed securities32,016 — (751)31,265 
Agency bonds16,148 — (110)16,038 
Treasury bills8,607 — (156)8,451 
Municipal bonds635 — (6)629 
Non-current:
Corporate bonds400,051 1,623 (16,131)385,543 
Treasury bills52,290 489 (118)52,661 
Asset-backed securities23,905 117 (1,141)22,881 
Sovereign bonds2,083 — (129)1,954 
$699,272 $2,232 $(21,762)$679,742 
The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April 2, 2023 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$81,931 $(1,098)$350,244 $(18,253)$432,175 $(19,351)
Asset-backed securities10,998 (213)32,783 (1,679)43,781 (1,892)
Agency bonds— — 16,037 (110)16,037 (110)
Treasury bills4,878 (117)8,451 (157)13,329 (274)
Sovereign bonds— — 1,954 (129)1,954 (129)
Municipal bonds629 (6)— — 629 (6)
$98,436 $(1,434)$409,469 $(20,328)$507,905 $(21,762)
Management monitors debt securities that are in an unrealized loss position to determine whether a loss exists related to the credit quality of the issuer. When developing an estimate of expected credit losses, management considers all relevant information including historical experience, current conditions, and reasonable forecasts of expected future cash flows. Based on this evaluation, no allowance for credit losses on debt securities was recorded as of April 2, 2023 or December 31, 2022. There was no activity recorded in the allowance for credit losses during the three-month periods ended April 2, 2023 or April 3, 2022. Management currently intends to hold these securities to full value recovery at maturity.
The Company recorded no gross realized gains or gross realized losses on the sale of debt securities for the three-month period ended April 2, 2023. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $118,000 and $154,000, respectively, for the three-month period ended April 3, 2022. Realized gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, were recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of April 2, 2023 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 Years5-8 YearsTotal
Corporate bonds$160,320 $166,170 $87,347 $63,241 $66,558 $2,227 $545,863 
Treasury bills8,451 3,414 15,156 17,837 16,254 — 61,112 
Asset-backed securities31,265 2,579 12,599 7,703 — — 54,146 
Agency bonds16,038 — — — — — 16,038 
Sovereign bonds— 978 976 — — — 1,954 
Municipal bonds629 — — — — — 629 
$216,703 $173,141 $116,078 $88,781 $82,812 $2,227 $679,742 
XML 24 R14.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories
3 Months Ended
Apr. 02, 2023
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories consisted of the following (in thousands):
April 2, 2023December 31, 2022
Raw materials$77,520 $71,720 
Work-in-process1,489 906 
Finished goods48,138 49,854 
$127,147 $122,480 
XML 25 R15.htm IDEA: XBRL DOCUMENT v3.23.1
Leases
3 Months Ended
Apr. 02, 2023
Leases [Abstract]  
Leases Leases
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion.
As of April 2, 2023, there was one option to terminate and eighteen options to extend that were accounted for in the determination of the lease term for outstanding leases. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of April 2, 2023.
The total operating lease expense for the three-month periods ended April 2, 2023 and April 3, 2022 were $2,392,000 and $2,229,000, respectively. The total operating lease cash payments for the three-month periods ended April 2, 2023 and April 3, 2022 were $2,404,000 and $2,079,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month periods ended April 2, 2023 and April 3, 2022 was $24,000 and $38,000, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2023$7,284 
20247,530 
20255,477 
20264,221 
20273,716 
20283,448 
Thereafter12,769 
$44,445 
The discounted present value of the future lease cash payments resulted in a total lease liability of $39,566,000 and $39,752,000 as of April 2, 2023 and December 31, 2022, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of April 2, 2023.
In December 2021, the Company entered into a lease for a 65,000 square-foot building in Southborough, Massachusetts for a term of ten years to serve as a new distribution center for customers in the Americas. The Company has the right and option to extend the term of this lease for an additional period of five years, commencing upon the expiration of the original ten-year term. This lease commenced during the first quarter of 2022, and therefore the Company recorded approximately $9,271,000 within "Operating lease assets" and "Operating lease liabilities" on the Consolidated Balance Sheets on the commencement date.
The weighted-average discount rate was 3.3% for the leases outstanding as of both April 2, 2023 and December 31, 2022. The weighted-average remaining lease term was 7.6 and 7.8 years for the leases outstanding as of April 2, 2023 and December 31, 2022, respectively.
XML 26 R16.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill
3 Months Ended
Apr. 02, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2022$242,630 
  Foreign exchange rate changes(589)
Balance as of April 2, 2023$242,041 
XML 27 R17.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets
3 Months Ended
Apr. 02, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Completed technologies$28,017 $(18,492)$9,525 
Customer relationships5,838 (4,040)1,798 
Non-compete agreements340 (191)149 
Balance as of April 2, 2023$34,195 $(22,723)$11,472 
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Completed technologies$28,017 $(17,744)$10,273 
Customer relationships5,838 (3,860)1,978 
Non-compete agreements340 (177)163 
Balance as of December 31, 2022$34,195 $(21,781)$12,414 
As of April 2, 2023, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2023$2,195 
20242,623 
20252,300 
20261,995 
20271,273 
2028543 
Thereafter543 
$11,472 
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.23.1
Warranty Obligations
3 Months Ended
Apr. 02, 2023
Product Warranties Disclosures [Abstract]  
Warranty Obligations Warranty Obligations
The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2022$4,375 
Provisions for warranties issued during the period527 
Fulfillment of warranty obligations(828)
Balance as of April 2, 2023$4,074 
XML 29 R19.htm IDEA: XBRL DOCUMENT v3.23.1
Commitment and Contingencies
3 Months Ended
Apr. 02, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
As of April 2, 2023, the Company had outstanding purchase orders totaling $47,486,000 to procure inventory from various vendors. Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate primarily to expected sales in the next twelve months.
A significant portion of the Company's outstanding inventory purchase orders as of April 2, 2023, as well as additional preauthorized commitments to procure strategic components based on the Company's expected customer demand, are placed with the Company's primary contract manufacturer for the Company's assembled products. The Company has the obligation to purchase any non-cancelable and non-returnable components that have been purchased by the contract manufacturer with the Company's preauthorization, when these components have not been consumed within the period defined in the terms of the Company's agreement with this contract manufacturer. While the Company typically expects such purchased components to be used in future production of Cognex finished goods, these components are considered in the Company's reserve estimate for excess and obsolete inventory. Furthermore, the Company accrues for losses on commitments for the future purchase of non-cancelable and non-returnable components from this contract manufacturer at the time that circumstances, such as changes in demand, indicate that the value of the components may not be recoverable, the loss is probable, and management has the ability to reasonably estimate the amount of the loss.
Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments
3 Months Ended
Apr. 02, 2023
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivative Instruments Derivative Instruments
The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities that do not exceed approximately three months to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.
The Company had the following outstanding forward contracts (in thousands):
April 2, 2023December 31, 2022
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Euro32,500 $35,529 60,000 $64,174 
Mexican Peso155,000 8,498 185,000 9,480 
Hungarian Forint1,890,000 5,381 1,590,000 4,238 
Japanese Yen600,000 4,536 700,000 5,281 
British Pound3,485 4,313 3,445 4,161 
Canadian Dollar1,705 1,261 1,730 1,278 
Chinese Renminbi  55,000 7,619 
Swiss Franc  1,120 1,218 
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
April 2, 2023December 31, 2022Sheet
Location
April 2, 2023December 31, 2022
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$154 $27 Accrued expenses$74 $479 

The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset DerivativesLiability Derivatives
April 2, 2023December 31, 2022April 2, 2023December 31, 2022
Gross amounts of recognized assets$154 $27 Gross amounts of recognized liabilities$74 $479 
Gross amounts offset — Gross amounts offset — 
Net amount of assets presented$154 $27 Net amount of liabilities presented$74 $479 

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months Ended
 April 2, 2023April 3, 2022
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$(1,471)$1,739 
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition
3 Months Ended
Apr. 02, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months Ended
April 2, 2023April 3, 2022
Americas$80,442 $126,658 
Europe59,842 62,792 
Greater China33,172 48,406 
Other Asia27,668 44,551 
$201,124 $282,407 

The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months Ended
April 2, 2023April 3, 2022
Standard products and services$190,783 $257,880 
Application-specific customer solutions10,341 24,527 
$201,124 $282,407 
Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $20,219,000 and $14,578,000 as of April 2, 2023 and December 31, 2022, respectively.
Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.
The following table summarizes the allowance for credit losses activity for the three-month period ended April 2, 2023 (in thousands):
Balance as of December 31, 2022$730 
Increases to the allowance for credit losses350 
Write-offs, net of recoveries(78)
Foreign exchange rate changes(1)
Balance as of April 2, 2023$1,001 
The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 2, 2023 (in thousands):
Balance as of December 31, 2022$40,787 
Deferral of revenue billed in the current period, net of recognition34,786 
Recognition of revenue deferred in prior period(8,578)
Returned customer deposit(9,205)
Foreign exchange rate changes15 
Balance as of April 2, 2023$57,805 
As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense
3 Months Ended
Apr. 02, 2023
Share-Based Payment Arrangement [Abstract]  
Shareholders' Equity and Share-based Payments Stock-Based Compensation Expense
Stock Plans
The Company’s stock-based awards that result in compensation expense consist of stock options, restricted stock units ("RSUs"), and performance restricted stock units ("PRSUs"). As of April 2, 2023, the Company had 12,116,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three or four years of continuous employment or incrementally over such three or four-year periods. PRSUs generally vest upon three years of continuous employment and achievement of performance criteria established by the Compensation Committee of our Board of Directors on or prior to the grant date. Participants are not entitled to dividends on stock options, RSUs, or PRSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 20228,467 $51.56 
Granted1,228 47.21 
Exercised(140)28.36 
Forfeited or expired(247)58.05 
Outstanding as of April 2, 20239,308 $51.16 6.53$37,312 
Exercisable as of April 2, 20235,433 $47.45 5.12$33,531 
Options vested or expected to vest as of April 2, 2023 (1)8,735 $50.90 6.37$36,643 
 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months Ended
 April 2, 2023April 3, 2022
Risk-free rate4.0 %1.9 %
Expected dividend yield0.59 %0.40 %
Expected volatility39 %37 %
Expected term (in years)4.35.2
Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month periods ended April 2, 2023 and April 3, 2022 were $17.79 and $22.45, respectively.
The total intrinsic values of stock options exercised for the three-month periods ended April 2, 2023 and April 3, 2022 were $3,439,000 and $2,615,000, respectively. The total fair values of stock options vested for the three-month periods ended April 2, 2023 and April 3, 2022 were $31,181,000 and $25,535,000, respectively.
Restricted Stock Units (RSUs)
The following table summarizes the Company's RSUs activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 20221,269 $61.74 
Granted635 46.61 
Vested(453)59.11 
Forfeited or expired(32)66.98 
Nonvested as of April 2, 20231,419 $55.69 
The fair value of RSUs is determined based on the observable market price of the Company's stock on the grant date less the present value of expected future dividends. The weighted-average grant-date fair values of RSUs granted during the three-month periods ended April 2, 2023 and April 3, 2022 were $46.61 and $63.96, respectively. There were 453,000 and 54,000 RSUs that vested during the three-month periods ended April 2, 2023 and April 3, 2022, respectively.
Performance Restricted Stock Units (PRSUs)
The following table summarizes the Company's PRSUs activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 202233 $62.49 
Granted46 44.86 
Vested— — 
Forfeited or expired— — 
Nonvested as of April 2, 202379 $52.23 
The fair value of PRSUs is calculated using the Monte Carlo simulation model to estimate the probability of satisfying the service and market conditions stipulated in the award grant. There were 46,000 and 33,000 PRSUs granted during the three-month periods ended April 2, 2023 and April 3, 2022, respectively. No PRSUs vested during the three-month periods ended April 2, 2023 and April 3, 2022.
Stock-Based Compensation Expense
The Company stratifies its employee population into three groups: one consisting of the CEO, one consisting of senior management, and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 0% to all stock-based awards for the CEO, 8% to all stock-based awards for senior management, and a rate of 13% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $234,000 in 2023 and an increase to compensation expense of $1,536,000 in 2022.
As of April 2, 2023, total unrecognized compensation expense, net of estimated forfeitures, related to non-vested equity awards, including stock options, RSUs, and PRSUs, was $86,841,000, which is expected to be recognized over a weighted-average period of 2.4 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April 2, 2023 were $16,579,000 and $2,308,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April 3, 2022 were $15,056,000 and $2,319,000, respectively. No compensation expense was capitalized as of April 2, 2023 or December 31, 2022.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months Ended
 April 2, 2023April 3, 2022
Cost of revenue$621 $563 
Research, development, and engineering5,890 4,448 
Selling, general, and administrative10,068 10,045 
$16,579 $15,056 
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.23.1
Stock Repurchase Program
3 Months Ended
Apr. 02, 2023
Equity [Abstract]  
Stock Repurchase Program Stock Repurchase ProgramOn March 12, 2020, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Under this March 2020 program, in addition to repurchases made in prior years, the Company repurchased 1,677,000 shares at a cost of $117,000,000 during the three-month period ended April 3, 2022, which completed purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. Under this March 2022 program, the Company repurchased 202,000 shares at a cost of $13,405,000 during the three-month period ended April 3, 2022. Under this same March 2022 program, in addition to purchases made during the prior year, the Company repurchased 479,000 shares at a total cost of $24,178,000 during the three-month period ended April 2, 2023 leaving a remaining balance of $388,508,000 as of April 2, 2023. The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions.
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes
3 Months Ended
Apr. 02, 2023
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
The Company's effective tax rate was 2% for the three-month period ended April 2, 2023, and 23% for the three-month period ended April 3, 2022.
The Company has defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 22% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These foreign tax rate differences resulted in a net decrease to the effective tax rate for both the three-month periods ended April 2, 2023 and April 3, 2022.
The Company recorded a net discrete tax benefit totaling $3,594,000 for the three-month period ended April 2, 2023, and a net discrete tax expense totaling $6,338,000 for the same period in 2022.
Discrete tax items for the three-month period ended April 2, 2023 included (1) an increase in tax expense of $1,068,000 related to stock-based compensation; (2) a decrease in tax expense of $2,292,000 for releasing tax reserves on state tax credits; (3) a decrease in tax expense of $2,198,000 for adjustments to certain deferred tax assets; and (4) a decrease in tax expense of $172,000 for return-to-provision adjustments.
Discrete tax items for the three-month period ended April 3, 2022 included (1) an increase in tax expense of $1,417,000 arising from an Internal Revenue Service (IRS) audit; (2) an increase in tax expense of $1,734,000 to establish a full valuation allowance against deferred tax assets related to foreign tax credits; and (3) an increase in tax expense of $3,187,000 consisting primarily of transfer pricing and return-to-provision adjustments.
Excluding the impact of these discrete tax items, the Company’s effective tax rate was 16% for both the three-month periods ended April 2, 2023 and April 3, 2022.
The Company’s reserve for income taxes, including gross interest and penalties, was $20,030,000 as of April 2, 2023, which was classified as a non-current liability. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.
Within the United States, the tax years 2019 through 2022 remain open to examination by the IRS, and 2018 through 2021 remain open to examination by various state tax authorities. The Company is currently under audit by the state of Massachusetts for the years 2020 and 2021. The tax years 2017 through 2022 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.1
Weighted-Average Shares
3 Months Ended
Apr. 02, 2023
Earnings Per Share [Abstract]  
Weighted-Average Shares Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months Ended
 April 2, 2023April 3, 2022
Basic weighted-average common shares outstanding172,624 174,146 
Effect of dilutive equity awards1,279 2,522 
Weighted-average common and common-equivalent shares outstanding173,903 176,668 

Stock options to purchase 6,515,000 and 1,282,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 2, 2023 and April 3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 10,000 and 20,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 2, 2023 and April 3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. No PRSUs were excluded in the calculation of dilutive net income per share for the three-month periods ended April 2, 2023 and April 3, 2022, as PRSUs were not anti-dilutive on a weighted-average basis.
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.23.1
Loss from Fire
3 Months Ended
Apr. 02, 2023
Catastrophe [Abstract]  
Loss from Fire Loss (Recovery) from Fire
On June 7, 2022, the Company’s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. As a result of the fire, the Company recorded $48,339,000 in gross losses in 2022, primarily related to Cognex-owned inventory that was destroyed or deemed to have a net realizable value of zero, and prepayments related to Cognex-designated components that were owned by the contract manufacturer. Gross losses were reduced by insurance proceeds received from the Company’s insurance carrier of $27,560,000 in the fourth quarter of 2022. Subsequent to the April 2, 2023 balance sheet date, but prior to the date of financial statement issuance, the Company received insurance proceeds of $2,500,000 related to a business interruption claim associated with the fire from the Company's insurance carrier. In the second quarter of 2023, this recovery amount will be presented in the caption “Loss (recovery) from fire” on the Consolidated Statements of Operations.
As of April 2, 2023 and through the date of financial statement issuance, management cannot yet estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or realizable. There can be no assurance, however, that the insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges
3 Months Ended
Apr. 02, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring Charges
On December 7, 2022, the Company acquired all of the outstanding shares of SAC Sirius Advanced Cybernetics GmbH ("SAC"), a leader in computational lighting technology based in Germany. Following its acquisition of SAC, the Company performed restructuring activities to align the cost and operating structure of the acquired business with the Company's business strategy. As of December 31, 2022, the majority of these restructuring actions were completed. No additional charges were recorded during the three-month period ended April 2, 2023, or are expected to be incurred in future periods in relation to this restructuring plan.
The following table summarizes the activity in the Company’s restructuring reserve related to these restructuring activities, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsTotal
Balance as of December 31, 2022$964 $75 $1,039 
Cash payments(143)(20)(163)
Foreign exchange rate changes17 18 
Balance as of April 2, 2023$838 $56 $894 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.23.1
Subsequent Events
3 Months Ended
Apr. 02, 2023
Subsequent Events [Abstract]  
Subsequent Events Subsequent EventsOn May 4, 2023, the Company’s Board of Directors declared a cash dividend of $0.07 per share. The dividend is payable on June 2, 2023 to all shareholders of record as of the close of business on May 19, 2023.
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.23.1
Summary of Significant Accounting Policies (Policies)
3 Months Ended
Apr. 02, 2023
Accounting Policies [Abstract]  
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting", (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope", and Accounting Standards Update (ASU) 2022-06, "Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848"
The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2024, except for hedging relationships existing as of December 31, 2024 that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2024. Management adopted Topic 848 on January 1, 2023, and now uses the Secured Overnight Financing Rate (SOFR). The adoption did not have a material impact on the Company's financial statements and disclosures.
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements (Tables)
3 Months Ended
Apr. 02, 2023
Fair Value Disclosures [Abstract]  
Assets and Liabilities Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April 2, 2023 (in thousands):
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
Significant Other
Observable
Inputs (Level 2)
Unobservable Inputs (Level 3)
Assets:
Money market instruments$3,618 $— $— 
Corporate bonds— 545,863 — 
Treasury bills— 61,112 — 
Asset-backed securities— 54,146 — 
Agency bonds— 16,038 — 
Sovereign bonds— 1,954 — 
Municipal bonds— 629 — 
Economic hedge forward contracts— 154 — 
Liabilities:
Economic hedge forward contracts— 74 — 
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments (Tables)
3 Months Ended
Apr. 02, 2023
Cash and Cash Equivalents [Abstract]  
Components of Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
April 2, 2023December 31, 2022
Cash$160,553 $180,959 
Money market instruments3,618 415 
Cash and cash equivalents164,171 181,374 
Corporate bonds160,320 164,055 
Asset-backed securities31,265 26,890 
Agency bonds16,038 15,858 
Treasury bills8,451 11,332 
Municipal bonds629 624 
Current investments216,703 218,759 
Corporate bonds385,543 374,440 
Treasury bills52,661 44,214 
Asset-backed securities22,881 33,539 
Sovereign bonds1,954 1,924 
Non-current investments463,039 454,117 
$843,913 $854,250 
Summary of Available-for-Sale Investments
The following table summarizes the Company’s available-for-sale investments as of April 2, 2023 (in thousands):
Amortized
Cost
Gross
Unrealized
Gains
Gross
Unrealized
Losses
Fair Value
Current:
Corporate bonds$163,537 $$(3,220)$160,320 
Asset-backed securities32,016 — (751)31,265 
Agency bonds16,148 — (110)16,038 
Treasury bills8,607 — (156)8,451 
Municipal bonds635 — (6)629 
Non-current:
Corporate bonds400,051 1,623 (16,131)385,543 
Treasury bills52,290 489 (118)52,661 
Asset-backed securities23,905 117 (1,141)22,881 
Sovereign bonds2,083 — (129)1,954 
$699,272 $2,232 $(21,762)$679,742 
Gross Unrealized Losses and Fair Values for Available-for-Sale Investments The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April 2, 2023 (in thousands):
 Unrealized Loss Position For: 
 Less than 12 Months12 Months or GreaterTotal
 Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Fair ValueUnrealized
Losses
Corporate bonds$81,931 $(1,098)$350,244 $(18,253)$432,175 $(19,351)
Asset-backed securities10,998 (213)32,783 (1,679)43,781 (1,892)
Agency bonds— — 16,037 (110)16,037 (110)
Treasury bills4,878 (117)8,451 (157)13,329 (274)
Sovereign bonds— — 1,954 (129)1,954 (129)
Municipal bonds629 (6)— — 629 (6)
$98,436 $(1,434)$409,469 $(20,328)$507,905 $(21,762)
Effective Maturity Dates of Available-for-Sale Investments
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of April 2, 2023 (in thousands):
<1 year1-2 Years2-3 Years3-4 Years4-5 Years5-8 YearsTotal
Corporate bonds$160,320 $166,170 $87,347 $63,241 $66,558 $2,227 $545,863 
Treasury bills8,451 3,414 15,156 17,837 16,254 — 61,112 
Asset-backed securities31,265 2,579 12,599 7,703 — — 54,146 
Agency bonds16,038 — — — — — 16,038 
Sovereign bonds— 978 976 — — — 1,954 
Municipal bonds629 — — — — — 629 
$216,703 $173,141 $116,078 $88,781 $82,812 $2,227 $679,742 
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories (Tables)
3 Months Ended
Apr. 02, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventories
Inventories consisted of the following (in thousands):
April 2, 2023December 31, 2022
Raw materials$77,520 $71,720 
Work-in-process1,489 906 
Finished goods48,138 49,854 
$127,147 $122,480 
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.23.1
Leases (Tables)
3 Months Ended
Apr. 02, 2023
Leases [Abstract]  
Lessee, Operating Lease, Liability, Maturity
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2023$7,284 
20247,530 
20255,477 
20264,221 
20273,716 
20283,448 
Thereafter12,769 
$44,445 
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill (Tables)
3 Months Ended
Apr. 02, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The changes in the carrying value of goodwill were as follows (in thousands):
Balance as of December 31, 2022$242,630 
  Foreign exchange rate changes(589)
Balance as of April 2, 2023$242,041 
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets (Tables)
3 Months Ended
Apr. 02, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Completed technologies$28,017 $(18,492)$9,525 
Customer relationships5,838 (4,040)1,798 
Non-compete agreements340 (191)149 
Balance as of April 2, 2023$34,195 $(22,723)$11,472 
 Gross
Carrying
Value
Accumulated
Amortization
Net
Carrying
Value
Completed technologies$28,017 $(17,744)$10,273 
Customer relationships5,838 (3,860)1,978 
Non-compete agreements340 (177)163 
Balance as of December 31, 2022$34,195 $(21,781)$12,414 
Schedule of Intangible Assets, Future Amortization Expense
As of April 2, 2023, estimated future amortization expense related to intangible assets was as follows (in thousands):
Year Ended December 31,Amount
Remainder of fiscal 2023$2,195 
20242,623 
20252,300 
20261,995 
20271,273 
2028543 
Thereafter543 
$11,472 
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.23.1
Warranty Obligations (Tables)
3 Months Ended
Apr. 02, 2023
Product Warranties Disclosures [Abstract]  
Changes in Warranty Obligations
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2022$4,375 
Provisions for warranties issued during the period527 
Fulfillment of warranty obligations(828)
Balance as of April 2, 2023$4,074 
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments (Tables)
3 Months Ended
Apr. 02, 2023
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Outstanding Forward Contracts Table
The Company had the following outstanding forward contracts (in thousands):
April 2, 2023December 31, 2022
CurrencyNotional
Value
USD
Equivalent
Notional
Value
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
Euro32,500 $35,529 60,000 $64,174 
Mexican Peso155,000 8,498 185,000 9,480 
Hungarian Forint1,890,000 5,381 1,590,000 4,238 
Japanese Yen600,000 4,536 700,000 5,281 
British Pound3,485 4,313 3,445 4,161 
Canadian Dollar1,705 1,261 1,730 1,278 
Chinese Renminbi  55,000 7,619 
Swiss Franc  1,120 1,218 
Schedule of Derivative Instruments in Statement of Financial Position, Fair Value
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 Asset DerivativesLiability Derivatives
 BalanceFair ValueBalanceFair Value
 Sheet
Location
April 2, 2023December 31, 2022Sheet
Location
April 2, 2023December 31, 2022
Derivatives Not Designated as Hedging Instruments:
Economic hedge forward contractsPrepaid expenses and other current assets$154 $27 Accrued expenses$74 $479 
Offsetting Assets
The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset DerivativesLiability Derivatives
April 2, 2023December 31, 2022April 2, 2023December 31, 2022
Gross amounts of recognized assets$154 $27 Gross amounts of recognized liabilities$74 $479 
Gross amounts offset — Gross amounts offset — 
Net amount of assets presented$154 $27 Net amount of liabilities presented$74 $479 
Derivative Instruments, Gain (Loss)
Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 Location in Financial StatementsThree-months Ended
 April 2, 2023April 3, 2022
Derivatives Not Designated as Hedging Instruments:
Gains (losses) recognized in current operationsForeign currency gain (loss)$(1,471)$1,739 
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition (Tables)
3 Months Ended
Apr. 02, 2023
Revenue from Contract with Customer [Abstract]  
Revenue from External Customers by Geographic Areas
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
Three-months Ended
April 2, 2023April 3, 2022
Americas$80,442 $126,658 
Europe59,842 62,792 
Greater China33,172 48,406 
Other Asia27,668 44,551 
$201,124 $282,407 
Revenue from External Customers by Products and Services
The following table summarizes disaggregated revenue information by revenue type (in thousands):
Three-months Ended
April 2, 2023April 3, 2022
Standard products and services$190,783 $257,880 
Application-specific customer solutions10,341 24,527 
$201,124 $282,407 
Schedule of Allowance for Credit Loss Activity
The following table summarizes the allowance for credit losses activity for the three-month period ended April 2, 2023 (in thousands):
Balance as of December 31, 2022$730 
Increases to the allowance for credit losses350 
Write-offs, net of recoveries(78)
Foreign exchange rate changes(1)
Balance as of April 2, 2023$1,001 
Deferred Revenue, by Arrangement, Disclosure
The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 2, 2023 (in thousands):
Balance as of December 31, 2022$40,787 
Deferral of revenue billed in the current period, net of recognition34,786 
Recognition of revenue deferred in prior period(8,578)
Returned customer deposit(9,205)
Foreign exchange rate changes15 
Balance as of April 2, 2023$57,805 
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense (Tables)
3 Months Ended
Apr. 02, 2023
Share-Based Payment Arrangement [Abstract]  
Summary of Stock Option Activity
The following table summarizes the Company’s stock option activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-
Average
Exercise
Price
Weighted-
Average
Remaining
Contractual
Term (in years)
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 20228,467 $51.56 
Granted1,228 47.21 
Exercised(140)28.36 
Forfeited or expired(247)58.05 
Outstanding as of April 2, 20239,308 $51.16 6.53$37,312 
Exercisable as of April 2, 20235,433 $47.45 5.12$33,531 
Options vested or expected to vest as of April 2, 2023 (1)8,735 $50.90 6.37$36,643 
 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 Three-months Ended
 April 2, 2023April 3, 2022
Risk-free rate4.0 %1.9 %
Expected dividend yield0.59 %0.40 %
Expected volatility39 %37 %
Expected term (in years)4.35.2
Schedule of Nonvested Restricted Stock Units Activity
The following table summarizes the Company's RSUs activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 20221,269 $61.74 
Granted635 46.61 
Vested(453)59.11 
Forfeited or expired(32)66.98 
Nonvested as of April 2, 20231,419 $55.69 
Schedule of Nonvested Performance-based Units Activity
The following table summarizes the Company's PRSUs activity for the three-month period ended April 2, 2023:
Shares
(in thousands)
Weighted-Average
Grant Date Fair Value
Nonvested as of December 31, 202233 $62.49 
Granted46 44.86 
Vested— — 
Forfeited or expired— — 
Nonvested as of April 2, 202379 $52.23 
Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 Three-months Ended
 April 2, 2023April 3, 2022
Cost of revenue$621 $563 
Research, development, and engineering5,890 4,448 
Selling, general, and administrative10,068 10,045 
$16,579 $15,056 
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.23.1
Weighted-Average Shares (Tables)
3 Months Ended
Apr. 02, 2023
Earnings Per Share [Abstract]  
Calculation of Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 Three-months Ended
 April 2, 2023April 3, 2022
Basic weighted-average common shares outstanding172,624 174,146 
Effect of dilutive equity awards1,279 2,522 
Weighted-average common and common-equivalent shares outstanding173,903 176,668 
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges (Tables)
3 Months Ended
Apr. 02, 2023
Restructuring and Related Activities [Abstract]  
Schedule of Activity in Restructuring Reserve
The following table summarizes the activity in the Company’s restructuring reserve related to these restructuring activities, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):
One-time Termination BenefitsContract Termination CostsTotal
Balance as of December 31, 2022$964 $75 $1,039 
Cash payments(143)(20)(163)
Foreign exchange rate changes17 18 
Balance as of April 2, 2023$838 $56 $894 
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Assets:    
Money market instruments $ 3,618 $ 415
Financial assets at fair value 679,742  
Corporate Bonds    
Assets:    
Financial assets at fair value 545,863  
Asset-Backed Securities    
Assets:    
Financial assets at fair value 54,146  
Treasury Bills    
Assets:    
Financial assets at fair value 61,112  
Agency Bonds    
Assets:    
Financial assets at fair value 16,038  
Sovereign Bonds    
Assets:    
Financial assets at fair value 1,954  
Municipal Bonds    
Assets:    
Financial assets at fair value 629  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 3,618  
Economic hedge forward contracts 0  
Liabilities:    
Economic hedge forward contracts 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 0  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value 0  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 0  
Economic hedge forward contracts 154  
Liabilities:    
Economic hedge forward contracts 74  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 545,863  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 54,146  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 61,112  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 16,038  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 1,954  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value 629  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 0  
Economic hedge forward contracts 0  
Liabilities:    
Economic hedge forward contracts 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 0  
Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value $ 0  
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Dec. 31, 2022
Cash and Cash Equivalents [Line Items]      
Debt securities, available-for-sale, allowance for credit loss $ 0   $ 0
Credit loss on investments 0 $ 0  
Gross realized gains on sale of investments 0 118  
Gross realized losses on sale of investments 0 $ 154  
Other Current Assets      
Cash and Cash Equivalents [Line Items]      
Accrued interest receivable $ 4,559   $ 3,620
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Debt Securities, Available-for-sale    
Cash $ 160,553 $ 180,959
Money market instruments 3,618 415
Cash and cash equivalents 164,171 181,374
Current investments 216,703 218,759
Non-current investments 463,039 454,117
Total 843,913 854,250
Corporate Bonds    
Debt Securities, Available-for-sale    
Current investments 160,320 164,055
Long-term investments 385,543 374,440
Asset-Backed Securities    
Debt Securities, Available-for-sale    
Current investments 31,265 26,890
Long-term investments 22,881 33,539
Treasury Bills    
Debt Securities, Available-for-sale    
Current investments 8,451 11,332
Long-term investments 52,661 44,214
Agency Bonds    
Debt Securities, Available-for-sale    
Current investments 16,038 15,858
Municipal Bonds    
Debt Securities, Available-for-sale    
Current investments 629 624
Sovereign Bonds    
Debt Securities, Available-for-sale    
Long-term investments $ 1,954 $ 1,924
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)
$ in Thousands
Apr. 02, 2023
USD ($)
Debt Securities, Available-for-sale  
Amortized cost $ 699,272
Gross unrealized gains 2,232
Gross unrealized losses (21,762)
Fair value 679,742
Corporate Bonds  
Debt Securities, Available-for-sale  
Fair value 545,863
Corporate Bonds | Current Assets  
Debt Securities, Available-for-sale  
Amortized cost 163,537
Gross unrealized gains 3
Gross unrealized losses (3,220)
Fair value 160,320
Corporate Bonds | Non-current Assets  
Debt Securities, Available-for-sale  
Amortized cost 400,051
Gross unrealized gains 1,623
Gross unrealized losses (16,131)
Fair value 385,543
Asset-Backed Securities  
Debt Securities, Available-for-sale  
Fair value 54,146
Asset-Backed Securities | Current Assets  
Debt Securities, Available-for-sale  
Amortized cost 32,016
Gross unrealized gains 0
Gross unrealized losses (751)
Fair value 31,265
Asset-Backed Securities | Non-current Assets  
Debt Securities, Available-for-sale  
Amortized cost 23,905
Gross unrealized gains 117
Gross unrealized losses (1,141)
Fair value 22,881
Treasury Bills  
Debt Securities, Available-for-sale  
Fair value 61,112
Treasury Bills | Current Assets  
Debt Securities, Available-for-sale  
Amortized cost 8,607
Gross unrealized gains 0
Gross unrealized losses (156)
Fair value 8,451
Treasury Bills | Non-current Assets  
Debt Securities, Available-for-sale  
Amortized cost 52,290
Gross unrealized gains 489
Gross unrealized losses (118)
Fair value 52,661
Agency Bonds  
Debt Securities, Available-for-sale  
Fair value 16,038
Agency Bonds | Current Assets  
Debt Securities, Available-for-sale  
Amortized cost 16,148
Gross unrealized gains 0
Gross unrealized losses (110)
Fair value 16,038
Sovereign Bonds  
Debt Securities, Available-for-sale  
Fair value 1,954
Sovereign Bonds | Non-current Assets  
Debt Securities, Available-for-sale  
Amortized cost 2,083
Gross unrealized gains 0
Gross unrealized losses (129)
Fair value 1,954
Municipal Bonds  
Debt Securities, Available-for-sale  
Fair value 629
Municipal Bonds | Current Assets  
Debt Securities, Available-for-sale  
Amortized cost 635
Gross unrealized gains 0
Gross unrealized losses (6)
Fair value $ 629
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)
$ in Thousands
Apr. 02, 2023
USD ($)
Debt Securities, Available-for-sale  
Fair value, less than 12 months $ 98,436
Unrealized losses, less than 12 months (1,434)
Fair value, 12 months or greater 409,469
Unrealized losses, 12 months or greater (20,328)
Total fair value 507,905
Total Unrealized Losses (21,762)
Corporate Bonds  
Debt Securities, Available-for-sale  
Fair value, less than 12 months 81,931
Unrealized losses, less than 12 months (1,098)
Fair value, 12 months or greater 350,244
Unrealized losses, 12 months or greater (18,253)
Total fair value 432,175
Total Unrealized Losses (19,351)
Asset-Backed Securities  
Debt Securities, Available-for-sale  
Fair value, less than 12 months 10,998
Unrealized losses, less than 12 months (213)
Fair value, 12 months or greater 32,783
Unrealized losses, 12 months or greater (1,679)
Total fair value 43,781
Total Unrealized Losses (1,892)
Treasury Bills  
Debt Securities, Available-for-sale  
Fair value, less than 12 months 4,878
Unrealized losses, less than 12 months (117)
Fair value, 12 months or greater 8,451
Unrealized losses, 12 months or greater (157)
Total fair value 13,329
Total Unrealized Losses (274)
Agency Bonds  
Debt Securities, Available-for-sale  
Fair value, less than 12 months 0
Unrealized losses, less than 12 months 0
Fair value, 12 months or greater 16,037
Unrealized losses, 12 months or greater (110)
Total fair value 16,037
Total Unrealized Losses (110)
Sovereign Bonds  
Debt Securities, Available-for-sale  
Fair value, less than 12 months 0
Unrealized losses, less than 12 months 0
Fair value, 12 months or greater 1,954
Unrealized losses, 12 months or greater (129)
Total fair value 1,954
Total Unrealized Losses (129)
Municipal Bonds  
Debt Securities, Available-for-sale  
Fair value, less than 12 months 629
Unrealized losses, less than 12 months (6)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 629
Total Unrealized Losses $ (6)
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.23.1
Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)
$ in Thousands
Apr. 02, 2023
USD ($)
Debt Securities, Available-for-sale  
less than 1 year $ 216,703
1-2 Years 173,141
2-3 Years 116,078
3-4 Years 88,781
4-5 Years 82,812
5-8 Years 2,227
Fair value 679,742
Corporate Bonds  
Debt Securities, Available-for-sale  
less than 1 year 160,320
1-2 Years 166,170
2-3 Years 87,347
3-4 Years 63,241
4-5 Years 66,558
5-8 Years 2,227
Fair value 545,863
Asset-Backed Securities  
Debt Securities, Available-for-sale  
less than 1 year 31,265
1-2 Years 2,579
2-3 Years 12,599
3-4 Years 7,703
4-5 Years 0
5-8 Years 0
Fair value 54,146
Treasury Bills  
Debt Securities, Available-for-sale  
less than 1 year 8,451
1-2 Years 3,414
2-3 Years 15,156
3-4 Years 17,837
4-5 Years 16,254
5-8 Years 0
Fair value 61,112
Agency Bonds  
Debt Securities, Available-for-sale  
less than 1 year 16,038
1-2 Years 0
2-3 Years 0
3-4 Years 0
4-5 Years 0
5-8 Years 0
Fair value 16,038
Sovereign Bonds  
Debt Securities, Available-for-sale  
less than 1 year 0
1-2 Years 978
2-3 Years 976
3-4 Years 0
4-5 Years 0
5-8 Years 0
Fair value 1,954
Municipal Bonds  
Debt Securities, Available-for-sale  
less than 1 year 629
1-2 Years 0
2-3 Years 0
3-4 Years 0
4-5 Years 0
5-8 Years 0
Fair value $ 629
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories - Schedule of Inventories (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Raw materials $ 77,520 $ 71,720
Work-in-process 1,489 906
Finished goods 48,138 49,854
Inventories $ 127,147 $ 122,480
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Narrative (Details)
ft² in Thousands, $ in Thousands
1 Months Ended 3 Months Ended
Dec. 31, 2021
ft²
Apr. 02, 2023
USD ($)
Apr. 03, 2022
USD ($)
Dec. 31, 2022
USD ($)
Leases [Abstract]        
Operating lease, cost   $ 2,392 $ 2,229  
Operating lease, payments   2,404 2,079  
Lease, cost   24 38  
Lessee, Lease, Description [Line Items]        
Operating lease assets   37,769   $ 37,682
Operating lease liability   39,566   39,752
Operating lease liability   $ 39,566   $ 39,752
Weighted average discount rate   3.30%   3.30%
Weighted average remaining lease term   7 years 7 months 6 days   7 years 9 months 18 days
Southborough, Massachusetts        
Lessee, Lease, Description [Line Items]        
Rentable area | ft² 65      
Term of contract 10 years      
Option to renew, term of contract 5 years      
Operating lease assets     9,271  
Operating lease liability     9,271  
Operating lease liability     $ 9,271  
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)
$ in Thousands
Apr. 02, 2023
USD ($)
Leases [Abstract]  
Remainder of fiscal 2023 $ 7,284
2024 7,530
2025 5,477
2026 4,221
2027 3,716
2028 3,448
Thereafter 12,769
Total $ 44,445
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill (Details)
$ in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
Goodwill [Roll Forward]  
Balance as of December 31, 2022 $ 242,630
Foreign exchange rate changes (589)
Balance as of April 2, 2023 $ 242,041
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.23.1
Intangible Assets (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks    
Gross Carrying Value $ 34,195 $ 34,195
Accumulated Amortization (22,723) (21,781)
Net Carrying Value 11,472 12,414
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 11,472 12,414
Completed technologies    
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks    
Gross Carrying Value 28,017 28,017
Accumulated Amortization (18,492) (17,744)
Net Carrying Value 9,525 10,273
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 9,525 10,273
Customer relationships    
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks    
Gross Carrying Value 5,838 5,838
Accumulated Amortization (4,040) (3,860)
Net Carrying Value 1,798 1,978
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 1,798 1,978
Non-compete agreements    
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks    
Gross Carrying Value 340 340
Accumulated Amortization (191) (177)
Net Carrying Value 149 163
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 149 $ 163
Indefinite-lived intangible asset excluding in-process technologies    
Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks    
Net Carrying Value 11,472  
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Remainder of fiscal 2023 2,195  
2024 2,623  
2025 2,300  
2026 1,995  
2027 1,273  
2028 543  
Finite-Lived Intangible Asset, Expected Amortization, after Year Five 543  
Net Carrying Value $ 11,472  
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.23.1
Warranty Obligations - Changes in Warranty Obligations (Detail)
$ in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
Movement in Standard Product Warranty Accrual [Roll Forward]  
Beginning balance $ 4,375
Provisions for warranties issued during the period 527
Fulfillment of warranty obligations (828)
Ending balance $ 4,074
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.23.1
Commitment and Contingencies (Details)
$ in Thousands
Apr. 02, 2023
USD ($)
Commitments and Contingencies Disclosure [Abstract]  
Outstanding purchase orders $ 47,486
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments (Details)
3 Months Ended
Apr. 02, 2023
Not Designated as Hedging Instrument  
Derivative Instruments and Hedging Activities Disclosures [Line Items]  
Remaining maturity of foreign currency derivatives (up to) 3 months
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments - Outstanding Forward Contracts Table (Details) - Not Designated as Hedging Instrument
€ in Thousands, ¥ in Thousands, ¥ in Thousands, £ in Thousands, SFr in Thousands, Ft in Thousands, $ in Thousands, $ in Thousands, $ in Thousands
Apr. 02, 2023
EUR (€)
Apr. 02, 2023
USD ($)
Apr. 02, 2023
MXN ($)
Apr. 02, 2023
HUF (Ft)
Apr. 02, 2023
JPY (¥)
Apr. 02, 2023
GBP (£)
Apr. 02, 2023
CAD ($)
Apr. 02, 2023
CNY (¥)
Apr. 02, 2023
CHF (SFr)
Dec. 31, 2022
EUR (€)
Dec. 31, 2022
USD ($)
Dec. 31, 2022
MXN ($)
Dec. 31, 2022
HUF (Ft)
Dec. 31, 2022
JPY (¥)
Dec. 31, 2022
GBP (£)
Dec. 31, 2022
CAD ($)
Dec. 31, 2022
CNY (¥)
Dec. 31, 2022
CHF (SFr)
Euro Member Countries, Euro                                    
Derivative [Line Items]                                    
Outstanding forward contracts € 32,500 $ 35,529               € 60,000 $ 64,174              
China, Yuan Renminbi                                    
Derivative [Line Items]                                    
Outstanding forward contracts   0           ¥ 0     7,619           ¥ 55,000  
Mexico, Pesos                                    
Derivative [Line Items]                                    
Outstanding forward contracts   8,498 $ 155,000               9,480 $ 185,000            
Japanese Yen                                    
Derivative [Line Items]                                    
Outstanding forward contracts   4,536     ¥ 600,000           5,281     ¥ 700,000        
United Kingdom, Pounds                                    
Derivative [Line Items]                                    
Outstanding forward contracts   4,313       £ 3,485         4,161       £ 3,445      
Hungary, Forint                                    
Derivative [Line Items]                                    
Outstanding forward contracts   5,381   Ft 1,890,000             4,238   Ft 1,590,000          
Canada, Dollars                                    
Derivative [Line Items]                                    
Outstanding forward contracts   1,261         $ 1,705       1,278         $ 1,730    
Switzerland, Francs                                    
Derivative [Line Items]                                    
Outstanding forward contracts   $ 0             SFr 0   $ 1,218             SFr 1,120
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Derivatives, Fair Value [Line Items]    
Derivative asset $ 154 $ 27
Derivative liability 74 479
Not Designated as Hedging Instrument    
Derivatives, Fair Value [Line Items]    
Derivative asset 154 27
Derivative liability $ 74 $ 479
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments - Offsetting Assets (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Derivative Instruments and Hedging Activities Disclosure [Abstract]    
Gross amounts of recognized assets $ 154 $ 27
Gross amounts offset 0 0
Net amount of assets presented 154 27
Gross amounts of recognized liabilities 74 479
Gross amounts offset 0 0
Net amount of liabilities presented $ 74 $ 479
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.23.1
Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Not Designated as Hedging Instrument    
Derivative Instruments, Gain (Loss) [Line Items]    
Gains (losses) recognized in current operations $ (1,471) $ 1,739
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Revenue Disaggregated by Geography (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Disaggregation of Revenue [Line Items]    
Revenue $ 201,124 $ 282,407
Americas    
Disaggregation of Revenue [Line Items]    
Revenue 80,442 126,658
Europe    
Disaggregation of Revenue [Line Items]    
Revenue 59,842 62,792
Greater China    
Disaggregation of Revenue [Line Items]    
Revenue 33,172 48,406
Other Asia    
Disaggregation of Revenue [Line Items]    
Revenue $ 27,668 $ 44,551
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Revenue Disaggregated by Products and Services (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Revenue from External Customer [Line Items]    
Revenue $ 201,124 $ 282,407
Standard products and services    
Revenue from External Customer [Line Items]    
Revenue 190,783 257,880
Application-specific customer solutions    
Revenue from External Customer [Line Items]    
Revenue $ 10,341 $ 24,527
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Additional Information (Details) - USD ($)
$ in Thousands
Apr. 02, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]    
Costs to fulfill contract $ 20,219 $ 14,578
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Schedule of Allowance for Credit Loss (Details)
$ in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
Accounts Receivable, Allowance for Credit Loss [Roll Forward]  
Balance as of December 31, 2022 $ 730
Increases to the allowance for credit losses 350
Write-offs, net of recoveries (78)
Foreign exchange rate changes (1)
Balance as of April 2, 2023 $ 1,001
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Deferred Revenue Activity (Details)
$ in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
Movement in Deferred Revenue [Roll Forward]  
Balance as of December 31, 2022 $ 40,787
Deferral of revenue billed in the current period, net of recognition 34,786
Recognition of revenue deferred in prior period (8,578)
Deferred Revenue, Refund Payments 9,205
Foreign exchange rate changes 15
Balance as of April 2, 2023 $ 57,805
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense (Details)
3 Months Ended
Apr. 02, 2023
USD ($)
group
$ / shares
shares
Apr. 03, 2022
USD ($)
$ / shares
shares
Dec. 31, 2022
USD ($)
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted-average grant-date fair values, in dollars per share | $ / shares $ 17.79 $ 22.45  
Total intrinsic value $ 3,439,000 $ 2,615,000  
Total fair values of stock options vest $ 31,181,000 25,535,000  
Groups within the employee population | group 3    
Estimated annual forfeiture rate for unvested options for senior management 8.00%    
Estimated annual forfeiture rate for unvested options for all other employees 13.00%    
Increase (decrease) to compensation expense   1,536,000  
Unrecognized compensation expense $ 86,841,000    
Weighted average period to be recognized 2 years 4 months 24 days    
Stock-based compensation expense $ 16,579,000 15,056,000  
Tax benefit from compensation expense 2,308,000 $ 2,319,000  
Recognized period costs capitalized $ 0   $ 0
Employee Stock Option      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares available for grant under stock option plans (in shares) | shares 12,116,000    
Expiration period from grant day 10 years    
Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Granted (in dollars per share) | $ / shares $ 46.61 $ 63.96  
Granted (in shares) | shares 635,000    
Vested (in shares) | shares 453,000 54,000  
Performance Shares      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period for stock option plans 3 years    
Granted (in dollars per share) | $ / shares $ 44.86    
Granted (in shares) | shares 46,000 33,000  
Vested (in shares) | shares 0 0  
Minimum | General Stock Option Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period for stock option plans 4 years    
Minimum | Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period for stock option plans 3 years    
Maximum | General Stock Option Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period for stock option plans 5 years    
Maximum | Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period for stock option plans 4 years    
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
$ / shares
shares
Shares (in thousands)  
Outstanding, shares | shares 8,467
Granted, shares | shares 1,228
Exercised, shares | shares (140)
Forfeited or expired, shares | shares (247)
Outstanding, shares | shares 9,308
Exercisable as of reporting date, shares | shares 5,433
Options vested or expected to vest as of reporting date, shares | shares 8,735
Weighted- Average Exercise Price  
Outstanding, in dollars per share | $ / shares $ 51.56
Granted, in dollars per share | $ / shares 47.21
Exercised, in dollars per share | $ / shares 28.36
Forfeited or expired, in dollars per share | $ / shares 58.05
Outstanding, in dollars per share | $ / shares 51.16
Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares 47.45
Vested and expected to vest, outstanding, in dollars per share | $ / shares $ 50.90
Weighted- Average Remaining Contractual Term (in years)  
Outstanding, in years 6 years 6 months 10 days
Exercisable, in years 5 years 1 month 13 days
Options vested or expected to vest, in years 6 years 4 months 13 days
Aggregate Intrinsic Value (in thousands)  
Outstanding, in dollars | $ $ 37,312
Exercisable, in dollars | $ 33,531
Options vested or expected to vest, in dollars | $ $ 36,643
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Share-Based Payment Arrangement [Abstract]    
Risk-free rate 4.00% 1.90%
Expected dividend yield 0.59% 0.40%
Expected volatility 39.00% 37.00%
Expected term (in years) 4 years 3 months 18 days 5 years 2 months 12 days
XML 78 R68.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)
$ / shares in Units, shares in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
group
$ / shares
shares
Apr. 03, 2022
USD ($)
$ / shares
shares
Dec. 31, 2022
USD ($)
Weighted-Average Grant Date Fair Value      
Groups within the employee population | group 3    
Estimated Forfeiture Rate for Unvested Options for CEO 0    
Estimated annual forfeiture rate for unvested options for senior management 8.00%    
Estimated annual forfeiture rate for unvested options for all other employees 13.00%    
Decrease in compensation expense due to revised estimated forfeiture rates $ 234,000    
Increase (decrease) to compensation expense   $ 1,536,000  
Unrecognized compensation expense $ 86,841,000    
Weighted average period to be recognized 2 years 4 months 24 days    
Stock-based compensation expense $ 16,579,000 15,056,000  
Tax benefit from compensation expense 2,308,000 $ 2,319,000  
Recognized period costs capitalized $ 0   $ 0
Restricted Stock Units (RSUs)      
Shares (in thousands)      
Nonvested as of Beginning of Period (in shares) | shares 1,269    
Granted (in shares) | shares 635    
Vested (in shares) | shares 453 54  
Forfeited or expired (in shares) | shares (32)    
Nonvested as of End of Period (in shares) | shares 1,419    
Weighted-Average Grant Date Fair Value      
Nonvested as of Beginning of Period (in dollars per share) | $ / shares $ 61.74    
Granted (in dollars per share) | $ / shares 46.61 $ 63.96  
Vested (in dollars per share) | $ / shares 59.11    
Forfeited or expired (in dollars per share) | $ / shares 66.98    
Nonvested as of End of Period (in dollars per share) | $ / shares $ 55.69    
XML 79 R69.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details) - Performance Shares - $ / shares
shares in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Shares (in thousands)    
Nonvested as of Beginning of Period (in shares) 33  
Granted (in shares) 46 33
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period 0 0
Forfeited or expired (in shares) 0  
Nonvested as of End of Period (in shares) 79  
Weighted-Average Grant Date Fair Value    
Nonvested as of Beginning of Period (in dollars per share) $ 62.49  
Granted (in dollars per share) 44.86  
Vested (in dollars per share) 0  
Forfeited or expired (in dollars per share) 0  
Nonvested as of End of Period (in dollars per share) $ 52.23  
XML 80 R70.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]    
Stock-based compensation expense $ 16,579 $ 15,056
Cost of Revenue    
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]    
Stock-based compensation expense 621 563
Research, Development, and Engineering Expenses    
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]    
Stock-based compensation expense 5,890 4,448
Selling, General, and Administrative    
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]    
Stock-based compensation expense $ 10,068 $ 10,045
XML 81 R71.htm IDEA: XBRL DOCUMENT v3.23.1
Stock Repurchase Program (Details) - USD ($)
shares in Thousands
3 Months Ended 12 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Dec. 31, 2022
Mar. 03, 2022
Mar. 12, 2020
Repurchase Program March 2020          
Equity, Class of Treasury Stock [Line Items]          
Authorized common stock to be repurchased         $ 200,000,000
Shares repurchased at cost (in shares)     1,677    
Shares repurchased at cost     $ 117,000,000    
Repurchase Program March 2022          
Equity, Class of Treasury Stock [Line Items]          
Authorized common stock to be repurchased       $ 500,000,000  
Shares repurchased at cost (in shares) 479 202      
Shares repurchased at cost $ 24,178,000 $ 13,405,000      
Remaining authorized repurchase amount $ 388,508,000        
XML 82 R72.htm IDEA: XBRL DOCUMENT v3.23.1
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 02, 2023
Oct. 02, 2022
Apr. 03, 2022
Dec. 31, 2022
Income Tax Contingency [Line Items]        
Effective tax rate 2.00%   23.00%  
Discrete tax expense (benefit) $ (3,594)   $ (6,338)  
Increase in tax expense arising from tax settlement   $ 2,292 1,417  
Increase in tax expense related to valuation allowance   $ 2,198 1,734  
Increase in tax expense related to transfer pricing and return-to-provision adjustments 172   $ 3,187  
Decrease in tax expense related to stock-based compensation $ 1,068      
Effective tax rate excluding discrete items (as a percent) 16.00%   16.00%  
Liability for uncertain tax positions $ 20,030      
Reserve for income taxes classified as a noncurrent iability $ 20,030     $ 15,866
Tax years open to examination by Internal Revenue Service 2019 through 2022      
Tax years open to examination by various taxing authorities for other entities 2017 through 2022      
Foreign Tax Authority | Revenue Commissioners, Ireland        
Income Tax Contingency [Line Items]        
Statutory tax rate 12.50%      
Foreign Tax Authority | State Administration of Taxation, China        
Income Tax Contingency [Line Items]        
Statutory tax rate 25.00%      
Foreign Tax Authority | KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF        
Income Tax Contingency [Line Items]        
Statutory tax rate 22.00%      
Domestic Tax Authority        
Income Tax Contingency [Line Items]        
Statutory tax rate 21.00%      
XML 83 R73.htm IDEA: XBRL DOCUMENT v3.23.1
Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) - shares
shares in Thousands
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Earnings Per Share [Abstract]    
Basic weighted-average common shares outstanding (in shares) 172,624 174,146
Effect of dilutive equity awards (in shares) 1,279 2,522
Weighted-average common and common-equivalent shares outstanding (in shares) 173,903 176,668
XML 84 R74.htm IDEA: XBRL DOCUMENT v3.23.1
Weighted-Average Shares (Details) - shares
3 Months Ended
Apr. 02, 2023
Apr. 03, 2022
Employee Stock Option    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Anti-dilutive securities excluded from computation of earnings per share (shares) 6,515,000 1,282,000
Restricted Stock    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Anti-dilutive securities excluded from computation of earnings per share (shares) 10,000 20,000
Performance Shares    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Anti-dilutive securities excluded from computation of earnings per share (shares) 0 0
XML 85 R75.htm IDEA: XBRL DOCUMENT v3.23.1
Loss from Fire (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended
May 03, 2023
Dec. 31, 2022
Dec. 31, 2022
Business Interruption Loss [Line Items]      
Gross loss from catastrophes     $ 48,339
Insurance recoveries   $ 27,560  
Subsequent Event      
Business Interruption Loss [Line Items]      
Proceeds from insurance settlements $ 2,500    
XML 86 R76.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges - Activity in Restructuring Reserve (Details) - Accrued Expenses - December 2022
$ in Thousands
3 Months Ended
Apr. 02, 2023
USD ($)
Restructuring Reserve [Roll Forward]  
Balance at beginning of period $ 1,039
Cash payments (163)
Foreign exchange rate changes (18)
Balance at end of period 894
One-time Termination Benefits  
Restructuring Reserve [Roll Forward]  
Balance at beginning of period 964
Cash payments (143)
Foreign exchange rate changes (17)
Balance at end of period 838
Contract Termination Costs  
Restructuring Reserve [Roll Forward]  
Balance at beginning of period 75
Cash payments (20)
Foreign exchange rate changes (1)
Balance at end of period $ 56
XML 87 R77.htm IDEA: XBRL DOCUMENT v3.23.1
Subsequent Events (Details)
May 04, 2023
$ / shares
Subsequent Event  
Subsequent Event [Line Items]  
Dividends (in dollars per share) $ 0.07
XML 88 cgnx-20230402_htm.xml IDEA: XBRL DOCUMENT 0000851205 2023-01-01 2023-04-02 0000851205 2023-04-02 0000851205 2022-01-01 2022-04-03 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-04-02 0000851205 2022-12-31 0000851205 2021-12-31 0000851205 2022-04-03 0000851205 us-gaap:CommonStockMember 2022-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0000851205 us-gaap:RetainedEarningsMember 2022-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0000851205 us-gaap:CommonStockMember 2023-01-01 2023-04-02 0000851205 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-04-02 0000851205 us-gaap:RetainedEarningsMember 2023-01-01 2023-04-02 0000851205 us-gaap:CommonStockMember 2023-04-02 0000851205 us-gaap:AdditionalPaidInCapitalMember 2023-04-02 0000851205 us-gaap:RetainedEarningsMember 2023-04-02 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-02 0000851205 us-gaap:CommonStockMember 2021-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0000851205 us-gaap:RetainedEarningsMember 2021-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0000851205 us-gaap:CommonStockMember 2022-01-01 2022-04-03 0000851205 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-04-03 0000851205 us-gaap:RetainedEarningsMember 2022-01-01 2022-04-03 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-04-03 0000851205 us-gaap:CommonStockMember 2022-04-03 0000851205 us-gaap:AdditionalPaidInCapitalMember 2022-04-03 0000851205 us-gaap:RetainedEarningsMember 2022-04-03 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-03 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2023-04-02 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2023-04-02 0000851205 us-gaap:CorporateBondSecuritiesMember 2023-04-02 0000851205 us-gaap:CorporateBondSecuritiesMember 2022-12-31 0000851205 us-gaap:AssetBackedSecuritiesMember 2023-04-02 0000851205 us-gaap:AssetBackedSecuritiesMember 2022-12-31 0000851205 cgnx:AgencyBondsMember 2023-04-02 0000851205 cgnx:AgencyBondsMember 2022-12-31 0000851205 us-gaap:USTreasurySecuritiesMember 2023-04-02 0000851205 us-gaap:USTreasurySecuritiesMember 2022-12-31 0000851205 us-gaap:MunicipalBondsMember 2023-04-02 0000851205 us-gaap:MunicipalBondsMember 2022-12-31 0000851205 us-gaap:SovereignDebtMember 2023-04-02 0000851205 us-gaap:SovereignDebtMember 2022-12-31 0000851205 us-gaap:OtherCurrentAssetsMember 2023-04-02 0000851205 us-gaap:OtherCurrentAssetsMember 2022-12-31 0000851205 cgnx:CurrentAssetsMember us-gaap:CorporateBondSecuritiesMember 2023-04-02 0000851205 cgnx:CurrentAssetsMember us-gaap:AssetBackedSecuritiesMember 2023-04-02 0000851205 cgnx:CurrentAssetsMember cgnx:AgencyBondsMember 2023-04-02 0000851205 cgnx:CurrentAssetsMember us-gaap:USTreasurySecuritiesMember 2023-04-02 0000851205 cgnx:CurrentAssetsMember us-gaap:MunicipalBondsMember 2023-04-02 0000851205 cgnx:NonCurrentAssetsMember us-gaap:CorporateBondSecuritiesMember 2023-04-02 0000851205 cgnx:NonCurrentAssetsMember us-gaap:USTreasurySecuritiesMember 2023-04-02 0000851205 cgnx:NonCurrentAssetsMember us-gaap:AssetBackedSecuritiesMember 2023-04-02 0000851205 cgnx:NonCurrentAssetsMember us-gaap:SovereignDebtSecuritiesMember 2023-04-02 0000851205 us-gaap:SovereignDebtSecuritiesMember 2023-04-02 0000851205 cgnx:SouthboroughMassachusettsMember 2021-12-31 0000851205 cgnx:SouthboroughMassachusettsMember 2021-12-01 2021-12-31 0000851205 cgnx:SouthboroughMassachusettsMember 2022-04-03 0000851205 us-gaap:DevelopedTechnologyRightsMember 2023-04-02 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2023-04-02 0000851205 us-gaap:OtherIntangibleAssetsMember 2023-04-02 0000851205 us-gaap:DevelopedTechnologyRightsMember 2022-12-31 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2022-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2022-12-31 0000851205 cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember 2023-04-02 0000851205 us-gaap:NondesignatedMember 2023-01-01 2023-04-02 0000851205 currency:EUR us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:EUR us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:MXN us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:MXN us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:HUF us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:JPY us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:JPY us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:GBP us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:GBP us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:CAD us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:CAD us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:CNY us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:CNY us-gaap:NondesignatedMember 2022-12-31 0000851205 currency:CHF us-gaap:NondesignatedMember 2023-04-02 0000851205 currency:CHF us-gaap:NondesignatedMember 2022-12-31 0000851205 us-gaap:NondesignatedMember 2023-04-02 0000851205 us-gaap:NondesignatedMember 2022-12-31 0000851205 us-gaap:NondesignatedMember 2022-01-01 2022-04-03 0000851205 srt:AmericasMember 2023-01-01 2023-04-02 0000851205 srt:AmericasMember 2022-01-01 2022-04-03 0000851205 srt:EuropeMember 2023-01-01 2023-04-02 0000851205 srt:EuropeMember 2022-01-01 2022-04-03 0000851205 country:CN 2023-01-01 2023-04-02 0000851205 country:CN 2022-01-01 2022-04-03 0000851205 cgnx:AsiaExcludingChinaMember 2023-01-01 2023-04-02 0000851205 cgnx:AsiaExcludingChinaMember 2022-01-01 2022-04-03 0000851205 cgnx:StandardProductsandServicesMember 2023-01-01 2023-04-02 0000851205 cgnx:StandardProductsandServicesMember 2022-01-01 2022-04-03 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2023-01-01 2023-04-02 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2022-01-01 2022-04-03 0000851205 us-gaap:EmployeeStockOptionMember 2023-04-02 0000851205 srt:MinimumMember cgnx:GeneralStockOptionPlanMember 2023-01-01 2023-04-02 0000851205 srt:MaximumMember cgnx:GeneralStockOptionPlanMember 2023-01-01 2023-04-02 0000851205 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-04-02 0000851205 srt:MinimumMember us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-04-02 0000851205 srt:MaximumMember us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-04-02 0000851205 us-gaap:PerformanceSharesMember 2023-01-01 2023-04-02 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-04-02 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2023-04-02 0000851205 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-04-03 0000851205 us-gaap:PerformanceSharesMember 2022-12-31 0000851205 us-gaap:PerformanceSharesMember 2023-04-02 0000851205 us-gaap:PerformanceSharesMember 2022-01-01 2022-04-03 0000851205 us-gaap:CostOfGoodsTotalMember 2023-01-01 2023-04-02 0000851205 us-gaap:CostOfGoodsTotalMember 2022-01-01 2022-04-03 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-04-02 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-04-03 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2023-01-01 2023-04-02 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2022-01-01 2022-04-03 0000851205 cgnx:RepurchaseProgramMarch2020Member 2020-03-12 0000851205 cgnx:RepurchaseProgramMarch2020Member 2022-01-01 2022-12-31 0000851205 cgnx:RepurchaseProgramMarch2022Member 2022-03-03 0000851205 cgnx:RepurchaseProgramMarch2022Member 2022-01-01 2022-04-03 0000851205 cgnx:RepurchaseProgramMarch2022Member 2023-01-01 2023-04-02 0000851205 cgnx:RepurchaseProgramMarch2022Member 2023-04-02 0000851205 us-gaap:ForeignCountryMember us-gaap:RevenueCommissionersIrelandMember 2023-01-01 2023-04-02 0000851205 us-gaap:ForeignCountryMember us-gaap:StateAdministrationOfTaxationChinaMember 2023-01-01 2023-04-02 0000851205 us-gaap:ForeignCountryMember country:KP 2023-01-01 2023-04-02 0000851205 us-gaap:DomesticCountryMember 2023-01-01 2023-04-02 0000851205 2022-07-04 2022-10-02 0000851205 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-04-02 0000851205 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-04-03 0000851205 us-gaap:RestrictedStockMember 2023-01-01 2023-04-02 0000851205 us-gaap:RestrictedStockMember 2022-01-01 2022-04-03 0000851205 us-gaap:PerformanceSharesMember 2023-01-01 2023-04-02 0000851205 us-gaap:PerformanceSharesMember 2022-01-01 2022-04-03 0000851205 2022-01-01 2022-12-31 0000851205 2022-10-03 2022-12-31 0000851205 us-gaap:SubsequentEventMember 2023-04-03 2023-05-03 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OneTimeTerminationBenefitsMember cgnx:December2022Member 2022-12-31 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:ContractTerminationMember cgnx:December2022Member 2022-12-31 0000851205 us-gaap:AccruedLiabilitiesMember cgnx:December2022Member 2022-12-31 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OneTimeTerminationBenefitsMember cgnx:December2022Member 2023-01-01 2023-04-02 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:ContractTerminationMember cgnx:December2022Member 2023-01-01 2023-04-02 0000851205 us-gaap:AccruedLiabilitiesMember cgnx:December2022Member 2023-01-01 2023-04-02 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:OneTimeTerminationBenefitsMember cgnx:December2022Member 2023-04-02 0000851205 us-gaap:AccruedLiabilitiesMember us-gaap:ContractTerminationMember cgnx:December2022Member 2023-04-02 0000851205 us-gaap:AccruedLiabilitiesMember cgnx:December2022Member 2023-04-02 0000851205 us-gaap:SubsequentEventMember 2023-05-04 2023-05-04 shares iso4217:USD iso4217:USD shares utr:sqft pure iso4217:EUR iso4217:MXN iso4217:HUF iso4217:JPY iso4217:GBP iso4217:CAD iso4217:CNY iso4217:CHF cgnx:group 0000851205 --12-31 2023 Q1 false P4Y P3Y P3Y 10-Q true false 001-34218 COGNEX CORP MA 04-2713778 One Vision Drive Natick MA 01760 508 650-3000 Common Stock, par value $.002 per share CGNX NASDAQ Yes Yes Large Accelerated Filer false false false 2023-04-02 172601360 201124000 282407000 57384000 78790000 143740000 203617000 38542000 36054000 83037000 80835000 22161000 86728000 394000 -444000 3587000 1468000 73000 -48000 26215000 87704000 600000 20371000 25615000 67333000 0.15 0.39 0.15 0.38 172624000 174146000 173903000 176668000 0.070 0.065 25615000 67333000 1858000 -4036000 5426000 -13548000 0 -36000 5426000 -13512000 -359000 -2111000 -359000 -2111000 5067000 -15623000 30682000 51710000 164171000 181374000 220943000 223545000 0 0 216703000 218759000 1001000 730000 144154000 125417000 2354000 2179000 127147000 122480000 67634000 67490000 722163000 717699000 478329000 476148000 0 0 463039000 454117000 81274000 79714000 37769000 37682000 242041000 242630000 11472000 12414000 409583000 407241000 6725000 6643000 1974066000 1958140000 26939000 27103000 83527000 93235000 37529000 18129000 57805000 40787000 8177000 8454000 213977000 187708000 31389000 31298000 243557000 249961000 20030000 15866000 18338000 33008000 444000 1905000 527735000 519746000 0.01 0.01 400000 400000 0 0 0 0 0 0 0.002 0.002 300000000 300000000 172601000 172601000 172631000 172631000 345000 345000 992690000 979167000 517526000 528179000 -64230000 -69297000 1446331000 1438394000 1974066000 1958140000 25615000 67333000 16579000 15056000 3986000 4117000 942000 840000 788000 379000 -700000 -1402000 0 -36000 10656000 3891000 18455000 24700000 -173000 2144000 5338000 23900000 -231000 -4212000 -192000 708000 -9942000 -28718000 4721000 16745000 17003000 18712000 -1744000 958000 27553000 49517000 46480000 39155000 46199000 112976000 5507000 4585000 -5788000 69236000 -3055000 3594000 24178000 130405000 12091000 11303000 -39324000 -138114000 356000 -1031000 -17203000 -20392000 181374000 186161000 164171000 165769000 172631000 345000 979167000 528179000 -69297000 1438394000 449000 1000 -3056000 -3055000 479000 1000 24177000 24178000 16579000 16579000 0.070 12091000 12091000 25615000 25615000 1858000 5426000 5426000 -359000 -359000 172601000 345000 992690000 517526000 -64230000 1446331000 175481000 351000 914802000 562882000 -47942000 1430093000 136000 0 3594000 3594000 1879000 4000 130401000 130405000 15056000 15056000 0.065 11303000 11303000 67333000 67333000 -4036000 -13548000 -13548000 -36000 -36000 -2111000 -2111000 173738000 347000 933452000 488511000 -63565000 1358745000 Summary of Significant Accounting Policies<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 for a full description of other significant accounting policies.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of the management of Cognex Corporation (the "Company"), the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of April 2, 2023, and the results of its operations for the three-month periods ended April 2, 2023 and April 3, 2022, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results disclosed in the Consolidated Statements of Operations for the three-month period ended April 2, 2023 are not necessarily indicative of the results to be expected for the full year.</span></div> New Pronouncements<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting", (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope", and Accounting Standards Update (ASU) 2022-06, "Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2024, except for hedging relationships existing as of December 31, 2024 that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2024. Management adopted Topic 848 on January 1, 2023, and now uses the Secured Overnight Financing Rate (SOFR). The adoption did not have a material impact on the Company's financial statements and disclosures.</span></div> New Pronouncements<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2020-04, "Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting", (ASU) 2021-01, "Reference Rate Reform (Topic 848): Scope", and Accounting Standards Update (ASU) 2022-06, "Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in these ASUs apply to all entities that have contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. Together, the ASUs provide optional expedients and exceptions for applying generally accepted accounting principles (GAAP) to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The expedients and exceptions provided by the amendments do not apply to contract modifications made and hedging relationships entered into or evaluated after December 31, 2024, except for hedging relationships existing as of December 31, 2024 that an entity has elected certain optional expedients for and that are retained through the end of the hedging relationship. The amendments in these ASUs are effective for all entities as of March 12, 2020 through December 31, 2024. Management adopted Topic 848 on January 1, 2023, and now uses the Secured Overnight Financing Rate (SOFR). The adoption did not have a material impact on the Company's financial statements and disclosures.</span></div> Fair Value Measurements<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April 2, 2023 (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:99.853%"><tr><td style="width:1.0%"/><td style="width:49.998%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.714%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted Prices in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,618 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545,863 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,146 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">154 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s debt securities and forward contracts are reported at fair value based on model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-financial assets, such as property, plant and equipment, operating lease assets, goodwill, and intangible assets, are required to be measured at fair value only when an impairment loss is recognized. The Company did not record impairment charges related to non-financial assets during the three-month periods ended April 2, 2023 or April 3, 2022.</span></div> <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of April 2, 2023 (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:99.853%"><tr><td style="width:1.0%"/><td style="width:49.998%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.714%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted Prices in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,618 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545,863 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,146 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">154 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 3618000 0 0 0 545863000 0 0 61112000 0 0 54146000 0 0 16038000 0 0 1954000 0 0 629000 0 0 154000 0 0 74000 0 Cash, Cash Equivalents, and Investments<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments 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 style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,553</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,959 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,618</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">415 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">164,171</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181,374 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,320</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">31,265</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,890 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,038</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,858 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,451</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,332 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">629</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,703</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,759 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">385,543</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">374,440 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52,661</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,214 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">22,881</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,539 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,954</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,924 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">463,039</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">454,117 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">843,913</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">854,250 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing; treasury bills consist of debt securities issued by the U.S. government; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All of the Company's securities as of April 2, 2023 and December 31, 2022 were denominated in U.S. Dollars.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $4,559,000 and $3,620,000 as of April 2, 2023 and December 31, 2022, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s available-for-sale investments as of April 2, 2023 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.243%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.392%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,220)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,016 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,148 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,607 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(156)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">400,051 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,131)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385,543 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,290 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">489 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(118)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,661 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,905 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,141)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,083 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">699,272</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,232</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(21,762)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">679,742</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April 2, 2023 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:30.711%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.654%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,931 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,098)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350,244 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,253)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,175 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,351)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,998 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(213)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,783 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,679)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,781 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,892)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,037 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(110)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,037 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(110)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,878 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(117)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(157)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(274)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">98,436</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1,434)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">409,469</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(20,328)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">507,905</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(21,762)</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"/></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management monitors debt securities that are in an unrealized loss position to determine whether a loss exists related to the credit quality of the issuer. When developing an estimate of expected credit losses, management considers all relevant information including historical experience, current conditions, and reasonable forecasts of expected future cash flows. Based on this evaluation, no allowance for credit losses on debt securities was recorded as of April 2, 2023 or December 31, 2022. There was no activity recorded in the allowance for credit losses during the three-month periods ended April 2, 2023 or April 3, 2022. Management currently intends to hold these securities to full value recovery at maturity.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded no gross realized gains or gross realized losses on the sale of debt securities for the three-month period ended April 2, 2023. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $118,000 and $154,000, respectively, for the three-month period ended April 3, 2022. Realized gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, were recorded in shareholders’ equity as accumulated other comprehensive loss.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of April 2, 2023 (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 style="width:25.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.289%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">5-8 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160,320 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,170 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,347 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,558 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,227 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545,863 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,414 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,156 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,837 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,254 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,579 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,599 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,703 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,146 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">978 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">976 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,703</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,141</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">116,078</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">88,781</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">82,812</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,227</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">679,742</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments 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 style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,553</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,959 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,618</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">415 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">164,171</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181,374 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,320</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">31,265</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,890 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,038</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,858 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,451</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,332 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">629</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,703</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,759 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">385,543</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">374,440 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52,661</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,214 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">22,881</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,539 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,954</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,924 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">463,039</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">454,117 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">843,913</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">854,250 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 160553000 180959000 3618000 415000 164171000 181374000 160320000 164055000 31265000 26890000 16038000 15858000 8451000 11332000 629000 624000 216703000 218759000 385543000 374440000 52661000 44214000 22881000 33539000 1954000 1924000 463039000 454117000 843913000 854250000 4559000 3620000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s available-for-sale investments as of April 2, 2023 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.243%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.392%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,220)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160,320 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,016 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,148 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,607 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(156)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,451 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">400,051 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,131)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385,543 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,290 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">489 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(118)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,661 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,905 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,141)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,083 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">699,272</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,232</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(21,762)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">679,742</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 163537000 3000 3220000 160320000 32016000 0 751000 31265000 16148000 0 110000 16038000 8607000 0 156000 8451000 635000 0 6000 629000 400051000 1623000 16131000 385543000 52290000 489000 118000 52661000 23905000 117000 1141000 22881000 2083000 0 129000 1954000 699272000 2232000 21762000 679742000 The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of April 2, 2023 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:30.711%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.654%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,931 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,098)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350,244 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,253)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,175 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,351)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,998 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(213)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,783 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,679)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,781 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,892)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,037 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(110)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,037 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(110)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,878 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(117)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(157)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(274)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">98,436</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1,434)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">409,469</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(20,328)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">507,905</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(21,762)</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"/></tr></table> 81931000 1098000 350244000 18253000 432175000 19351000 10998000 213000 32783000 1679000 43781000 1892000 0 0 16037000 110000 16037000 110000 4878000 117000 8451000 157000 13329000 274000 0 0 1954000 129000 1954000 129000 629000 6000 0 0 629000 6000 98436000 1434000 409469000 20328000 507905000 21762000 0 0 0 0 0 0 0 0 118000 154000 <div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of April 2, 2023 (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 style="width:25.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.289%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">5-8 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160,320 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,170 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,347 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,558 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,227 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545,863 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,414 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,156 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,837 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,254 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,265 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,579 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,599 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,703 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,146 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,038 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">978 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">976 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">216,703</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,141</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">116,078</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">88,781</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">82,812</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,227</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">679,742</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 160320000 166170000 87347000 63241000 66558000 2227000 545863000 8451000 3414000 15156000 17837000 16254000 0 61112000 31265000 2579000 12599000 7703000 0 0 54146000 16038000 0 0 0 0 0 16038000 0 978000 976000 0 0 0 1954000 629000 0 0 0 0 0 629000 216703000 173141000 116078000 88781000 82812000 2227000 679742000 Inventories<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories 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 style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,520</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,489</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">906 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">48,138</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,854 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">127,147</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,480 </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"/></tr></table></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories 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 style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,520</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,489</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">906 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">48,138</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,854 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">127,147</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,480 </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"/></tr></table></div> 77520000 71720000 1489000 906000 48138000 49854000 127147000 122480000 Leases<div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. </span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of April 2, 2023, there was one option to terminate and eighteen options to extend that were accounted for in the determination of the lease term for outstanding leases. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for outstanding leases as of April 2, 2023.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month periods ended April 2, 2023 and April 3, 2022 were $2,392,000 and $2,229,000, respectively. The total operating lease cash payments for the three-month periods ended April 2, 2023 and April 3, 2022 were $2,404,000 and $2,079,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability for the three-month periods ended April 2, 2023 and April 3, 2022 was $24,000 and $38,000, respectively.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;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 style="width:82.648%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.224%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,284 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,530 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,477 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,716 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,448 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,769 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">44,445</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The discounted present value of the future lease cash payments resulted in a total lease liability of $39,566,000 and $39,752,000 as of April 2, 2023 and December 31, 2022, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of April 2, 2023.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, the Company entered into a lease for a 65,000 square-foot building in Southborough, Massachusetts for a term of ten years to serve as a new distribution center for customers in the Americas. The Company has the right and option to extend the term of this lease for an additional period of five years, commencing upon the expiration of the original ten-year term. This lease commenced during the first quarter of 2022, and therefore the Company recorded approximately $9,271,000 within "Operating lease assets" and "Operating lease liabilities" on the Consolidated Balance Sheets on the commencement date.</span></div>The weighted-average discount rate was 3.3% for the leases outstanding as of both April 2, 2023 and December 31, 2022. The weighted-average remaining lease term was 7.6 and 7.8 years for the leases outstanding as of April 2, 2023 and December 31, 2022, respectively. 2392000 2229000 2404000 2079000 24000 38000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;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 style="width:82.648%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.224%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,284 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,530 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,477 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,716 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,448 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,769 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">44,445</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 7284000 7530000 5477000 4221000 3716000 3448000 12769000 44445000 39566000 39752000 65000 P10Y P5Y P10Y 9271000 9271000 0.033 0.033 P7Y7M6D P7Y9M18D Goodwill<div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:83.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.776%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">242,630 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(589)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">242,041</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:83.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.776%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">242,630 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">  Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(589)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">242,041</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 242630000 -589000 242041000 Intangible Assets<div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible 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:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">28,017</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(18,492)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,525</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,838</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4,040)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,798</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">340</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(191)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">149</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">34,195</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(22,723)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,472</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,017 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,744)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,273 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,838 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,860)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,978 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">340 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(177)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,195 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,781)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,414 </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"/></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of April 2, 2023, estimated future amortization expense related to intangible assets was 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:99.853%"><tr><td style="width:1.0%"/><td style="width:81.623%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.445%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,195 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,300 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,273 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">543 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">543 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,472</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible 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:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">28,017</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(18,492)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,525</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,838</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4,040)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,798</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">340</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(191)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">149</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">34,195</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(22,723)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,472</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,017 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,744)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,273 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,838 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,860)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,978 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">340 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(177)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,195 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,781)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,414 </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"/></tr></table></div> 28017000 18492000 9525000 5838000 4040000 1798000 340000 191000 149000 34195000 22723000 11472000 28017000 17744000 10273000 5838000 3860000 1978000 340000 177000 163000 34195000 21781000 12414000 <div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of April 2, 2023, estimated future amortization expense related to intangible assets was 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:99.853%"><tr><td style="width:1.0%"/><td style="width:81.623%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.445%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,195 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,300 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,273 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">543 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">543 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,472</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 2195000 2623000 2300000 1995000 1273000 543000 543000 11472000 Warranty Obligations<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or changes in circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation 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 style="width:80.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.029%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,375 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(828)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,074</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation 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 style="width:80.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.029%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,375 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(828)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,074</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 4375000 527000 828000 4074000 Commitments and Contingencies<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of April 2, 2023, the Company had outstanding purchase orders totaling $47,486,000 to procure inventory from various vendors. Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate primarily to expected sales in the next twelve months. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A significant portion of the Company's outstanding inventory purchase orders as of April 2, 2023, as well as additional preauthorized commitments to procure strategic components based on the Company's expected customer demand, are placed with the Company's primary contract manufacturer for the Company's assembled products. The Company has the obligation to purchase any non-cancelable and non-returnable components that have been purchased by the contract manufacturer with the Company's preauthorization, when these components have not been consumed within the period defined in the terms of the Company's agreement with this contract manufacturer. While the Company typically expects such purchased components to be used in future production of Cognex finished goods, these components are considered in the Company's reserve estimate for excess and obsolete inventory. Furthermore, the Company accrues for losses on commitments for the future purchase of non-cancelable and non-returnable components from this contract manufacturer at the time that circumstances, such as changes in demand, indicate that the value of the components may not be recoverable, the loss is probable, and management has the ability to reasonably estimate the amount of the loss.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.</span></div> 47486000 Derivative Instruments<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. The Company enters into economic hedges utilizing foreign currency forward contracts with maturities that do not exceed approximately three months to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (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 style="width:46.122%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.746%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">32,500</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">35,529</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,174 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">155,000</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,498</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,480 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,890,000</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,381</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,590,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,238 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">600,000</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,536</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">700,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,281 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,485</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,313</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,161 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,705</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,261</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,730 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,278 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,619 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Swiss Franc</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,120 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was 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:99.853%"><tr><td style="width:1.0%"/><td style="width:12.516%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.397%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.709%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">74</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (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:99.853%"><tr><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">74</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">74</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479 </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"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was 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 style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:30.332%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.793%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:19pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:24pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1,471)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,739 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> P3M <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (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 style="width:46.122%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.746%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">32,500</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">35,529</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,174 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">155,000</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,498</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,480 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,890,000</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,381</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,590,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,238 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">600,000</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,536</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">700,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,281 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,485</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,313</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,445 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,161 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,705</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,261</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,730 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,278 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,619 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Swiss Franc</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,120 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 32500000 35529000 60000000 64174000 155000000 8498000 185000000 9480000 1890000000 5381000 1590000000 4238000 600000000 4536000 700000000 5281000 3485000 4313000 3445000 4161000 1705000 1261000 1730000 1278000 0 0 55000000 7619000 0 0 1120000 1218000 <div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was 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:99.853%"><tr><td style="width:1.0%"/><td style="width:12.516%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.397%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.709%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">74</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 154000 27000 74000 479000 <div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (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:99.853%"><tr><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">74</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">74</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479 </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"/></tr></table></div> 154000 27000 74000 479000 0 0 0 0 154000 27000 74000 479000 <div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was 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 style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:30.332%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.793%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:19pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:24pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(1,471)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,739 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> -1471000 1739000 Revenue Recognition<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (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 style="width:68.198%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.523%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,442</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,842</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,792 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33,172</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,406 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">27,668</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,551 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">201,124</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282,407 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;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 style="width:64.346%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.145%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.541%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.544%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">190,783</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257,880 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,341</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">201,124</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282,407 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Costs to Fulfill a Contract</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $20,219,000 and $14,578,000 as of April 2, 2023 and December 31, 2022, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains an allowance against its accounts receivable for credit losses. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the three-month period ended April 2, 2023 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">730 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases to the allowance for credit losses</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(78)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</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:'Arial',sans-serif;font-size:10pt;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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,001</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 2, 2023 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,786 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,578)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Returned customer deposit</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,205)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">57,805</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (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 style="width:68.198%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.523%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,442</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">59,842</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,792 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33,172</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,406 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">27,668</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,551 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">201,124</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282,407 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 80442000 126658000 59842000 62792000 33172000 48406000 27668000 44551000 201124000 282407000 <div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;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 style="width:64.346%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.145%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.541%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.544%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">190,783</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257,880 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,341</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">201,124</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282,407 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 190783000 257880000 10341000 24527000 201124000 282407000 20219000 14578000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the three-month period ended April 2, 2023 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">730 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases to the allowance for credit losses</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(78)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</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:'Arial',sans-serif;font-size:10pt;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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,001</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 730000 350000 78000 -1000 1001000 <div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 2, 2023 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,786 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,578)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Returned customer deposit</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,205)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">57,805</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 40787000 34786000 8578000 9205000 15000 57805000 Stock-Based Compensation Expense<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Plans</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s stock-based awards that result in compensation expense consist of stock options, restricted stock units ("RSUs"), and performance restricted stock units ("PRSUs"). As of April 2, 2023, the Company had 12,116,000 shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNhZDYwODM1ODE2YjQwMGU5NWIxNTEyYzdlZTExM2MwL3NlYzozYWQ2MDgzNTgxNmI0MDBlOTViMTUxMmM3ZWUxMTNjMF83Ni9mcmFnOjg4YjI5MDRlOTFkYzRmZGE4NzY3MGFiNjIxZGVhOTI2L3RleHRyZWdpb246ODhiMjkwNGU5MWRjNGZkYTg3NjcwYWI2MjFkZWE5MjZfNDYz_f1be9868-9263-4758-a604-94e1e2e3e6a4">four</span> or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNhZDYwODM1ODE2YjQwMGU5NWIxNTEyYzdlZTExM2MwL3NlYzozYWQ2MDgzNTgxNmI0MDBlOTViMTUxMmM3ZWUxMTNjMF83Ni9mcmFnOjg4YjI5MDRlOTFkYzRmZGE4NzY3MGFiNjIxZGVhOTI2L3RleHRyZWdpb246ODhiMjkwNGU5MWRjNGZkYTg3NjcwYWI2MjFkZWE5MjZfNTYy_763963df-eeb1-4cad-bbb1-029803e77f5e">three</span> or four years of continuous employment or incrementally over such <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNhZDYwODM1ODE2YjQwMGU5NWIxNTEyYzdlZTExM2MwL3NlYzozYWQ2MDgzNTgxNmI0MDBlOTViMTUxMmM3ZWUxMTNjMF83Ni9mcmFnOjg4YjI5MDRlOTFkYzRmZGE4NzY3MGFiNjIxZGVhOTI2L3RleHRyZWdpb246ODhiMjkwNGU5MWRjNGZkYTg3NjcwYWI2MjFkZWE5MjZfNjIz_fa316c3c-f2ba-4690-b6e1-6521896a8ec6">three</span> or four-year periods. PRSUs generally vest upon three years of continuous employment and achievement of performance criteria established by the Compensation Committee of our Board of Directors on or prior to the grant date. Participants are not entitled to dividends on stock options, RSUs, or PRSUs.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Options</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s stock option activity for the three-month period ended April 2, 2023:</span></div><div style="margin-top:5pt"><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 style="width:37.699%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.273%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.126%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.983%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term (in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,467 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.56 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,228 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47.21 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(140)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.36 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(247)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58.05 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of April 2, 2023</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,308</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">51.16</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.53</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37,312</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of April 2, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,433</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47.45</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.12</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33,531</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of April 2, 2023 (1)</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,735</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">50.90</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.37</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">36,643</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</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 style="width:68.929%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4.0</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.59</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4.3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.2</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risk-free rate</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected dividend yield</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected volatility</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected term</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant-date fair values of stock options granted during the three-month periods ended April 2, 2023 and April 3, 2022 were $17.79 and $22.45, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic values of stock options exercised for the three-month periods ended April 2, 2023 and April 3, 2022 were $3,439,000 and $2,615,000, respectively. The total fair values of stock options vested for the three-month periods ended April 2, 2023 and April 3, 2022 were $31,181,000 and $25,535,000, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Restricted Stock Units (RSUs)</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the three-month period ended April 2, 2023: </span></div><div style="margin-top:5pt;text-align:center"><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 style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,269 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61.74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46.61 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(453)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59.11 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66.98 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of April 2, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,419</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">55.69</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of RSUs is determined based on the observable market price of the Company's stock on the grant date less the present value of expected future dividends. The weighted-average grant-date fair values of RSUs granted during the three-month periods ended April 2, 2023 and April 3, 2022 were $46.61 and $63.96, respectively. There were 453,000 and 54,000 RSUs that vested during the three-month periods ended April 2, 2023 and April 3, 2022, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Performance Restricted Stock Units (PRSUs)</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's PRSUs activity for the three-month period ended April 2, 2023: </span></div><div style="margin-top:6pt;text-align:justify"><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 style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62.49 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.86 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of April 2, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52.23</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of PRSUs is calculated using the Monte Carlo simulation model to estimate the probability of satisfying the service and market conditions stipulated in the award grant. There were 46,000 and 33,000 PRSUs granted during the three-month periods ended April 2, 2023 and April 3, 2022, respectively. No PRSUs vested during the three-month periods ended April 2, 2023 and April 3, 2022.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock-Based Compensation Expense</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company stratifies its employee population into three groups: one consisting of the CEO, one consisting of senior management, and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 0% to all stock-based awards for the CEO, 8% to all stock-based awards for senior management, and a rate of 13% for all other employees. Each year during the first quarter, the Company revises its forfeiture rate based on updated estimates of employee turnover. This resulted in a decrease to compensation expense of $234,000 in 2023 and an increase to compensation expense of $1,536,000 in 2022.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of April 2, 2023, total unrecognized compensation expense, net of estimated forfeitures, related to non-vested equity awards, including stock options, RSUs, and PRSUs, was $86,841,000, which is expected to be recognized over a weighted-average period of 2.4 years.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April 2, 2023 were $16,579,000 and $2,308,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended April 3, 2022 were $15,056,000 and $2,319,000, respectively. No compensation expense was capitalized as of April 2, 2023 or December 31, 2022.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (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 style="width:68.929%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">621</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,890</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,448 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,068</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,045 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,579</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,056 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 12116000 P5Y P10Y P4Y P4Y P3Y <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company’s stock option activity for the three-month period ended April 2, 2023:</span></div><div style="margin-top:5pt"><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 style="width:37.699%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.273%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.126%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.983%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term (in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,467 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.56 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,228 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47.21 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(140)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.36 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(247)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58.05 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of April 2, 2023</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,308</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">51.16</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.53</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37,312</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of April 2, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,433</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">47.45</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.12</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33,531</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of April 2, 2023 (1)</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,735</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">50.90</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.37</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">36,643</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</span></div> 8467000 51.56 1228000 47.21 140000 28.36 247000 58.05 9308000 51.16 P6Y6M10D 37312000 5433000 47.45 P5Y1M13D 33531000 8735000 50.90 P6Y4M13D 36643000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</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 style="width:68.929%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4.0</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.59</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4.3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.2</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 0.040 0.019 0.0059 0.0040 0.39 0.37 P4Y3M18D P5Y2M12D 17.79 22.45 3439000 2615000 31181000 25535000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the three-month period ended April 2, 2023: </span></div><div style="margin-top:5pt;text-align:center"><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 style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,269 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61.74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46.61 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(453)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59.11 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66.98 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of April 2, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,419</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">55.69</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 1269000 61.74 635000 46.61 453000 59.11 32000 66.98 1419000 55.69 46.61 63.96 453000 54000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's PRSUs activity for the three-month period ended April 2, 2023: </span></div><div style="margin-top:6pt;text-align:justify"><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 style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62.49 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.86 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</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:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of April 2, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52.23</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 33000 62.49 46000 44.86 0 0 0 0 79000 52.23 46000 33000 0 0 3 0 0.08 0.13 234000 1536000 86841000 P2Y4M24D 16579000 2308000 15056000 2319000 0 0 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (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 style="width:68.929%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">621</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,890</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,448 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,068</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,045 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,579</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,056 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 621000 563000 5890000 4448000 10068000 10045000 16579000 15056000 Stock Repurchase ProgramOn March 12, 2020, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Under this March 2020 program, in addition to repurchases made in prior years, the Company repurchased 1,677,000 shares at a cost of $117,000,000 during the three-month period ended April 3, 2022, which completed purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. Under this March 2022 program, the Company repurchased 202,000 shares at a cost of $13,405,000 during the three-month period ended April 3, 2022. Under this same March 2022 program, in addition to purchases made during the prior year, the Company repurchased 479,000 shares at a total cost of $24,178,000 during the three-month period ended April 2, 2023 leaving a remaining balance of $388,508,000 as of April 2, 2023. The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock awards, stock price, share availability, and cash requirements. The Company is authorized to make repurchases of its common stock through open market purchases, pursuant to Rule 10b5-1 trading plans, or in privately negotiated transactions. 200000000 1677000 117000000 500000000 202000 13405000 479000 24178000 388508000 Income Taxes<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's effective tax rate was 2% for the three-month period ended April 2, 2023, and 23% for the three-month period ended April 3, 2022. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has defined its major tax jurisdictions as the United States, Ireland, China, and Korea, and within the United States, Massachusetts. The statutory tax rate is 12.5% in Ireland, 25% in China, and 22% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These foreign tax rate differences resulted in a net decrease to the effective tax rate for both the three-month periods ended April 2, 2023 and April 3, 2022.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded a net discrete tax benefit totaling $3,594,000 for the three-month period ended April 2, 2023, and a net discrete tax expense totaling $6,338,000 for the same period in 2022.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discrete tax items for the three-month period ended April 2, 2023 included (1) an increase in tax expense of $1,068,000 related to stock-based compensation; (2) a decrease in tax expense of $2,292,000 for releasing tax reserves on state tax credits; (3) a decrease in tax expense of $2,198,000 for adjustments to certain deferred tax assets; and (4) a decrease in tax expense of $172,000 for return-to-provision adjustments.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discrete tax items for the three-month period ended April 3, 2022 included (1) an increase in tax expense of $1,417,000 arising from an Internal Revenue Service (IRS) audit; (2) an increase in tax expense of $1,734,000 to establish a full valuation allowance against deferred tax assets related to foreign tax credits; and (3) an increase in tax expense of $3,187,000 consisting primarily of transfer pricing and return-to-provision adjustments.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excluding the impact of these discrete tax items, the Company’s effective tax rate was 16% for both the three-month periods ended April 2, 2023 and April 3, 2022. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s reserve for income taxes, including gross interest and penalties, was $20,030,000 as of April 2, 2023, which was classified as a non-current liability. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.</span></div>Within the United States, the tax years 2019 through 2022 remain open to examination by the IRS, and 2018 through 2021 remain open to examination by various state tax authorities. The Company is currently under audit by the state of Massachusetts for the years 2020 and 2021. The tax years 2017 through 2022 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. 0.02 0.23 0.125 0.25 0.22 0.21 -3594000 -6338000 1068000 2292000 2198000 172000 1417000 1734000 3187000 0.16 0.16 20030000 2019 through 2022 2017 through 2022 Weighted-Average Shares<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated 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 style="width:70.829%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">172,624</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174,146 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,279</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,903</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,668 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options to purchase 6,515,000 and 1,282,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 2, 2023 and April 3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 10,000 and 20,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 2, 2023 and April 3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. No PRSUs were excluded in the calculation of dilutive net income per share for the three-month periods ended April 2, 2023 and April 3, 2022, as PRSUs were not anti-dilutive on a weighted-average basis.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated 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 style="width:70.829%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">April 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 3, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">172,624</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174,146 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,279</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,903</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,668 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 172624000 174146000 1279000 2522000 173903000 176668000 6515000 1282000 10000 20000 0 0 Loss (Recovery) from Fire<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 7, 2022, the Company’s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. As a result of the fire, the Company recorded $48,339,000 in gross losses in 2022, primarily related to Cognex-owned inventory that was destroyed or deemed to have a net realizable value of zero, and </span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">prepayments related to Cognex-designated components that were owned by the contract manufacturer</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Gross losses were reduced by insurance proceeds received from the Company’s insurance carrier of $27,560,000 in the fourth quarter of 2022. Subsequent to the April 2, 2023 balance sheet date, but prior to the date of financial statement issuance, the Company received insurance proceeds of $2,500,000 related to a business interruption claim associated with the fire from the Company's insurance carrier. In the second quarter of 2023, this recovery amount will be presented in the caption “Loss (recovery) from fire” on the Consolidated Statements of Operations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of April 2, 2023 and through the date of financial statement issuance, management cannot yet estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or realizable. There can be no assurance, however, that the insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.</span></div> 48339000 27560000 2500000 Restructuring Charges<div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 7, 2022, the Company acquired all of the outstanding shares of SAC Sirius Advanced Cybernetics GmbH ("SAC"), a leader in computational lighting technology based in Germany. Following its acquisition of SAC, the Company performed restructuring activities to align the cost and operating structure of the acquired business with the Company's business strategy. As of December 31, 2022, the majority of these restructuring actions were completed. No additional charges were recorded during the three-month period ended April 2, 2023, or are expected to be incurred in future periods in relation to this restructuring plan.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity in the Company’s restructuring reserve related to these restructuring activities, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):</span></div><div style="text-align:justify"><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 style="width:52.701%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.081%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">One-time Termination Benefits</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Termination Costs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,039</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(143)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(163)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">838</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">56</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">894</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> <div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity in the Company’s restructuring reserve related to these restructuring activities, which is included in “Accrued expenses” on the Consolidated Balance Sheets (in thousands):</span></div><div style="text-align:justify"><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 style="width:52.701%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.081%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">One-time Termination Benefits</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Termination Costs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2022</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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:'Arial',sans-serif;font-size:10pt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:'Arial',sans-serif;font-size:10pt;font-weight:700;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,039</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(143)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(163)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of April 2, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">838</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">56</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">894</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 964000 75000 1039000 143000 20000 163000 17000 1000 18000 838000 56000 894000 Subsequent EventsOn May 4, 2023, the Company’s Board of Directors declared a cash dividend of $0.07 per share. The dividend is payable on June 2, 2023 to all shareholders of record as of the close of business on May 19, 2023. 0.07 EXCEL 89 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( "XXI%8'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 " N.*16WJ=^K.\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)O)VU5)'1[V<63@N""XBTDL[MAFS\D(^V^O6G=[2+Z $(NF?GE MFV\@K0I"^8@OT0>,9##=C+9W2:BP8@>B( "2.J"5J+)+4DB1,P"(L1-:U6@D549*/9[Q6"SY\QGZ&:078HT5'":JR M9- M$\-I[%NX B888;3INX!Z(<[5/[%S!]@Y.2:SI(9A*(=FSN4=*GA_?GJ=URV, M2R2=POPJ&4&G@"MVF?S6K#?;1];5O&X*?E?PVVU5"9[/P\?D^L/O*FR]-COS MCXTO@ET+O_Y%]P502P,$% @ +CBD5IE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" N.*16C#(NM2@% Q%0 & 'AL+W=OZVTP_"%N");;F2#.'? M]\@&FTW-L;^ ;^?U(^GX/9*&6ZG>]%H(0]ZC,-:7K;4QR>=.1WMK$7%]+A,1 MPYVE5!$W<*I6'9THP?TL* H[C-)^)^)!W!H-LVLS-1K*U(1!+&:*Z#2*N-I= MB5!N+UM.ZW#A)5BMC;W0&0T3OA)S8?Y(9@K..H6*'T0BUH&,B1++R];8^7SE M,AN0/?$E$%M]=$QL4Q92OMF3>_^R12V1"(5GK 2'OXV8B#"T2L#Q[UZT5;S3 M!AX?']1OL\9#8Q9/O8JCV4G8EWR*&.S MUN0F]H7_?7P'. H8=H"Y8JC@.%'GA+(SPBASB5YS)30BZQ9M=#-9%VWCW^.% M-@JRX)^JEN8*W6H%^VE\U@GWQ&4+VGQ&*7D'1:T;QG')EA IWY$4D4IDJ(ES*J%0@1/V"J-^, M:"94('V;9@22O+*+<*4LL;+,RE(+81L4;(.&8Z8X6%3F,*>["]=:\E!C_751 M,%V@.C>Q"3P7/IR8\+V(5V"\/.FO* MH\K1PW4F3W?3FZ]D\O0R0Z@<6EH>;<)U'WM2P8AQ.WAG9&X@M8A49"+3V*@= M_/O5IHBK/XXQR"-?=II OO)W=1?BFGCZE<7 P2W\(]I,:L-# M\E>0G/XN<$7J#/H48RO+@H.[>3: 8YB#GD;!!7H4_0+*&N#@QOT@/>B3V5K& MF.'6B/1[M.U2BG9-60$JL2"U>:R"B"SW!N MI/=V1A*NR(:'J2 _GE/*2 (3JFQ^AE&7=<+!#1YJJ!_$*S+?10L95L+65(B[ MZ5=L_EF6!H:;]Z'#R,V[M^;Q2IPL635"T_'\>HQ-RUA9"5BC2C!)E;(3CGR6 MD747V$6J*^%PQ6_HM)J5%8 UJ@#W,4P7\^65G9_Q VHE&:Y80U9Z/FOD^78J M! 4=7'4E5>574*/SP!7DP-CS8!D)$P7AYY(88^G^K)'[SR,>AN0JU7!;5X\F MKE,W?62EZ;-&IG\3";6R"78'"F8-+ALE/*[N/ERP%JWT?(9;]J&SUK!^1X%P MF5J@TOL9;MN'KQ+R7$$1N(! MMN7IFP#OQI9.-7+MML/:KH.AE4;/<)\N5DW';+=PL3KO<;&:E9Q;FKZ+>_5' MJOUR\R17C=PSUE=N:?LN;M)C0/)SK)"O*CEP@;I<=TN?=QOY_/=3@GFV/4.> M4@,SP]C6[TK&7+F7*=LMPLW(&; ^=5P[&=P<8W6.=K&L V5[=9IX=CF6;V@5 M5XO]P'&^"U8^GF\F/G)K8)J$8@FA]'P [U?Y_EQ^8F22[8DMI#$RR@[7@OM" MV0?@_E)*D9,F6*"X%DH=8/^Y.GR./]Z4T MVW/Q5:X!%'DI\E)>C]9*;:[&8[E<0Y'(2[Z!$N\\ 3U>?,@\&S<1$FS DJ9\9((>+X>W7A7"\:T@['X.X.]/#HF.I4GSK_J MD_OT>D0U$>2P5#I$@C\[6$">ZTC(\:T..FJ>J1V/CP_1/YCD,9FG1,*"YU^R M5*VO1_&(I/"<;'/UB>]_ASJAB8ZWY+DT_\F^MJ4CLMQ*Q8O:&0F*K*Q^DY=Z M((X<,([=@=4.K.L0##CXM8-O$JW(3%IWB4KF,\'W1&AKC*8/S-@8;\PF*_4T M/BJ!=S/T4_,%+R7/LS11D))'A3\X1TH2_DS^W(!(]%A++,1EX2R<\(H\RT\B]>X^\:=.7#\9I!]$\\?B'=?+GD![?"2 M?VZ>I!)8PO_:!JL*%MB#Z75])3?)$JY'N' EB!V,YC__Y(7T%UNF;Q3L).^@ MR3MP19]_@AV46[#E6#F&QE&WFMV<4<]CP6R\.Z:WF,4LH%%C=L(U:;@F3JX% METI7N!CFJP),CAX\B?RXB]>WBN)H2NUT84,7.NE^$UQ*7.-BE94VM+#W4"_P MHX!VV/IFC/JA-S!T40,7_<^42DC$F!^/ E8!]]B%=))8*>/&_K82?^(_+'4AE>O'P:-8Q3@ G<7>R+59>$ Z-)FL)F7NZU1I$#4?.ZIJT MCR/K=R&_"]FWN0B&&%M9\YSJ<="U)\#M)!Q85?)R6$)66K]?HR'S)EW@OED< M171HXEM%\MR2=/\ZR*#W])!V&ZS%"#MLY T@MN+DN=7I#W 6Y:0OB9.P/WY] MLS#R?7\ KM4F+W1N95HX@OV([,TV&=*+9(?=:04$[Q1Z=XYMM3J\@&_;;)?D M>JF9S>.5-2NG)/[HGN>MHIV.42N1GELC;Q.9+ M]J?29N5/!V:RE4+/K85W6;[5F_[7<,:OXK19^4--II4];^JLN"\_7F+X^K)5 M4J$%RJ6]WIQ:^\/U]D;13M]U6N%E;N&MZZU*W3J!K*^B7H1MMZNV5KL YUJF=4N#(%SO5;[VI1?29IPU1?;3Z:EPY)0ZD3QC?F6\,25XH4Y M7$.2@M &>/^9^JB4EN76J MF!\&0>)7I.1>.K%S=S*=B+5F):=W$JEU51'Y[98RL9UZV'N:N"]7A383?CJI MR8H^4/VEOI,P\CN4O*PH5Z7@2-+EU)OAFSF.C(.U^*VD6[7SCHR4A1!?S>!# M/O4"PX@RFFD#0>"QH7/*F$$"'G^WH%ZWIG';&QL=Z@IN0FC0]:PK\E M^.ET+K@2K,R)ICEZT/" '&F%Q!+-105?1F%2MJ'H \]$1=$ ?7EXAR[>7*(W MJ.3H^A$760CBQ>=P.N">3*6?\P62DOXD/]T M1:]!'[K1S>Z^437)Z-0#8$7EAGKICS_@)/C))?U,8'N!&':!&/:AIY^@&)56 ML4MFXYM87U-S-FD8)SB>^)M=_L=6R2B*HLYJCUC<$8M[,S3;D)*1!:,#*(<# M11@%GANJM-T"-RZV\3F3U)ISUY,2EK#H6?E?_ SE]!P4<73"AUB4QQ M[8W,6\2I_:HU>70%J5DYWDE6/ R3@XP>&PUP% _'[I2..EFC7EGW-&-$J7)9 M9L0>$\#2D.V$7ABEE\@H-4)U09&5!W;]HN%="ZC(4MHM75-I%W 6OEZ.__8K M&1T%*DK<01IW01J_F/NL('Q%(2[,5GZ0UB_?)7/\FCP?&YD\X] MX;J3<-V[ M=>$(AP.:M_G(OB&HHURQ)N,X'M10$'SZ=WT)O*U\;!>3P' MQZF)XNN#_+FL0HRQ.W]XI^_ _^$C7/X?/?A5>AQ6/7K"9SUAKYY?H91(E.V= M\\VIU];5EZIFB[^WG8)D=$C_V&J XR0\<13BYVX%]_8 Z6>A"7/R=Y*-C@[D M*$C&X2';8[,8CW!P0-;?Z5\K*E>VK5= 9LUUT_]UL]W5868;YH/Y6W.EL'WQ M,TQS'_E(Y*KD"C&Z!,C@:@01E$V+WPRTJ&V7O! :>F[[6L"UB$IC /\OA=!/ M [- =]%*OP-02P,$% @ +CBD5LLKC3V1 @ !@8 !@ !X;"]W;W)K MT5?K1E(@6GBHAS3@H MK:VOPM!D)5;,G*L:)9T42E?,TE*O0E-K9+D'52*,HV@85HS+(!WYO;E.1VIM M!9G9*G4HUOVKKL <@GL. N 7$+P&#(X"D!21>:).9EW7-+$M' M6FU!NVAB%I8%^D36@"IBIBAY& MZ?[8!N%&9JI".)TS30$E6IXQ<08]>%ACT%)V[HXP M:S.9-IG$1S))X%81L8&/,L?\.3XD59VT>"=M&K]*.*GU.43Q.XBC.#F0S^Q? MX(F'QZ^DDW253CQ?PSXXS.Z:_)M23S$?P7/;\5F0Z< M"F7,&;@.WS NV%)@C\RJ9YA >F$;--:_T$,E:NX=^GN=?6W2_N7%Y2C<[$O_ M.Z@WB))A%]5H"O=:JD*]\DYC(%-K:9LGV.UV9C;Q/?QB?THFUWC2'YK&(6^9 M7G%I0&!!E-'Y>[((W;A.L["J]HV[5)9LP$]+,FK4+H#."Z7L;N$NZ*P__0U0 M2P,$% @ +CBD5NYF7BY !P +Q\ !@ !X;"]W;W)K,Q(3"Y5$ M5Z*3=I]^1]FQ9/%$NT"Q-XEE'ZG_'8_W.TH73[KYW*Z4,N1K5=;MY6QES/I\ ML6BSE:ID>Z;7JH9?[G5320.7S<.B73=*YMV@JERP((@6E2SJV?*B^^ZF65[H MC2F+6MTTI-U4E6R^O5&E?KJ!JL9\E M+RI5MX6N2:/N+V=7]/R:)W9 9_%WH9[:P6=B7;G3^K.]>)=?S@*K2)4J,W8* M"?\>U;4J2SL3Z/BRFW2VOZ<=./S\//MOG?/@S)ULU;4N_RERL[J<)3.2JWNY M*[P:"@*NKM?_EU%XC! "HF!K#= M ';J +X;P#M'M\HZM]Y*(Y<7C7XBC;6&V>R'+C;=:/"FJ.TRWIH&?BU@G%E> MZ[K599%+HW+R1I:RSA2YM=.UY!7Y=/N6_/+B5_*"%#7YN-*;5M9Y>[$P<&<[ M?I'M[O)F>QK=7-& C8G+& <&7[M'_Y696>$TVXX.QR^ '_W3K.]TZR; MCT\YO6D:51LBVQ;\/,?\V4X@\ GLWCIOUS)3ES/8/*UJ'M5L^?(G&@6O,>]^ MT&0'OO*]K]PW^_):MBL"JT8R^T%]V12/L@3GT57<3A5U4]D"\+BDD: QO5@\ M#OU!S!+*8[$W.U J]DJ%7^EN58KZ4;6FLAKG1%:Z,<6_D)R9;@W1]^0%8\$\ M%;QS"B[X/!2AS4^;6]V7-DOF4&/:M>J*1/D-YBFA8'7)#:6/9(W*"T-*#0G0 M=I,&S@Q8?+8.A /'&8WB@(_B@YDE<9CB\0GW\0F]\;G*,KV!H(!GF8)5O"O5 M<;_H/ CH-E0Q=YT\#!/F+>09[61C>%0O=2C$0DIB(>*&7^I>M7V8GE2L3)G+-T MNP=%',VI2/ZG<@8A9G,(6FU#==P?4"^3E>] L35$_D%)!A^A) MP]U$0P4\A@0;"\7,HH1-".W13OUL_UWK_ D*)"J-NR5/L$",68[;099,B.MI M3OTX?U<;63\40*E= *>7V^4EA4+)QDH1,R8FE[O'*O5S]:VZ5["5<]A2F:X4 M,?(K7M&I"SD1I&$RKCJH7IPR/TY!8K-1 M?;>"'LA<1B4\9.-V"C%+.32$$Q)[DC$_R9XE'JL1S&42CT,VCB1B!DHQI=AAD*>N5H1N21P'R83: M'F_,C[=AKZJ_,\HNR#CEB9/,F!E+IY3WN&-^W)T,9H8<[P0/0R?&F%V:1A-@ M9CW[F)]]'[9UNVO6CXIU\<:"8-!O[;0B% R3 2P/I?8,9/Z3X3 =Y*E%S3WK MT83S9"S9->,\F,S@GF#,3[!MVW,L5UTV"3$^,2!&- TFX,![?G$_O[8%X8A M[I()\!7S<87%[&RC-+'RO$<8I][NYW8E&[729:Z:]N5/":/QZ^XL9KZA31#W M O%[FZ ?-=NA[ST7N9^+-\US+0$49I_GY,590*$C:LBC+ &373SH:W*U,2O= MV /\.1%!0%H;L_;(LFWMCNH>MVQ,"T>@',HM&E^7I.,:X#4YC,3@ M 3."8W9/-H]B^P^PD MO]%A 'OZ="V;($YY.M+.\[PBXOR-PZ-7MPZ$;/_L<2-R70>BQ M'C7$CO6+P=M,^RKY3]D\%'4++>L]C S.8HA!LWT[N[TP>MV]X+S3!LXYW<>5 MDB#<&L#O]UJ;YPO[SG3_CGSY'U!+ P04 " N.*16G$R4%*\# #@#0 M& 'AL+W=O?5_%*67ZLD+*.Y8B)'DJYGWA-^7."!2; 1OS.Z5XUM9*R\"O%F=GY) M9EY@B"BGL382!'YV=$$Y-TK \7QPXJ%XJ[3(JF0@R%A>_I+O52$:";A_ M)B&L$L*/)D150F2-EF36U@O19#Z58H^DB08ULV%K8[/!#!C^YC/]/8JTR1'49HB[U^5,FI&;_0B/$ M0ME:Q%MI.@#N]HXJ;2KDO-FE[-#*FG5C-P_#8-*'.[MK>G.%18/^H YK4?=K MZGXW-8>ER+8M+&HHEC1A&G&A%'6REF*#!D1PA-D5T2(TIT&CZ SOL.8=7MD'N<@_?[ 7AB<\_=$X"B='V*ZP(>Z/W>2CFGQT M>Z4;)ES@HY/N/&Z,KH@6[KC&'7?B+F%D40!*$*SS\1LJB$0[PK<4W<'ZF@C. MB52HH#!V4UB*[UW8Y15&3:C>29-<"&K!3VKXR57P%E$ALM6ID+9[C(GRJ)-\ M*0V3F.6; MB^#X,GA72!O\,&!QY^""QXPL@T%Z>YM7^N-V"P?A,?NEL#;_83+B[M'8XK^Z MTROQ9D6CH/H<&_A(:-O$85#B[DG9-/%P9;^?#D4\"H;*;R"46D"X/Q:"/V^8Q[RZY>Z^7]02P,$% @ +CBD5B)6^@;J M!@ 7!T !@ !X;"]W;W)K'CSV<:8W>E\KLL-WS+]7NYX _]92;5E!F[5>JYW MBK.J7;2MYR2*TOF6B6:V.&N?7:K%F=R;6C3\4B&]WVZ9NO_ :WE[/L.SAP=? MQ7IC[(/YXFS'UOR*FV^[2P5W\UY+);:\T4(V2/'5^>P"GRYI:A>T$G\*?JN/ MKI$UY5K*[_;FU^I\%EE$O.:EL2H8_-SP):]KJPEP_'-0.NO?:1<>7S]H_]P: M#\9<,\V7LOY+5&9S/LMGJ.(KMJ_-5WG["S\8E%A]I:QU^Q?='F2C&2KWVLCM M83$@V(JF^V5W!T<<+0 ]_@7DL(",%\03"^AA 6T-[9"U9GUDABW.E+Q%RDJ# M-GO1^J9=#=:(QH;QRBCXKX!U9K&4C9:UJ)CA%;HR\ ,Q,AK)%5HRO4&?(]Z%['YEX'T5?9&,V&GUJ M*EX]7C\'[+T!Y,& #R2H\&*GWJ.(O$,D(M2#9_FLY.9V:U-V[6VQ=PL2)+BY&Q^NK2VTCH0:5L2E%SU/2([7-[5]HH[I2\$9"D MZ/K^^6%,7C.,KZ3LD;?2WEMI,(Q71I;?3VR'K!"X!FA#L[;Q\CM[[0UNIS$Y M"AM.DZP8!=! R<_\.[6K6F'<(VA7B M_^S%SB: #WSFP*)%GHZPNT(QQID?>MY#SX/0+[92&?%O#UTTAC5K<0V9R;3F MQMME@$NEND?EAJDU M]^(M'"Q9GH_PNC+T*'D>X<71P&_1B[Q;"5W*?4MQ"K*$;\5^"]=-:\:A/7AI M+7(MB**1!1XA'$=DPH8CCL9!&[YR5HM_H1!K"VBR[\Z?)0>,QCA,ZQ-TQ^XGL]-EJ1-B10E UN1,%O];LO(B\LE&9P=M9H# M+%?JI$@F@DX&,B)A,OKMN=MZ+W*7;DB6)(Y'7;&X2*;VAV1@)?*RH;+C^V=, M(^15I\K7TO;8"P/GD3#G7>X5;#!MLWYZRT,\W!>G<3[>]_CD:(&3J>H=^(^$ M^>\+,WO5!J:M6[M3>Q9NE_#B%!?C$*SS\F;CCBDTP'@3P[3*(XF*HD.'$[#''[9>;X;F&TI31SV4@]98Q(5XTV2 M5PZ@3ASIT8'6Z?^@]:'D?;7CM<,W3Q:4C#7Y:K7C9 M.GPE%1=K>]!6=@,T;%$XZJ[;DXK6WG8W:"]L0[X!>IE@%.J.H-09ISU",';3 MB7&:#I1-GSX++OM3@)?A]DZOQ-G%^N1 JIC8QM*!P6F8P9=3:!$SZ)JO1=/8 MO+(\R960E=<(#T_GF&9.6OGD4IQ.!6#@S8^^4\$0LVX_WVG43K3=%Y_^:?^)\*+],#9Z_@&?+KL/?8.:[KOC M%Z8@,AK5? 4JH_<9^%1UG_*Z&R-W[=>P:VE@DFHO-YP!@5@!^/]*2O-P8U_0 M?U!=_ =02P,$% @ +CBD5CM@BUR4!P AS4 !@ !X;"]W;W)KR2)JVVMM]223[\ESR'K[N(7WY6%:?ZR7G#7I:Y45] M-5HVS?K-9%(G2[YB]46YYH7XYJZL5JP1K]7]I%Y7G*5MH54^(8[C3U8L*T:S MR_:SZVIV66Z:/"OX=87JS6K%JB_O>%X^7HWPZ/F#F^Q^V<@/)K/+-;OGM[SY MN+ZNQ-MDCY)F*U[465F@BM]=C=[B-S%M"[06?V;\L3YX1K(IG\KRLWQYGUZ- M'%DCGO.DD1!,_'O@$F9U^U?]+BS=48HV=1-N=H5%C589<7V/WO: M!>*@ *9'"I!= 7)N ;HK0)4")#A2P-T5<%4/TR,%O%T!3RE CWGP=P7\-O;; M8+617K"&S2ZK\A%5TEJ@R8>6KK:T"'!6R)YUVU3BVTR4:V;SLJC+/$M9PU-T MVXA_HMLTJ+Q#MTM6\669I[RJ?T+1/YNL^8+&Z./M KU\\0K5\NL:907ZL"PW M-2O2^C5ZT7N_G#2BAM+/)-G5YMVV-N1(;3Z4#;V8O-RM1*]]+8ID\^& MT@M[Z;=IFLE>SG)TS;)T+)HP9^O,7)/(CG7#&S&:12@C5A59<6^*07RB.DFR M66WREI _FB6OD&B>F#66E.@^2G1@E%Z*[K'M^Z_.BI@57ZX; M;^HU2_C52%!<\^J!CV8__H!]YV?3,-B">8?A#SQWJD86TF<$"18#@?6X=/=< MNBTZ/<+E^R(1:V\M*!2DM4^OY'35SAK*/& M<931> Y,9&W+T+ #@?7"[N_#[@.&_7 Z-5%@]35TT/GZ[$E]A2Q(AQ$D6 P$ MUB,UV),:6$F]X>M-E2SEY*E0:B(MT.(\QM1Q'4\9.H%AR5;HL%9K*!W'ZJ4L MGS&0TUZDI_M(3[\RTJ>&BA5WZ%"9&D(U#4*%'4B7$218# 36HS#<4QA:*6PW M%&.9[J:2P+78M[,VB^9/\IF;R OUJHX.V8:MB3 MD41B6G5%TJJR:*WB8!8AT2)0M/AT1/HT=EH%MHL5-SS)65UG=UFR77 $*Y*< M/;$O);.OD&16$MLL.6KI%'9VDHW$ZF*$NIN>VRL\F%1070,4+;9'HT]H)UA@ M:X(\B\N*9_<%2C95Q8OD"VHJD3/E6W)9^O=F2X^1'5?O9 1CK!($*D2 HD6@ M:/')@/0YZE0&;)<9HB)51-2WZ^H".;25!(F1&UT1$.-_&KAJ@H1U<8&Z@;() M-Z"%E+J>JJ,:[-SIU%.[1&RP&_O4\[TCD>J$ 6Q7!I1(*4+JZ:B!:@'8( 8$ M-*!3-;J@@@ H6@R%UN>STP2P710X>8)@IE'/^K%+IU03U@R&5!TA"ZSG]&$0 M8C]0.[]NYY$I5C/:V& W]D,2!D/^@@P1PX/2?' ?&I-J6?9[>P M5WAPSP9-WZ'0^F1U"3P.O^=) 89,FN>@: M0M @4+89"ZY^'=OH L>L#WWY@ ML'/04S2IXZG+NL%,.QLUY.]45V?L+1H:?RBT?OP[,8"<(0: G1S8G0T=A$3/ MXUU7E4-!74:@:#$46I_;@\L&=H5AV $",63(Q,6!JAD0PZ&_-I) E8!C-5/V M&S&4UWZX.R6 G%("OO84P0X\>-CH6;&\E:%2!)K7@Z+%4&A](CL%@-@5@*\Y M2R!ZIHM]3XWZW.YYZ+[B/*<1J-,8"JU/3I?Z$WOJ?^Z! C%DU)@XH;ISM[L; MS @D6G1F&V(HKWU*.HV!G''[X.B! M&3?N+Y6-N?06;I"U"TZ+PFQ%!.^S1T MT@"Q2P/?\T"!&%)YEZC*L[V"@SD$O8< BA:?BD>?PDZP(* M=D"B+4#1(E"TF.ABCW.$^4[](/;["]]PZD#T2P5CZFD[#U!% Q0M D6+3\6C M?R>Y4RJH7:DX=N9 6O60&J\A&S0'U_6I)A\:#'79U6 4AL0/E:N/D<'.PX&G MSM:QP6[LNX0>ZV\$WLT$5 BBT M+5.3@Y^DR)\H_<:J^ZRH4<[O!+QS$8A85=M?_6Q?FG+=_DKE4]DTY:I]7'*6 M\DH:B._ORK)Y?I$_?-G_]FKV'U!+ P04 " N.*16%GG!H] " #1!@ M& 'AL+W=O':0\FN2%6G3BU'6CW];MV0@8L17L8#\1V[CF^Y]KW9+(3 M\DFE )J\9#Q74R?5NKAV716ED%'5%P7D^"81,J,:IW+CJD("C2THXZ[O>6,W MHRQWPHE=6\IP(DK-60Y+2529952^SH&+W=09./N%>[9)M5EPPTE!-[ "_5@L M)<[2*B9Q(2*;.;'"]&)EX&_"-P4X=C(E1LA;BR4R^QE/',PD!AT@; M!HJ/+2R CO?LGZUVU+*F"A:"?V>Q3J?.E4-B2&C)];W8 M?8%:CTTP$ES9?[*K8SV'1*72(JO!F$'&\NI)7^HZ' "0IQW@UP#_%#!\ Q#4 M@, *K3*SLFZHIN%$BAV1)AK9S,#6QJ)1#V<*,ZD7F5B/]&(@&Y$TBLR&T>0WR,=U%4H\S?*YO[9PEG MA>P3S_](?,\/6O)9_ L\L'#_3#I!4^C \@5O\!W75HOHZ;2V/V9KI27>ZY]M MU:O8A^WLIM>O54$CF#K8S KD%ISP_;O!V/O4)OT_D1T58M@48GB./5Q0E9*8 M;5D,>%%( 9)$(LNPI96Y<:13JMBNVFFWK1;5!E=V V-3V]#K>Y?>T6\P<;>' MDELQXU$3=:1EU&@9G=7R0%\() E:DCG5,DP7=M(&_9-TN%"J2XQ9;2GC M=,VAA[[;4Y0#=LL6E#87HK59JGW'!^D.KD97)YK^#NH-O6!\HLD]<(<,Y,:: MIL*BE[FNVJE9;7QY9NWH9'V.?EW9ZQ^:RNSOJ-RP7!$."5)Z_4O,3%8&6DVT M**P'K85&1[/#%+\Y($T OD^$T/N)V:#YBH6_ 5!+ P04 " N.*16[$QH M.R@$ "J"0 &0 'AL+W=O"\?AGV@I9/$E2)5DHKM?[\[4K85U D& M;%\DD;I[[KE7F\DAI7%ES7-,+N;U"9[3R9)(>-.UG5 MGC?2Q:P5%:[1_]:N+*W2(THA&]1.&@T6RWFRG%S?7+)\$/A=XM8-OH$]V1CS MC1>?BGDR9D*H,/>,(.AUC[>H% ,1C>\]9G(TR8K#[P/Z3\%W\F4C'-X:]8F5BT$@=WV+7QV&@ M<#5^1"'K%;+ .QH*+-\++Q8S:[9@69K0^".X&K2)G-22GE^L8S+ ME+"6E9:ES(7VL,QSTVDO=04KHV0NT1[+9@>Q-]B3@LK4C&&<7D(VSZ1-XTZ/STX W?0SO1R_AS^7&>4O% M\MY7D\;J!KUXH'ME>/H7^'U/U?V'# MTD&+MI'>8P&;/?@:P7:*_I R+]:8=U9ZEA6Z@ ^[O!:Z0K@U32-=Z&;1MH0F M-@K!&_C:">O1JCW<86NL)R0-W',P&;_Z>L&@#D$;SX@6(3=43]J1><8O#/_B M34\S"(124$B7*^,ZR@$-CN^=M)%JA1HM">QI&.38L@/BY&%KIH3M.XJOUAUAQ% ,(_$+T P.*GL4%I";"MYC MCLT&+4PGH2VR("2@[#@.Z'(KVS#^*#F&=&D>#_([]+[/[P@^15ZFE;I7Y&4C M- UI=HIW;DVE<4F^1E2%LP$#;8Q(-H=5ITA7PT;L-TBN)O M&H1A_R* 2!@:8X.L>R=$)MC9/Q@ D=0#-**NAG5&00.@0=G1-!0O*+6JBW?$BJKRWB MJX8G)C>8-(7K<_P ,B#&G6G,>#02FXS+BVJ5NJ0VJD#K>L+ 7>#W'+Z&O*OY M5+U'KD738 \@7 TE'=(G2@<:?3RP&,&O U_Z-AN6\B#!ZU,RR>DO_\;A\_[: MT/O'#$G*B-1%R!RYT)?G@1-ECWH4=RV=^EQ;O:W0#MPVHW.#.!VMP]7D26\?P]B<=;S&=A*TE.*BQ)=3QZ^SH!&V\&<>%-&T[CC?%T MMH?/FBY3:%F _I>&ID2_8 /'Z]GB'U!+ P04 " N.*16FGZ0%&\$ "M M"@ &0 'AL+W=O*@K[:9)Z7USF:8N+[$6KF\:U+12&%L+3T.[3EUC4[.SB:F]972>&?!M74M[.,55F8[30;)?F*AUJ7GB70V M:<0:E^COFSM+H[2+(E6-VBFCP6(Q3>:#RZLQVP>#WQ1NW9-O8"8K8S[QX+V< M)AD#P@ISSQ$$_6WP&JN* Q&,S[N82;_"=R)RTHXO#;5[TKZV#]FP M!\-L.'HAWJ@C.0KQ1L_$N[5KH=5?@NN@!]=&.U,I*6)9:$D"H"/J<<(4<*.T MT+D2%2QI,LH"?\Q7SENJHC^/*10!C(\#X,ZZ=(W(<9HTO)?=8#+[]IO!>?;# M"_3&';WQ2]%?F4XCK_2:9=!26.G@OB'=$$[FR_M33D]VEHU[D"RP M0(OD"@M>IB&U#)Q\-(W*X6)\<7H)-R)7E3J([$N$=T5!W>EX>#P"F1Z2L<#& M6,:3] X !F?9X'4 ECD=9>3*&7\5M^%9=OZZT&_9Q!+$':]EJQT=J&_9GJ8Z MTP0^TJH@?6746&FV=PBTIP/1--4C> .BJH#6E5?HR$!X*,4&(:0:H@ M 4/&AQR;"+5@6*P#LUNC1I*51!$Y6]#^XI"YQBHJC*8BC4Y^G,_O3AGO_]9( MA%IDAH_'F8$J($?KZ::#W"J/5@D0%J%&WP^)?9[53H 0W']9 M( 9>&0^ST! MJ(U4AI055PLAEE10%((DQ(VH6A$$*VB%*I3:>D4?HT$X5JEI M([P@^#,Q'Y0+0HO0H5^%B&4E="S51ZI1\JFBB'NACF4\I)B81'?+^K(MUUMI M3;LN@T3(:8KM= Q>_U]:B<)BR"A=^G''IST5&7T0-B]A$"^:K-O]*Z)]LM3T M1.&-0$@3"K%K:CZD?A:ZI3<-1(=1+#)-QSBUBHM' N8M)^AV@U;S4V%_L!&O M<*Z<+&]O%J<[6C+J1JTG0W6$]A=4!*'J*E!UPR5B F>ZT6BH'[\C:;O#TAUN M+L;"/5P91Q!<_]B5DSYY0M1HU^&AY"#T6GQ-=+/=6VP>GR '\_B0(U4I6PXJ M+,@UZW__)@$;'T=QX$T3'B0KX^EY$SY+>D^B90-:+XSQ^P%OT+U09W\#4$L# M!!0 ( "XXI%93@.":TP4 (. 9 >&PO=V]R:W-H965TT6,U>%@$+*" M2Q5V7<46;^;.ERIBZ1>#4'E6>1(JS6 \'.X/2J5M[^0H[5WXDR-71Z,M7W@* M=5DJOSICXY;'O5%OL_%1+XHH&X.3HTHM^)+CY^K"8S5H47)=L@W:6?(\/^Z= MC@[/IG(^'?BB>1DZSR2>S)R[DL7[_+@W%(/8'GFE^S,0($,[ZN,7NM M2A'L/F_0WR7?X)'M_R-U_[L"5[F3$C_:=F< MG4Q[E-4ANG(M# M*;9M?]6T=AX[ P? >@?%:8)SL;A0E*]^HJ$Z.O%N2E]- MDX?D:I*&<=I*4BZCQUL-N7CR3FE/7Y2IF5GZ7AN,^C8?CR0-XD];32<*; M_-S3-SIDQHFS@?X^G87H08Y_[O*Y@9S>#2D%?T]8>)UJUAM%9N.8L]? M:RWZHJ,94]E1/Q?UUUOUOE4_2^I5(#']*?M8M MN_ Z@S*\O-0+J^!T*Y7F% M].]_L'^ MI%U_\LGM%2$L9GML?]0?C<;M,IFR,U/9%3P*$HPFA%O4_FBZOSV^8)NM;FD> M[?>'DX-V>>FNV:.=V=O'^B_WINWJO+8ZTQ62>//4_OAE^_PV<]:5.J."\X70 MPB^5SPF[J>0ZT!W@#@,/'X_P8@L@#'SMRDK95=IZ\2I0>5^FA-Z>D9#X [^D MV^=45\XFUN9*FQ:B$NZ(.:1SX( Z+9GUYJY9GPW]Q&]1)-1B"#%E!J=!.5$: MJ"'6:/=.TW.>Q6YF!>S'./S4#WA1NIS-3NYAFTWOE-R,R>)EH;."E#$4.K6@ M&^(+=J<2F'F+%@PQ[LR;3OOW2R1.Z?9JBNTCEN.2RJ%+=3HN]"!+H"H MIJY00WMD7TH!RT:*I\!N6L/JL9$<[]*YLA@J),>DI:$$I#%HL42TXE7?7V$SQ4&247W ?*K3/=RKE MXRI1*2$@5"#5+F'NU"IZ6G;3'DR+@E=UC!H!Q)'R*,GIV$*YGA&T3=( M+@F'BC/A34IQ8O**ZL"-X5UDZ)/RRR):.JTT&]"XQM494F:N<4^@4U-<59Q: M^5WT5UYX)S3?%N8VY#?*Z-=P3[% @52MD,\KR8_0XAOT"'>15FF".X#?R5QM M0 M6;)/C)LI>P4W?G=V9W[[DG[4I2R2_M;%?!.M(74?=2AUGVA:L9<2JXR4OH19 M;N&J2;V\;.K%0"VWX@OG\B7NITTUH*07JI(4&_O" +EM=]T@E@@ MGSNEC+($E[7#S<8RT=X:*4"69F.2-L:[=PU\@\Y;[Z.SN&)U+OA.42'NR_V>N2;+XYF$5V5IOR9B_AF2(\%/M+8RP&\ MGSO,/.N%*&@_^T[^!5!+ P04 " N.*16?:)3RQ8) _& &0 'AL M+W=O 9"ES2Q($?A[D.UF6) @POG8R1YLC:>-PW$O_R>D.76;"R'>J_*.8 MV]75*!VQN5R(IK0?U>/?9:=/3/)R51KWESVV:R-OQ/+&6%5UFX&@*NKV5WSK M[##8D![;$'0; H>[/2?XMA4<'!$ %X0ORPHWFH9,7OJ"Y4W-7 M>?:OFYFQ&O'R[T-JMU*CPU(IA\[-6N3R:H0D,5(_R-'UFQ_\J7?Q N9H@SEZ M2?K_XJT7!1^&_LG>%C5F M5&.PQYR>,SB[*%GG;/9>YK*:2$AG_HIB_R8;1R_BQCB(NXG/H3Y/$PB]D[IM=+"2C93P.6."P// MK?/BF-T8(^UX)O(OT,G(O-&%+:0AF,$T9L&4IYG';I:RSI\V(K@7ILR/>1JG M[!-XU#0:+XNR-"SE48S3<7@8L ]-7>3%6I3=SFF0X1] -5H#[3/+!A";>"%^ M4Y[ "KO PS3F<10R*,6CR-L]-P[X=.JS*.*!'QW5*@AXFOHL#'D<9NQ>/4@- MSJM[Q6#^B/X"XC]4/A=T%#( MS.7,#@$5QC2 ."/;VA6;JPHG%;GS+K:BUJK+Y@XHA>+YP =BT!18NR M^$][TEJ!<&FI1DPB<&8EEBG-2B5J ^X&CES+>6&9K%>B1MQ"XU"@1>X8++(K8=E*/,BA M"%(?"7?![/,0>)69*6<_G]V?#01>L&HG3E\ER5CR,*E1JAQ;!PCQSZV^<*_- M3I@-I1?P@6T/V4KNK;B5:,[835GVG//.!<33W\P0F'"6?DXZ=/H^\3P"#8ZL M%6JQ("H#<3F3O*=0T716GNO&O8 KX-Q!I F/2D];S>.[K1+HNY._M6E!1B[-ZU;[175*JIZ955["0"-V;<\SSW MZ@0,&'CMXVO5Y8!KUM)U3N73&?OTC+2MTZEMYY ?9FC?-S^D@9]<0*,'492T M< S/C(T@*PPHX1"4O6)0*6U= OZLE3'=WY]$H=GOHFQD3XGG>^1!%8+HBJB& M2.9MR(/ .^TJ!U'Y40H/N.=/F5,CN&!OD]@_[7E]E]#]*-TN]'W([UA^C]ZG M7C)8&4]/.\K?X_HPWJ[#*N+^ :GN*QIY\"S5#O@8!B10(0'N>'^?[P,4IBC- M"&]ZVA> H\P/DO9B1I3]UH>ZD-P5@]TJ *NEX4#%(#OM*L,)FV89#Y( (QP? MTN_;P.?)-"!_3).,)U'P5R)LZ<*AJ:%C2],EGKM<6E"0/%"0&&*&[T4C D_4 MNZ+ ^:9H/R%>$:R?MYM_IE9/PP]G@016XN114.:3)""OA)["8S'E+\ M'XL/'[U7EI([L1/;DI1BD,.GIQ"#1Y\>TPR>?I8[?9STORYMDF$.]0\[ 1SQ M-$GI5=)G$+()8S]$4B.H@R0ZW8O-O=-<7 YCM!T?:KPH"7?W]_,G+ .&<-J: M- HC9STOX]$T39I[Y$NF**CZT_5K*& M1%"_6E,VXFQJ5BJ*)BREHI63L$Y*FW8MYQ(Z"51@'"X?A.L)V]L$ M EW4>=G,2?P*")4NJ!T@T;I I$B^*820-7=Z=E\6%!&J=@1!-1_-O#7/8"T: MV\!HKLM?@%!0FV_Q_3YO2RE*L21B<"@XJQ5!5(^NGA)3/%.*MNQZY5$,BODA M9H"0O8+J2BA T68ZDBHK67[8%9 +7L(R!P+B1BRS*RWEN"+V8&0QA7"5]+V] M#Z6="'L8@[CK#%P^N9:%(A[1L5+EG(XP\EDD*E@5GG2,ZD CQ9X8PA/>I$5= MC]!1]%8MZ-K2]"9TEZ*H'>/MS&\-3@HZAC[029)5#AO@D/Y'0!U$Y%KKOP+) M$F.38TY04K==EX_O&CP\[Z3X:Q78^.OC/LJ^S#EBH"3JFLKMISG-XP/CD;NF@F9)EWW;L4WWG;3 MP]@W*ZA#L0?.Z J\^T)'BB!C1)XW5=,R6-$^,ZAPP\WJ>Y2@U0E ME>1BT3IB$[6,3&)V/A'^GRWLF])>^.Q)"LW\<<#^B0&:I7'8C<)QU(VB<=R- MXG':C=I>X%!OV_:P-$+#E] H37@84;N+OC>(J,SC51RG;=<5T)LXBGDZW6L* MVSH:\LB/Z'H"W2GS$YZB!*,2!ZB.F[J'%A ]R_)QE+'&W$[L% ME&X!HNG!^Y'=I<=^N^7'2GV&+B%+IL>WN[)_J."_%@"M/=G,=U>5[&PO=V]R M:W-H965TM#Y6J M5EL?ICV8Y))8=>S,-M#^^UT[D#&)TI?X^OJ>XW-C'T^W2C^;&M'"2R.DF06U MM>TD#$U18\/,N6I1TLI*Z899FNHJ-*U&5GI0(\(DBB["AG$9Y%.?N]?Y5*VM MX!+O-9AUTS#]ND"AMK,@#O:)!U[5UB7"?-JR"A_1_FCO-+S-7[@I\]G]AP/ .'H#D.P B=?=;>157C/+\JE66]"NFMA< MX%OU:!+'I3N41ZMIE1/.YK=R@](JS=%,0TN$+AT6._"B R=O@%.X4]+6!K[) M$LO_\2$)Z=4D>S6+Y"3AO-7G$"4#2*(D/<&7]MVEGB]]I[M7N.:F$,JL-<*O M^=)83=?A][&..\+L.*&SR,2TK,!90!XPJ#<8Y)\^Q!?1UQ-RLUYN=HK]O<,X M"3XN[8 1#N-"D:V,Q1+4"FR-L%*"_,EE!9^YI(Q:&R9+\V4"="9_05UY MA[L&U])V-NBS_2,R[[SSK[Q[@>Z8KK@T('!%T.A\- Q =Z[N)E:UWDE+9&ULK5?;;MPV$/T50C5Z 13O MKO9FI[8!VVG0 T:Q+V@*/K E6971"A1(2FOMU_?,Z2T%V>SZ4,>[.5E9GAF MYLR0NEH;^\&51%X\5;IVUTGI??-R,'!Y295TYZ:A&CM+8ROI,;6K@6LLR2(H M57J0#8>S0255G=QWHY=V$Y8/ 'XK6;F\LV).%,1]X M\J:X3H8,B#3EGBU(_#S2/6G-A@#C8V%! ^4IZ>7-ES5I8EH8U'@17@S; J9J3\N M=A7T_,TO!)?< MU<##%J\,\D[O+NIEG]$;B[>F]J43/]4%%8?Z V#8 LEZ('?928.WC3T7PRP5 MV3 ;G[ WWCHV#O;&)QT3?]\NG+?(_3_'?(PF)L=-<#V\=(W,Z3H!X1W91TIN MOOUF-!O^> +@9 MPUCR+5T3BT53I=;C7K5B9R+>^!!P^A5*AG."$NFB2B\$?3D MJ2Z$L<*3!?>EC[""EI!^'R-BX(PFN.9R2VP"Z!R# [&4%AVQ4M8!P#7#JJD[ MC0_;'2%Q9BAFHF-P?(F3UVQ$YKEI:P\GT1P%L#.>@GI+;#@&IT/,&T$4S=%Y M'',B)'TXPK0TNA"J0B(?J>*TJ3K'#]J92P5[:^.R66BUBKE)!;EQH(\2PKP2:.]%(_)PNBCOL'OVR-0^E+2_2BXN8C M(*I,X01Q#SHT&7R+*^.PDD7$9UDZOLS2X7 8)##-LDN> M;DM@KHUG"EC*S:I6_X+K?=4YAY="?Y;0X([2RF^^1AS C+-L+P;CBV,!>-WZ MUM(7LL)-2+*3&J\.)[X/Q6E:![ONAY?B+Y(VWESB%>54+<#Q\2@5MQ47M'A/ M_)PIL(CP+1474@1])N9I=C'AR03#Z7C(PZF8II/YG(G[,7XCC M&0)%."H/^+'+$*RQ!6U>+ T@+EJE0]-"/!_0Q,J% ML:9=E:EXBPJ0>8E^ZKOJWZLT7!@;4"M<%^&]P$BEJ/$X17+1)^$L7PMY0!.T MXQN/H--=(+>8P'EW&-A2NK ; A+CL;VZMA<3[9"4RNW["%84A6(%$".69>0V M( ;$:9\1=KIM3,2"YJ+LP4UF $"Q$1SY@C7#D8QU>^ NM45KV5S@KK+."XZP MCV45F20C;KS$S;,W![<>RP4J&]Q[3WC3>+!-G%VFV7P4\L5M#C%+?GW6"4*+ ME IW(K/O#IOH;?2(LX&PO=V]R:W-H965T2^%[?<^Z' M?;SHE'XP%:*%IUI(LPPJ:YMY&)JLPIJ94]6@I)U"Z9I9,G49FD8CRSVH%F$< M16=AS;@,TH7WW>ITH5HKN,1;#::M:Z:?URA4MPPFP=9QQ\O*.D>8+AI6XCW: M;\VM)BL<67)>HS1<2=!8+(/59+Z>NG@?\)UC9W;6X#K9*/7@C.M\&42N(!28 M6(%RB$(Z(R?@^V6@;G >18L%;8 M.]5]P:&?F>/+E##^"UT?.TL"R%IC53V J8*:R_[/GH8Y[ #.HU< \0"(?=U] M(E_E);,L76C5@7;1Q.86OE6/IN*X=(=R;S7MEK..#A*M>(4GT &/LMT?Q8GFKEI M6(;+@%1A4#]BD+Y[,SF+/A[H83KV,#W$?O!X#B+WUS6.Y&N%D%4T$33 )5AG M,JV?N2SAD8D60150;J,[I"$Q X42)&(#1QZB6D.3-<=S6#/!9.9#"':)&=8; MU)!,_%G&\!;B:7QRED1 2B*=2,"G/CMH9E\J.9J=?SC^AXUN!1L<'9=7KZ"6\?XUNF"ZY-""P(&AT^GX6@.X5 MWAM6-5Y5&V5)HWY9T:.(V@70?J&4W1HNP?C,IG\ 4$L#!!0 ( "XXI%:[ MB:<_:@, +\' 9 >&PO=V]R:W-H965T/.=-A]MA^C@L9?*+J+.N>UUDMBZPY[;*[U%13.M-CUW MY)I-8K<&>1.2>IFP-)TF/1>=LLHM030HFU\PB03U8I_M],C'HA1J_ M_'&_#T\2JO25!+9/8('WN%!@><<=7\Z-WH'QT83FC2 U9!,YH?RA?'"&9@7E MN>5;Y;C:B+5$6%F+SLX31[!^,JGW$#JP>9Y?D)TCIS8 M@=,-.PNXVIHK2%D,+&7Y&;S\J#$/>/DK>&^T;G9"2N"J@1>"X4[86FH[&(3? M5VOK#-V4/TYMP[A*<7H57SW7=LMK7$14'A;-)XR6WWR53=/OSF@HCAJ*<^C_ M[9S.0IPF^'([5KTV3OR-#8C/4]/S*WNMQ*]Y[#NE)9Z(]#"U\"J.,U*,BZR*BYF M[)+,63QA$[@-18"&G@#"H4JVG=A:F,157L%%$:=%>@E97,XJ>*_5MS6M0 L MWQA$>CV(=5ZD!#O+**R8P0V77-5>DA=!=TU(V-\U6C,OXFPV\3P8BTN6>QY9 M%A8'&D[Y7K$W=E1VSH M-]X0^^)^_(;O=XM*<*-'GRJ-)9;4+K\"5 ],;W M]3AZ[$ZK\5'^'#ZVMG?<;(2R(+&EU/2JG$1@QG8Q.DYOPQ.]UHXN1C [ZK!H M? #-MUJ[@^,7./;LY3]02P,$% @ +CBD5@*Q6-U)! 6 D !D !X M;"]W;W)K&ULC59-;^,V$/TKA+98=($TMF5G$^3# M@)-TT1X6#39M+-.T(LM4C-OWAO.#'6Y51+ M;;/Y9=J[\_-+UT:C+=UY$=JZEGY[3<9MKK))MMOXIE=5Y(W1_+*1*[JG^%=S MY[$:#2B%KLD&[:SP5%YEB\GY]8SMD\'?FC9A[UFPDJ5SC[SXO;C*QDR(#*G( M"!)_:[HA8Q@(-)YZS&P(R8[[SSOT+TD[M"QEH!MG'G01JZOL+!,%E;(U\9O; M_$:]GA/&4\Z$]"LVG>TLSX1J0W1U[PP&M;;=OWSN\[#G<#9^PR'O'?+$NPN4 M6-[**.>7WFV$9VN@\4.2FKQ!3EL^E/OH\5;#+\X?I/?2QJWX8VGT2G*FPN4H M IG?CU2/./Q3@_$ODX MG[Z#-QUD3A/>] V\.^^*5D71R]44Q*T.RKC0>CS_LUB&Z%$A_Q[2WD'/#D-S MUYR'1BJZRM 6@?R:LOG'#Y//XXMWB,\&XK/WT/_W^;R+*LC6E-HBT$DV?W M0K0-FK'2J&ROE30)#S'<#E H(W4=CK^C5%I!"NPSTU)*-[/Y# MN$U%EM:$"=20TJ56 BN+6,X+54F[ DUMA=)>M76(TBK>@'0,BCU13ZTT&EE: M(BS0'ZW;6 2#P(UK32&LBZ*2:\@CP@OYB%]M04@JY5IP:P/#[2DNT*C'XJ'2 M3!*IM2N,/Z9"SY''';!>!\=ZY66-O-J"%Z :*!S!29FV8/QNO)FMJ)W5'(GW M8$QK:5J9%'&&=H!(DFN1!QRULYS!T#:-T>2[$+'2OOBED1ZF"JW-O8%#L&V) M![2,1^SX4BH?/YSED].+L*L X ^')S0@RQ)3&$>VW [22JD-D(1'50&-B\MK M9*<-R,918L&%JA5ARAIH\]N^5B"Z]1YH?'H.3]V!R=?0QV*!L5_ ,U!_XNS" MI0WYH(]MUN-\5V#H#,QR-F%IEA !MQX0"LU"P&V0ATAKS1<3ZO3A1\U0[*D_ MG(XG9R@?7RR4\BUVZ!FW*DXP;4\NA+-].FUP1A>IT:ZEX9H4]SS<$8=;$T#* NL&-&\3/R=8AK;8(G\X'6)@@"[>DJ%ZB2::3-&QS\9.8'4U/ M3\3=(#%E8:^W=0BLH6C]KJH:')TKQ$E^*KYT75QS30'_ $-0.LO//KTB@HFO MC>@G?B(Q/IV)0Q-TM'?;U>17Z4X/(C5;=_$-N\-GPZ*[+5_,NV^.K]*O- @9 M*N$Z/CX]R83O[O%N$5V3[LZEB[B)TV.%3Q_R;(#WI7-QM^ P\?4_#]02P,$ M% @ +CBD5I%NW?M$!0 :@P !D !X;"]W;W)K&ULI5==;]LV%/TKA#9L+Y[M.A\MNL1 DJY8'PH$[=8^#'N@I"N)*T6J M)&7'^_4[EY04)7$S#'N))>KRW*]S#YF+O75??$,4Q%VKC;_,FA"ZUZN5+QIJ MI5_:C@R^5-:U,N#5U2O?.9)EW-3JU6:]/E^U4IEL>Q'7;MWVPO9!*T.W3OB^ M;:4[7).V^\OL138N?%!U$WAAM;WH9$T?*?S>W3J\K2:44K5DO+)&.*HNLZL7 MKZ]/V3X:?%*T][-GP9GDUG[AEW?E9;;F@$A3$1A!XF='-Z0U R&,KP-F-KGD MC?/G$?UMS!VYY-+3C=6?51F:R^Q5)DJJ9*_#![O_E89\SABOL-K'OV*?;,\V MF2AZ'VP[;$8$K3+I5]X-=9AM>+7^QH;-L&$3XTZ.8I1O9)#;"V?WPK$UT/@A MIAIW(SAEN"D?@\-7A7UA>V/;5@54.0AI2G%C35"F)E,H\A>K ]LMRH&M.N$ MMOD&VHEX#X#&BU],2>7#_2M$-H6W&<.[WCP+>-6YI5AO%F*SWIP\@WNT[6=!EAD'QY':4 M;7_X[L7Y^N=G4CB=4CA]#OWY%(X%^S_@Q)47MA+H@M)BZ,)"A(9@UG;2'$0C M2X%9]P%[L4UTO2L:3(FPKB3G1;!!:O[P_>G+Q>FK\\5ZO<:BZ)PMN,[*[.#: MNH.HG&W%3CIE>R^P6%KGE^*&7("TCQ.5!YK!1;A M4O.O+$O%^%(+EN<^--:IOQ'F/)]9Y9G>@6I5L$%G3?S. H>&FD<13BDG12(' MX6L1,0( 4J?!]1+"%9I'^U+=#O!@XC"A6Z:O\( G,"1\LA>>D]MSFU$E&5? MA-2=&=M\W&%SK>K41\YHK!2;&&M^2HV6 (J4YB5'\&GBTBS=T,@ 4+0L)S(3 MT,2BXW$?372J> QK(?8-F8&R,X?1E[$A^0,\#L.A= ./.L($E'RP8%#+D5V! M7.N?,D?6CBB*]Q"3\L=C7HK/C4+N\]$-AP[$U"!U:J_'K!3-K CS0ED>LMZG MB*J>0<<>#9R^L35F0"!LA>.H%+6UI5\\+0$SAA-78/5]@O0!\/' M-*&[@GP2*)M[JRG,I&,IWO8.(*ZUCA[*DRP*UV-(&0/*[O%HS8.)&$DXYC1- M7?7?J!3EZ]L-$"!:;"1N-(EVA7)%W_+@([5%JCWH#>]0WR@KXXPI2$/!E8C[ M&&4G=4\C'69!L!@F=J&,A=V1XS!323A]H9BJ-D^KG! \X.X5*30.E\R55B%* M'5CM+:=ZN&]'-&EMCQU# (R\%)\&Z2ZT5&UJE:8ZJI$MB%C=O,"Y@IB8I_GGO,0,^409Z'04RM@MQ!3))J7)JI*[8'I]DC@YG M:#NUF$#H,,/'&9<,A%%&0K)$'X!,5<4'$4]+[WA.T'G^WEFODF9H];574'$< M6\@%@X"K99QZW,%=U!6_/':#6,WN?Q#G.MYRF8AH4KH*3JO31?HJW1_OS=,M M_+UT-2J(UE78NEZ^/,N$2S?;]!)L%V^3N0TX">)C@W\&R+$!OE?6AO&%'4S_ M7FS_ 5!+ P04 " N.*16*L'43/X% !Y#P &0 'AL+W=O-* MJ?#2@&VJ2IC5*99Z>=2+>^N-3W)1.-X8'!_68H%7Z+[4EX96@XV47%:HK-0* M#,Z/>B?QP>F0Z3W!5XE+V_D&]F2F]3=>O,N/>A$;A"5FCB4(^KO&,RQ+%D1F M?&]E]C8JF;'[O99^X7TG7V;"XIDN_Y:Y*XYZTQ[D.!=-Z3[IY5ML_1FQO$R7 MUO_",M".B3AKK--5RTP65%*%?W'3XM!AF$;W,"0M0^+M#HJ\E>?"B>-#HY=@ MF)JD\8=WU7.3<5)Q4*Z%#UJYPL)KE6-^EW] -FT,2]:&G28/"CRIS1Y$21^2*$D?D)=N'$V] MO/2W' 6A-2CDK%HKK%W_.Q)/(Y>/>#2<./2\"'IOQ&[!^7LMO(>O#X7"&>ZJH5: M/7LR3>+)*PO4&BCY%:6K,:BR%1AIOU&2*JIJY@+&S^%B!=)";:3*9"W*L$&I!09+*$U^+LD'> M)RW*"E_M(; S41(S4>:H-!4/B<^9:\M@#CCY377,63 WNNJJ^,D[O FGP$[9 MO2XD0%:C83;R"#/-6C,H*+](5N-D*7]X%=LB:6,I3 [$X5/-4A=P!4'H&A,2 MTA7"0:Y!:<<&(#DBZMKH&TE$2%BZPB!"%8J0\?3P>X#PI@ZI3-OSLLE<(P)& MCWL'@F+))E/8J&E+4N3Q:=E>=H$UF"&ES*S$@'XM5GX1$%K0!1'VJ:XLD6@? M/8L4G'6FL3ID\)";")L[X\#.+5U.LY7W92OVNZ<82A7UQ -0(90EM(X1S KF:H8$T]CL) MG*TC]U%S5*E2OER=WUV<=Q"F UIW'5RWOTZ9'\#KQFA(D_XHBN II*/^*-F' M<=2/_'H\[,>3(7S &YD)!9=H-<2CD3^=]H?[4XBG8;7?'TXC>-NH!64/D=)5 M2O&%N#_=#\)&_70:TWK4KH?]))W"7X*PXQC]@XK4KH]&Z1@FT9HQ(<93K@]; MP"5%(8>4M(V(+HU3_A[R=SR.X8R*(6?UYQ0$84C=)!K1;S)FU9,TXN_)%,X* MZ;5^0D59/9/@>USR:O/?^CCIC^-]N%I*:^&"ND[V$V'$COSM]'\Z-)85+V#:5=J0*Y_Z=:+]O2V!U9_UNECIL7^ N12YZ#LS#4NL(@R9!R%Z![K-/ [NL^RT)F!2S1 M; 22"3R3@N+6)JQ<]T-J&\KJ4N8>FW54/,ATC36^AS.9X6F3DZ9MC_Z^0$%: M?#]"4PM#)OYIACP6S\?.WP2D*K;%LIET.>B%DC]\P+>#\A!U%\9.K+99/ C; M1?A+1!]I+Y"PYM:XVRAUS+Q+V36L2[XQ\?ZRQ_D6IX675&]ZW0AE7ZYV7\QM_[S\.E_Z(; M6:DV=4IO3-/.)!?; PD/#H'_!0'[/.X/)S%_<=_>AUUC]*#S'*K0+/RCSX;" M""^CS>[F77D2GE.WY.%1^D&8!=M?XIQ8H[W)J!=*;[UPNO:/JYEV]%3SGP6] MC=$P 9W/-8VR[8(5;%[;Q_\#4$L#!!0 ( "XXI%8[^Z-@P04 $@. 9 M >&PO=V]R:W-H965T>[[;LSEN6Z=DC7>&+!M50FSNT*EMQ=!' P=M[(H'7>,+\\; M4> =NM^:&T.M\1XEEQ765NH:#*XO@F5\=I7R?#_A=XE;>_0-;,E*ZP_<>)M? M!!$30H698P1!/QN\1J48B&C\U6,&^RUYX?'W@/[&VTZVK(3%:ZW>R]R5%\$B M@!S7HE7N5F]_PMZ>*>-E6EG_'[;=W'0>0-9:IZM^,3&H9-W]BH^]#D<+%M%7 M%B3]@L3S[C;R+'\03ER>&[T%P[,)C3^\J7XUD9,U.^7.&1J5M,Y=WN(&ZQ;A M%C-=U)*5.A\[ N;A<=:#7'4@R5= )O!.UZZT\+K.,;^_?DR$]JR2@=55\BC@ MLC$CB)(0DBB9/((WV5LY\7B3)ZQ<&UW!-7$U% VDM"OAVFN,!OY8KJSO__,A M 3K\]&%\SIPSVX@,+P)*#8MF@\'EM]_$L^C[1]BG>_;I8^C/]=$_!H%?2Y)$ M*TI,61?@Q$IAGYWR$UK(I15%8; 0#G/*P Y UETI8(#5#@K4A1%-*3,05!5\ MBN30-C3J"#[KY?W.0J9;$GX'>@VYKF0F:;>7DJ?IUHHZMR=GQ,@@OJJ.H@DH M%J2"/A;ZUL2W$E@2LLR$A1>PB,(T3>@C3F;A;+J UZVAT@73TW!!_;,DG)\F M\"-1=.3LZU+6 B:3,)XGD"["-)K!+\37P-)* =HG3 Y-$;G;>8L4!LX$F6&K$]\&H7SQ81-F,[# MQ2(B@$:1>,SFE6TPDVORX> OL%JU/&0ACL))&D-"8B3S!\6XUI8V=!K>M&HM ME0)Q2++]V'H_E@UC%#"D2:9:MH[L#VX,-D+F@!_IT+'8&:&]7[+6&*QIC;7H M; !]?-$^Q%3F7N<5R@W'07@P?NG)AAYJ MW_FS%"NI* /)OOURLU].G[Z&L*U5-TC3%=G *+T,:@?Y4,\&EUG84A:67E7" MT(;M%HYED@9J4@2MDU4?D4+)3WZ[C5 MCGQ 7^NJ$?4.^#!W],?Z@^ @][** M@OL<2(ZN!XA3<$-F,)<.E";+[>A@=.M3%R@BWWA&!,,@G()^L)TYE.W14\6'\^+@M2^\ MTMV$I-OY(9[L#K4&&JJHFC+P@8KS>8D:TJU+GB]2A0K$?!+!VYIV%[PO&?X4 MMGCY\CX3+?_?XJF7,7G-,2\A#H.D3Z\Y'#P=O6RV_V>DL/Q M/TD):W;O1G $MS>= (DT&=8;\G+!9?.$UKG6U/BE'O#R-$RBZ5-NBJ=/>(G/ MJ6A*193.C(:3DW):^;,AEV1:V!\ 7ZB MO^_=/Y.6W>O@,+U[8[T3IN"RKG!-2Z/1?!J Z=XM7\9.?7KZT$03-^W#F?, D9"$"4DH &A%_?7=!4"*DB@G.9,S?9%X 7:_O>^" MUULA/ZHU8YI\KLI:W8S66F]>C<CVVOS;"YOKT6C2UZSN22JJ2HJ=_>L%-N;43AJ'[SGJ[7&!^/; MZPU=L4>F/VSF$N[&'96"5ZQ67-1$LN7-Z"Y\=9_@>K/@#\ZVJG=-4)*%$!_Q MYM?B9A0@(%:R7",%"G]/[ TK2R0$,#XYFJ..)6[L7[?4_V5D!UD65+$WHOR3 M%WI],YJ.2,&6M"GU>[']-W/RI$@O%Z4ROV1KUR;9B.2-TJ)RFP%!Q6O[3S\[ M/?0V3(,S&R*W(3*X+2.#\F>JZ>VU%%LB<350PPLCJMD-X'B-1GG4$MYRV*=O M'[7(/U[=@UP%>2,JL+6B1ET/G_&:78\U<,&UX]Q1O+<4HS,48_*;J/5:D8>Z M8,7A_C&@ZR!&+<3[Z%F"=QOIDR#R2!1$\3/TXD[DV-"+SXF\II(YD>=T!QZF MR9V4M%XQ<_V?NX72$MSEOT/"6]K),&T,H5=J0W-V,X(844P^L='MCS^$6?#Z M&>1)ASQYCKI%OA9EP:3ZB3Q\:KC>$5H7Q(JTZ(NDAL _2WX8_)<6U0,;[3DI.!P&Z['"!MN5X#9!"O5T0;86T"YW\Q-0BD;RZ;==%-44.XVC"YJC!%H)&X* C# M1'&H_5?6I17YTZ155ESUKNY6*\E6*-2[1BL-DB$V:FSX,\M9M0"YXM!0BLC4 M2[()>4'2T$\S\HO3>NA%T90D$S\*P9.MY@MR$2;!)8FF?IP12/I+QG$M( >O MY!(71,GDDJ13/T@'F!^(0&9>'$PMXS CF9_&&H>=:="&'3IFW!O FZF,0I0@K\60"08E1,G'E9 M8M__"@8K"FXLYUROY=)&7S\J+%]P9[(1TFQROMG4A]OVP#11H@(?%[PVL8^K MEXUN)/,[P4[%@7#):9DW)<7'"TAZFTVY,XJ'P%&:5^;%TIH,B!&)[N%$.$;C M6Z^F7-J(4B=)I@M.0,AHWGFJ28LV:ADPV7-NE F/@V#9M@Y+(VQ2(ETCU9Q=>Q)=0V<^%^M_7*JUOM-!U$?IVA^T%VJ=#3P_43W4 M@@6O:1N2:]"Q $:@T=ZNKZDCID1\V2I&:%YM2GX(S"1]28M>)CC#U;#SC_SP M0-[.::"^0B,/T2Y%96B!J*+B SX:E1G)0I6[M\#,$".G-D3=D;6*M 2K%9, M=G57.6%AY+ )XB1^C7FN3#7]JN11-++UJM.JIX;*GM'C8>";1/,BG/B3F7G[ M(HJ@))@N"!4#FBAW%J\6&G0 >16X*IZ?A<>Z^)G\;NABJU;/IB=,#[4>>DF(#-/4!\:'A157&T5PC%H,8)@X"I>J7,X3"QPTC#)= ME^M2XO)(H\Y'CC,E*9FRRG?%><^Z2QVVP>BRNOKF^#9"_!_"VMK$>&46^[-L M(& DLVO!8)T+IXFY-*A,+G/V^1[(CB',>X/4N?B8_P\!,O^G(L3TU1DDT5D7 M'DE&DL2?9FUTF*H4O>[^!R/D>-'S83(Q,1+Y<'D:(_,V2'JMR;ZCQ.,4T!R5 MI2"*5_@>2ZXM"RD^9*# MXZ'?,VAXQ([A-+-IK0+E5[A!>B5%LX%.7]3=:08";A/;PSMOX!5D, Y.!O%& M[7&4/ M#NUS+%=7=YI-8>1O-6'BM;,F;*BQ%4150DS:[MW&!,6! ,<:,UL.GEL!I1=1 M;!,T[.C\CJ)O?,7>$)J3K+<[.GEJ.7?H'[)"L[3S:;R'[[C:H382%KM&*"%+@T8.FGP% MS99<]U%\6P%JV_+,2R<'G6\<3)_O?/\9V$?3!'2_:78 .YP-P7Y[QE'-[$XW M7./D?*;B ;"3XNL/]@BN<;,=PA?U V,TL#:/4/CAXQG7)KX!+Q4EM]'^J.'/ M'(TCV'>PA]JZ=V&JG6@4*$-=?O/1S!MACZDE3I=0T+&["+':9S%V3."W^=J# MQ $J%9M] F3U"KIA9I):ZDUG 4F\))F21U:6\,QK3VM=NBR@=^:V #TQ$@9> MD$W-7X('>M81\<*8E@Q];!CWOA)53*[,MS"<]YM:VP]&W=/N<]N=_&ULI591;]LV$/XK!ZW87E1+ENTXRVP#2=IA>R@6).OV M,.SA+)TMPA2IDI1=[]?O2"FRW<0&VCXD)JF[C]]WO"-OMM-F8TLB!Y\KJ>P\ M*IVK;Y+$YB55: >Z)L5?5MI4Z'AJUHFM#6$1G"J99&EZE50H5+28A;4'LYCI MQDFAZ,& ;:H*S?Z.I-[-HV'TO/ HUJ7S"\EB5N.:GLA]K!\,SY(>I1 5*2NT M D.K>70[O+D;>_M@\)>@G3T:@U>RU'KC)[\7\RCUA$A2[CP"\L^6[DE*#\0T M/G684;^E=SP>/Z/_&K2SEB5:NM?R;U&XKJ4- M_V'7VF:3"/+&.EUUSLR@$JK]Q<]='(X[4:!Y3MTN)@9O0/C MK1G-#X+4X,WDA/*'\N0,?Q7LYQ9/3N<;>*2Z,7G)ZN#!Z+7!:I8X1O?&N'V\,_MTCK#V?#O:QI;B/'K$+Y";FR-.4S&&KB?0H@G\? 62@DC$*X.&B[4C!S%E9+ M'&0XQ0PIO)]P4_.P3_7##9ZD(H1_$XG7Q;)$\8 M6:SH55I?Y,07&7&TZ2$SSFL93W]^H<5IQX'L%67C>#B]_CI%;?EWUQ1(PJWW M0][:OXE^O$2)*F_K971]'4_2=@NT?NDER #^/))0X;&,9_8OL\T':]6XQE!' MTO+KQ&]WX2GX]P^V: 3Q#J$TQP!WG,KNT,Q:54]RR!=RBD+@4DN]?WD<5D*,M617? MR!PF4MQ7G&@6IW6@.0@;.KD2F(UPITGNSTDWZQ)\Q\(>9L,]3>\1^Z%M4#F/ M]]A(@F&ZG+P= C\&(48UGQ*;<1ZU5\T6']:5VW"2$8!0 -PT !D !X;"]W;W)K&ULM5?O;]LV M$/U7"+?I,D"Q97,[P\;?A6T MMH-GYB-9:/W%OUR7YZ/4$R))A?,('/_NZ(JD]$"@\6>'.>I=>L/A\P;]IQ [ M8EEP2U=:_B9*5Y^/3D:LI(JWTMWH]<_4Q7/H\0HM;?C+UG%OGH]8T5JGF\X8 M#!JAXG]^W^5A8'"2?L4@ZPRRP#LZ"BS?8?0JC!&N2$\J+< M.H.O G9N?JT*W1#[R._)GDT<$/WZI.BL+Z-U]A7KG+W7RM66O5,EE4_M)V#2 MT\DV="ZS9P$O5F;,TBQA69KES^#E?7AYP,MWAL?>"EM(;5M#[/>+A74&!?'' MMI CXFP[HF^2UW;%"SH?H0LLF3L:S5^]F!ZE;Y[A.^OYSIY#WRG'MUNSCS6Q M*]VLN'KXP3*J*@H-P!QR8;@CMN:697L,C,B'U7"-U@']D@EG4="?/1J8?6Z-L*4(+6L9MGD7 MGY1PV'GK0-LF[-J0!(N$7=5"\\",NFV?APCP&D=Y7%]X''+ LKP3$K?& &KIR.CL>W8U9128;+@8]" MFY4.3GIONF+9="^0L>23BCFB'C^7 L(94@441;EAUOB489HQA8E=4@'OL.O< M;E'9R[30T&:[5G:;R"&^9^0SA$"\5<<"G66H"VI!"L(Z,'(<];ED+_/D\'26 MI&GZKTIMBPNZQY$4@MZX.$KR_.2)"\O1"!TVTA5C>#M$064T]CLI :J0K5_> MG_X(>OX]"B#4$VI0]>4T28\B*5]$+A8'!GKQY<"?(V4H&NSFOM;?L/T,B(^* M;@',DNPTZZ,$*#;Z\(/6<119AI/.UUN,$5@E^@O@^6[PZ>EC"GGY&6-^S9$*9PQK-1![;J[0_VX4_/1Y2=ZU1!TX?K(R^$^& 'WC\+T)U M]?J=0LVFQX$KA?_JD7>J]^[>YSY4)@03 MF!F%"VAAQ)7_T#8)^[KA\NK%238]?O/5$VMZM/=_S+3>;==(P8>(YZGSYVG2 ME90/:VFTM7A'<4#+@(RL;D&(=ROK6]6X&UF83A_ M*-"0HA&.Q]V#,MHT^",4"D6@GI).M7Z^K'4K2TSY;OYXUJH<9*JOL,'&LBTV MIU;5.G\#BT*-M]V8)H/+;$-F&:[L2)-NE8OWVGZU_U5P$2_#C]OC3XKWW"S1 M1$Q2!=-T?'PX8B9>T^.+TZMP-48QX:(='FO\LB'C-^![I;7;O'@'_6^E^5]0 M2P,$% @ +CBD5J-CVT16 P &@D !D !X;"]W;W)K&UL[5;=;]- #/]7K" AD+(F3=INC+92"T/P *I6/AX0#]?$:4Z[ MW(6[R[K]]_@N:>B@JP2\\M#>1^R??[9C.].=TC>F1+1P5PEI9D%I;7T9128K ML6)FH&J4]*10NF*6CGH;F5HCR[U2):(DCB=1Q;@,YE-_M]+SJ6JLX!)7&DQ3 M54S?+U&HW2P8!ON+:[XMK;N(YM.:;7&-]E.]TG2*>I2<5R@-5Q(T%K-@,;Q< MCIR\%_C,<6<.]N \V2AUXP[O\ED0.T(H,+,.@=%RBZ]0" =$-+YWF$%OTBD> M[O?H;[SOY,N&&7REQ!>>VW(67 208\$:8:_5[BUV_HP=7J:$\?^P:V73.("L M,595G3(QJ+AL5W;7Q>% X>(QA:132#SOUI!G^9I9-I]JM0/MI G-;;RK7IO( M<>F2LK::GG+2L_,OGC;F9XM;U)0%6)=,HYE&EL"=2)1U0,L6*'D$*(7W2MK2 MP)7,,7^H'Q&IGEFR9[9,3@(N:CV . DAB9/T!%[:>YIZO/01O"NF)9=; RO4 MK9?P=;$Q5M.+\>V8ORW,"NIQUI]2?$E@RPS/"_\5NIBJ"V)NGMF$LX5.B8'B>A)-D1.LH M'(XF<%445,J@"LBY:%PQ WYON+T'MF,Z-S ,D_,79'U,UG[SK[-#V-WVS"G? M,H'2'K>>AB_BE-9).)ECL,XCCTXD;A( M_&D/6O0^.H@0'(O?XT"MA9NPC?\AC[S1;K$ETJ\/.-2HN2*?\4C<'8T'L0^I M?9H:?0,4]R%L&ML:DLH"EYEH'(A/[\_DNYYY&&N)7E95Z(RWWL$&,]881PWO M6T@F+3_;*PW@&JG">.9>)>\^-));%S_+A ]SW$&ULE59=;]LV%/TKA%JT&^#9BIPT6>,82+)UZ["B M1;./AV$/M'1M$95(A:2L.+]^YY*R;*-.T+W8%,5[[SGG?HBSSM@OKB3RXJ&N MM+M*2N^;MY.)RTNJI1N;AC3>+(VMI<>C74U<8TD6P:BN)EF:OIG44NED/@M[ MG^Q\9EI?*4V?K'!M74N[N:'*=%?)2;+=^*Q6I>>-R7S6R!7=D?^S^63Q-!F\ M%*HF[931PM+R*KD^>7MSRN?#@;\4=6YO+9C)PI@O_/"^N$I2!D05Y9X]2/RM MZ9:JBAT!QGWO,QE"LN'^>NO]7> .+@OIZ-94?ZO"EU?)12(*6LJV\I]-]ROU M?,[87VXJ%WY%%\]FTT3DK?.F[HV!H%8Z_LN'7H<]@XOT"8.L-\@"[A@HH/Q) M>CF?6=,)RZ?AC1>!:K &.*4Y*7?>XJV"G9__;IP32VMJ\4Y9FDT\?/*;2=[; MWT3[[ G[J?A@M"^=^%D75!S:3X!E )1M =UDSSJ\;NQ8I-E(9&DV?<;?=" X M#?ZF3_B[A2K.6].4)/ZY7F")0OCW&-'HY_2X'VZ.MZZ1.5TEJ'Y'=DW)_-6+ MDS?IY3,H3P>4I\]Y_X8T?(/]=Y\I-VNRF^]WKL1'+7YK-8GSH"AT]1#BUM2- MU)M7+RZRD_-+)QJKN"5%CERR/J@PW2ZQ:"U900\-644ZIT)(L62OT@OE85=) MC946[W5A-#DEQ^(/^ ]G"F+=-\'(J9562Y7S<5F;%G]F"1@K30\_F$[C$&+S M*:R47I/V!B&=D$YT:%G^SP$:04+ W8%HO-@$7L?Q^Q)P.XJ0$$)Z6&">]?'! MWA1MCMG&V'&J0S!M#C 7LL:($M[LR_?:;4UYOM!]JQJ,*S\6U\"-B>4P&9BF M[Q4YT![OSAJW*(Q(Z0 M#@1&9VG$OY<)B<@.H\ Q;;"P;1-J,:^DJM$SSB VG^T4J&[K\"OM7A]1;8R> M#F<<78 MPON32V%T#U [4ZDBD+C;2A@4^8BA)-FG"PV'G<,\<0'[TIIV5?Z/E* \T>AA M$XVOC1<;9!E]A/:#O2P*Q3%AW8/G&11J/C=M53!WN9:J"BTUZ'RT^@$;>5^V M_#!ZPC/4HX><\PODO(^1] @IM@W3R^W1QZP0>GZ%BUB(I_0*(SO,4%T,)_=\ M="5%D8-)2"8/@S@M=H-A.Q4A!SO 8$1=Q5H9B=)T!*BC* $[VRLD)L%3$_$G MP>5 ZWEA!K [)5'KP3@8]>0')UPWXV,?XO:@FNPJW/_Z0H%3C%6G8'2Z8 MU_%>M3L>;Z&ULC59M<]I&$/XK.THGM6<MG8=N\JBR(-2J>*TW[^(2R%U-!V' MLUL['9O:*ZGQUH*KRU+8[1R5V4RB)-H=W,EUX?D@GHXKL<9[]']4MY9V<8>2 MRQ*UDT:#Q=4DFB77\R'+!X$_)6[$03]/.(" ME6(@HO&]Q8PZDZRXO]ZA?PJ^DR]+X7!AU%\R]\4D&D60XTK4RM^9S1=L_3EG MO,PH%[ZP:62'))S5SINR528&I=3-KWAJX["G,.J_HI"V"FG@W1@*+#\*+Z9C M:S9@69K0>!%<#=I$3FI.RKVW="M)ST_OT'E;9[ZV4J]A40B[1C>./4&S0)RU M,/,&)GT%9@!?C?:%@U]TCOFA?DR4.E[ICM<\?1-P5MD>]-,S2/OIX V\0>?G M(. -?LA/H7.X0R4\YC#CNI!>HH._9TN2HD+YYU@$&@/#XP:X>:Y=)3*<1-0= M#NTC1M/W[Y*+_LT;](<=_>%;Z#^>IC=ACI,\B@V_:_B(&99+M' 9TD#)\ 7" MPI25T%OJI^^UM!1 H1285;BCKG>>@LM CH (AV[N9PNXEU;6#F;YH] 9*2VV M!*S1R\S!YW+Y!4XB$HM.ST" HL>%K$H-&=FJO>#^%0H4=QA#>\P*;919;T-' MYBSZ&:E'];8'GXRBEX;%I'<-2R?#"]!0.?2B0LLO&V'8PPIYK@IOR$6YUD$O M,\Z'\J%GT8K 9J>&NRATD5G6CA+@'/6T+_;-_NR>[[CB/*Z)^2Q$JXOZ(-D/ M>RG^-5;Z;6O$X1'"1I,IM!CBII"JNP>_$?L\EVT(LS:[06.XT20L"^D>^%!I83NP0.16'4I]&*IL)T8\C].1HAOR,V6,?>"^O[= M*$TN;U["MG7>6&^8OA:_)N%GL"ED5H!DTIFJ\\8?AD_[-[,LLS6=L.?:H0O' MR0V8'1?MC))Y,#47BJL=[OEY=G 2^)K:4?VXTVMJ,?S@:<+! ]6NU$ULYJAQ MQ95+2.$M.KA=4/DY>#">#>'8VQ?OC:L2J1YY*#LJVEK[9G)UI]W&_ -E7%S7:!4F]F;,AV M"P]B53J_$*73FJ_P$=WW^MY0%/4LA:A06:$5&%S.V'QXN1C[_)#P0^#&[LW! M=Y)I_>2#S\6,Q5X02LR=9^ TK/$:I?1$)..YXV1]20_J9>,6[S6 M\J]^81=/Z>>+]?2AB]LVMSD@D'>6*>K#DP**J':D;]T MY[ '.(_? "0=( FZVT)!Y0UW/)T:O0'CLXG-3T*K 4WBA/*7\N@,[0K"N?2Q MR2P^-Z@1(UJ_&>4=Q:*E2-Z@&,&=5JZT<*L*+/[%1R2GUY3L-"V2 M@X3SV@P@3DX@B9/1 ;Y1W^,H\(W>VR/\FF?6&?HC?K_6;LLV?IW-N^32UCS' M&2,;6#1K9.GQT? LOCJ@==QK'1]B?]]]_"?%5P5W? OC]D!/P)4(U[JJN=H> M'YTGP\F5A87FI@"]A!MAR##:6/JW<\D-%L AY[:$0JQ%@2ID?8@'\01J)'N7 ME#. ;\39)P@+-=_R3"*0\;XT"J&[37 :N)0MJM2R0"I$?%134WT> J\OE]JB M#[+&4G_6>B;?Q?"B91J\=MC1GA$J-*M@=PNY;I1K/=&O]B_*O#72W_3V.;KC M9B64!8E+@L:#R2D#TUJ\#9RN@ZTR[&ULG5;;;N,V$/V5@0JT"9#8\B5ID-H&G.RFW:+;&/:F?2CZ0%,C MBUB)5$G*3OZ^,Z2L>+M.FO;%YF7FS)FK.-D9^]D5B!X>JU*[:5)X7U_W^TX6 M6 G7,S5JNLF-K82GK=WT76U19$&I*OO#-+WL5T+I9#8)9PL[FYC&ETKCPH)K MJDK8IQLLS6Z:#)+]P5)M"L\'_=FD%AM$03];?$6RY*!B,9?+6;2F63% MP_4>_2[X3KZLA<-;4_ZN,E],DZL$,LQ%4_JEV?V$K3\7C"=-Z<(O[*+LQ3@! MV3AOJE:9&%1*QW_QV,;A0.$J?4%AV"H, ^]H*+!\)[R83:S9@65I0N-%<#5H M$SFE.2DK;^E6D9Z?K6(RP.2P4ANM_AGO?-\%7 >6U[D [/8)@. M1Z_@C;HXC +>Z"6\(P[_,5\[;ZEN_CSF<,0;'\?C7KIVM9 X3:A9'-HM)K-O MOQE6%SH3-'#S4F? ( M)_/5PRE'.SU/QV>0+#%'BZ0*2[ZF+34)G'PRM9)P-;XZO88[(56IO CM1P7F M"X3W>4[]Z'A['(%$[Y066BI1TEEM+/-)SIX)#,[3P=L(K"0-+U(E5][FV_ \ MO7P;]#L6L42Q]6O5:$9^"<:2>!1^OK),&1]K2@MF3&6-D"G'EI5NZ&B-4C0NN/4/+1L"TR-O M-\BH9R$4P;':FJW*2*EF/A0GMI"I$ *FC(\2ZT@U9UH^%Q+[L51N .Z_+(', &7A.?=[!Z R61C $:$2%#]&/>H55PLQSJB@"()" MB%M1-B($+*<;JE!JZS4M1H,P):EI([T0\!!.I;QD&+R)*I;CB_+!HY M"+T6WP_=:??ZFL='Q[-X?+I15"E;#DK,237M?7^1@(W/H;CQI@Y/D+7Q]* ) MRX)>D&A9@.YS8_Q^PP:Z-^GL;U!+ P04 " N.*16G/5HNDL# !H!P M&0 'AL+W=O M;,5U;0-VVF(%&C1+TN[#L ^4=)*)4*1*4G:S7]^CI,AJX7K[(O'(N^>>ASP> MEP>E'\T.T<*W2DBS\G;6U@O?-]D.*V8N58V25@JE*V;)U*5O:HTL;X,JX4=! MD/@5X]);+]NY6[U>JL8*+O%6@VFJBNFG+0IU6'FA]SQQQ\N==1/^>EFS$N_1 M?JYO-5G^@)+S"J7A2H+&8N5MPL5VZOQ;AR\<#V8T!JK1&1_RE1F1.:&[12VV@BQZ4[E'NK:953G%V_9US#%R8:A!MDIM%( M.VX-O'I@J4!SL?0M97&^?M8C;CO$Z!>(,=PH:7<&WLD<\Q_C?6(W4(R>*6ZC MLX";6E]"$$T@"J+X#%X\2(Y;O/B_);_E)A/*J3;P]R8U5E.5_'-*H[=^^2),@C=G"$\'PM-SZ.N-,4A'PF0.'SE+N>"6$^'^ MO')@%D::7*G#'6:-UER6L&6&FU.*SN8\K>AAAU H01?9(5M7(?UMYO\2(>N6 MN60RXTP .[(6(]8:OS;55C:$\YF(!?S;*$MJMYADEH\5[7DI>\(Q)"Y^(H8;/4J5.4$O_@ZP;5^X? M<8\"X@OH-GOABAB?Z*;I1^J,7%)I--W-^ WB21+.Z?_RQ3P*HS>CT;72M=+, M(J2*^ SSL^EL,D_BP7[0K>PGH&T11[ 8[S$M7%OK = XTVUZB$?0(>%2^B_^/<'4$.'6;_%'WJU"7;8\WA--( MVS7"879X1C9=]SRZ=V_0#=,EG34(+"@TN+R:>:"[OMX95M5M+TV5I<[<#G?T M%*)V#K1>*"J_WG )AL=U_1U02P,$% @ +CBD5J1.NDM !@ &ULM5A9;]LX$/XKA!L4,4#7XJ4C MAX$D/;9 LPB:M(O%8A]DFXZ%RJ)+TDFSOWYG*,EV?#5;8!]B411GYIOA?#-D MSAZ-_>:F6GOR8U96[KPS]7Y^TN^[T53/E2CSQJR.'QH*]T6:(B@/&]T=E9FD3!]7&K_7WP'7P9YDY? MF?*/8NRGYYVT0\9ZDB]*_]D\_J8;?Q3J&YG2A5_R6*]-5(>,%LZ;62,,"&9% M53_S'TT\^[XH'O)25]Y1DE=C\K%ZT,[/<(("(->F\E-'WE5C/7XNWP>T2\B\A7S)#RJ\F-LW).*4\(B+ _K$ M,@0BZ!,'0A#\W8P"^>MBZ+R%Q/E[E]NU5KE;*Y+IQ,WSD3[O %N3U&B'ZJR<244 .*ZIX<%Q7,F(4#&=<](;"E14F:+25O]4C/AMH2P<(,KUT[ M(A \JI3 41K13&686OH)^&"_0?TJ*MBM16U*\)BF M640N[G4U>EJJH)%("5,T52FY@[+I%A8^%F7I2$JE NM@7'!RO:B*43'/RT8R MYAG\ :B%M8#V660YJ$TB <^4)A"%3> B551)0< I*F6T:5=Q&L>,2$DYDWN] MXIRF*2-"4"4RM(425[6.0?@E_@+$WTW5&^V *6,!WF=$*H@S2V#;4BEH MQG #4YCC*B('N*"67% 'N7!;]Q/,LHN'O"BQ4/6@7?5N89]_EO\'5>_._[MG MJ>S17-/3BG\@;ICI2,^\>GK]*N4L.74D?X;+(:[U0.6!Q<])L$61F;$>#(S) M!VN<:W[?YX4E7_-RH=M$.=G*!N0-;B)N (;^6%#.HV[#)TSPO8G-:<1B$MS@ MI^0X4:S;9OMFFC.9KA8R!OJ;W-]*^CA*UE:JN-L088L!0JW6P2IDQ%JJ;3LJ MHPAX"HRB,08000D$W+!AFP4_D J1LI@HE\S,!=T-Q09),; M$+54K+G(LV[#ER,29QGE"8<1F!?X/.:,)C''_8B3C":2'R)%O"1%?) 4=7I\ MJ<#G,F3-)W@'+[ 0KI+&02+;7V#-8=N_0)#[ '>Q@ENNX$X0[L,*[D_(!+S) MJTU59&Y<41\#7\"UC;"1FU88#H(GY)-VZ 088;P]VZQ& / #2'MH7W?&0S*O M471-[W^9W28T-*Q,,$P>1J,LQ=P1*J)8&NR9&MRD#'O)A,=KB?D.O>X(T\$3O/:_5I/ M.VCKY3TM?$5&(6'U$N&L13AN$?Y/'>]UZ4\9>=*Y):S'R9\P@-K:$\U(]&0S MDCW5C%0O;48U]W:UPKKEX0CZ0X*C-*%"8G>$-LDET@H^*3BOA2+-\8N2<(*+ MMWI(G;>"2CA'P1D/FAEA"4TAY2'S.63C,L^@8T"-^-D)DJHD@UI"59:1)!SQ M-A,6CU(RWGG(W%RZ[]DLWT>M#%B9)?%^\4"S701[*0!<>[0\Q,).) +[*8X0 M6X*!3]-0L[\7)V^1^%B_HBO5I> M_SOB.K?W<*$@I9Z :/0&+_"VON+7+][,P[5Z:#QT+ M&EC^GV7P+U!+ P04 " N.*16M$VN:X<" !O!0 &0 'AL+W=O13G[O7^52U5G") M]QI,6]=,ORU0J,TLB(-=XH&O*^L283YMV!H?T7YO[C7-PIZEY#5*PY4$C:M9 M,(\GB\S5^X(?'#=F+P;7R5*I9S>Y+6=!Y 2AP,(Z!D;#"UZA$(Z(9/S><@;] ME@ZX'^_8;WSOU,N2&;Q2XHF7MIH%XP!*7+%6V >U^8K;?H:.KU#"^"]LNMHT M":!HC57U%DP*:BZ[D;UN_\,>8!R] TBV@,3K[C;R*J^99?E4JPUH5TUL+O"M M>C2)X](=RJ/5M,H)9_-;^8+2*LW1P,DWMA1H3J>A)6:W'A9;ED7'DKS#DL*= MDK8R\$666/Z+#TE1+RO9R5HD1PGGC3Z'*!E $B7I$;ZT;S/U?.E_VGR#:VX* MH4RK$7[.E\9JNA>_#G7<$6:'"9U7)J9A!V0H$M8*]$SHD\RC189G[9UXH\I>Q6+JM;(6P4H*,RN4:3KBDC&H- MDZ4YG0"="1>P/1.XQ@+K)6I(8Y])X(%MZ&9:U)P) Q]A-!H,D\@%\6!$P1/9 M\XS+LT:K HV!>)"-+^$RNH ;+CE=X1+62I4&LO$@3L>070[&PXSP<3(:Q-G( M1PF!(CCTB\,]$]2HU][JKL%6VLX/?;9_3>:=B?Z6=T_1'=-K+@T(7!$T.A\- M ]"=O;N)58VWU%)9,J@/*WH14;L"6E\I97<3MT'_QN9_ %!+ P04 " N M.*16SNL:!98" "%!0 &0 'AL+W=ON:Z9<5"K6=!X-@OW'' M-Y5U&]%BUK -WJ/]UMQJLJ*>I> U2L.5!(WE/%@.IJO,^7N'[QRWY@"#JV2M MU*,SOA3S(':"4&!N'0.CY0DO4 A'1#+^[#B#/J4+/,1[]BM?.]6R9@8OE/C! M"UO-@TD !9:L%?9.;3_CKIZAX\N5,/X+V\XW&P:0M\:J>A=,"FHNNY4][_[# M0< D?B4@V04D7G>7R*N\9)8M9EIM03MO8G/ E^JC21R7[E+NK:933G%V<8U4 MDH'W#VPMT)S-(DND[BC*=P2KCB!YA2"%&R5M9>"3++#X/SXB,;VB9*]HE9PD M7#;Z'.(DA"1.TA-\:5]AZOG2TQ7^6JZ-U?0(?A^KL:/(CE.XQIB:AN4X#^CE M&]1/&"S>O1F,XH\G!&:]P.P4.PDT!C&$KPUJ9KG<@)<U7+=$AJ#ZC0A4DR<' ,:3@>C!R<$,RR"3Q42,.GM$0\2,+QZ ,19AD= M#>'8740'K5&CWO@!8"!W&KLNZ7?[&;/L6NN?>S>@;IC><&GH7Y44&I^/J:5U MU_2=857C&VVM++6MAQ7-2=3.@S>< GZR;OX"U!+ P04 " N.*16 M_-=5(( " !^!0 &0 'AL+W=O\K*S; M"--%PTJ\0_NMN=$4A2-+SFN4ABL)&HMEL)K,UU.7[Q.^<^S,SAI<)QNE'EQP ME2^#R E"@9EU#(Q>CWB!0C@BDO%[X S&D@ZXN]ZR?_:]4R\;9O!"B1\\M]4R M. \@QX*UPMZJ[BL._ M <0#(/:Z^T)>Y26S+%UHU8%VV<3F%KY5CR9Q7+J/[81:(X7H25:=QAF \6ZIXA?H4C@6DE;&?@D<\S_QH^,?15IONK./?,3<,R7 9D#X/Z$8/TW9O)6?3Q0 _3L8?I(?;TCMR8MR1: M%;#M9Y_&@RS[-=Y7"%E%0T$#7()U(=/ZFHUM!PS?$ OQ-#XY2R(@5Y%G).!37QTT MLR]*CF;G'X[_8:,?@PL8?HR!*9I.8-]\PQU/U*A+[WP#F6JE[>TQ[HZ7RZKW MU$MZ?S-=,UUR:4!@0=#H]/TL -V[O0^L:KS#-LJ27_VRH@L2M4N@\T(INPU< M@?'*3?\ 4$L#!!0 ( "XXI%;YPR)+E , (8( 9 >&PO=V]R:W-H M965TUTBVSZ.IM9#H-K/))K8AH'$^CEG$9+.=^[4XO MYZJW@DNXT\3T;L2T\@/VEN]/H12-*Q5N0 MABM)--2+8)5(W7MEF$10!J:!FO;#W:O<.]GH\P5() MX[_);HB=S )2]L:J=I^,#%HNAU_VN-^'HX0B?B&![A.HYST4\BQOF67+N58[ MHETTHCG#2_792(Y+=R@/5N-3CGEV^5Y:)K=\(X"LC %KR,4GAIZYG$<6\5U4 M5.ZQU@,6?0$K)1^4M(TAKV4%U=/\"'F-Y.B!W)J>!5QU^HK$-"0TIND9O'04 MFWJ\] 6\MTI5.RX$8;(BSY7?4W>:F4,695E MW_:"N92/^):Y46TGP'D6RD8JH;8<#/F1T"*,DQR-BZ0(LQF]1',63NB$W/A[ M !K? HB#E]DTO#-D$A9I02ZR,,[B2Y*$^:P@'Y5\56(%+$#85@/@"P19IUF, ML+,$P[(963/!9.DD.1'895R0?9=AS30+D]G$\: TS&GJ>"1)F.7T?RC*PSS+ M/%(TBS_CJ0\Q[!I^B])MU!"NT'T-/&RZ%-9N%5%XLG0,$LR M;9SW^.S ]O.^>;CHJ[:4E]^ &8X6+2*[& M]PL3AS:C_CC0R="$QZ MF'J#8U7G)\U&66QN;S;X1P&T"\#GM5+VX+@"XU^/Y5=02P,$% @ +CBD M5DPEJDB3 @ O 4 !D !X;"]W;W)K&UL?51- M;]LP#/TKA#<,*U#4CI,T09882-H-VZ%8T';K8=A!L6E;J"QYDERW_WZ4[+C9 MD.9BD1+Y^&A^+%NE'TV):.&Y$M*L@M+:>A&&)BVQ8N9"U2CI)5>Z8I94782F MUL@R[U2),(ZBR[!B7 ;)TM]M=;)4C1508TD#B!MC%55[TP,*BZ[DSWW_^' 81Z] MX1#W#K'GW07R+*^991X](5YN7D9Y,'IC63]@6^ M[P0OF/M3!C[>LYU <[8,+85PAF':PVTZN/@-N#'<*&E+ Y]EAMF__B%1&_C% M>WZ;^"3@NM87$,7G$$?Q^ 3>>,AW[/'&;^!MM5C6&R^CC&\A\GY>#8%JL83-[[G:+_L0[FB<&,:S"!K M-)>%YU&CYBJ#:3R#+XW(N1"T&ZS#/\*0*,WC^=E_1*B9N("^F3R):#:!8\4) M#R:J0EWXO6$@58VTW7 -M\-J6G<3^6K>[;4;I@M.A 3FY!I=S*8!Z&Y7=(I5 MM9_/G;(T[5XL:;VB=@;TGBME]XH+,"SLY"]02P,$% @ +CBD5AI>UWY! M!0 =0X !D !X;"]W;W)K&ULG5=[;]LV$/\J M![+J$1Z)!4G^_2[HV1%R5PE+6#( M//+>]^.1/-YJ\\WFB YNRD+9DT'NW.9H.+1ICJ6PK_0&%:VLM"F%(]*LAW9C M4&1>J"R&<1A.AJ60:C _]G-79GZL*U=(A5<&;%66PMR>8:&W)X-HL)OX)->Y MXXGA_'@CUKA ]V5S98@:MEHR6:*R4BLPN#H9G$9'9U/F]PQ?)6YM9PP:;_TL5,L2V'Q7!=_ MR,SE)X/9 #),,!I)5UNFR$R8-2JOI?W#1Y M>(I W C$WN_:D/?R0C@Q/S9Z"X:Y21L/?*A>FIR3BHNR<(96)2TX M,_!.6605A'$ $"4RR7:"")_$P, MYY4QJ-);^*AY XL"OBPN[A-WM;2\0+25:R4<9B!L6\Y.F8_@U\IH2.)@'(;P M'))Q,(X/81(&H:I7(0!;/#6MDX2&81T>.&'@5Q,H/?!.6.L@E_HB*SNZ5Q,H%IN!., M2?#,$ !M#E>Z(F0F9&U,?$F4\'C$XV@2P;E0(F/S%U0$8JN?4%$364IX\6P61_'K]K^)<1I,HD-8;*6U<&F$2O_'& 51[+5& M,^B![KB%[K@7N@LZ9;*J0- K^,[.)-@L'-64*6:[E(HT!^+\52%M+=WIL]$P5%C9U(]TTM_$'^V,YZ&M?/;"X*6YQ^$>E5\OU?>]4;'71C\*H.:<;,VFK:9J ^;6\X6 MB**@.T6[#9I<<)**!A5\*&USF>:P1=,JI.SP%0<4U94N*=(RZ7RS5E87,O-E MVP'&U]]"1H!QVK,9OKPPGK5/!EU"7 XHR$I*_<>AV0A#+OXL>!^#VF/K;^I, ME>R+93<-IGJMY+\>BP_QTL?=36,'1@]%?!(>MKXG,7VDN9J%+3?.W56IX^9] MSJYC7?:G('W:(GW:B_3]#3: -W1YAX/W%-W>"U^OTA]MG[A:T86<(^[@7';: M?0/XD>+2QOM=I;9_F[XZ,Q9W\Y]P@_E)V;JL/<%A3R<^W0\XK M.4;W1^I:+[LP))]V_8[>5\8[:OD.0:^(W1+=?-:^,"S_DE!P$ 6C:<0C/MKW M(V+8>0J4:-;^P6/K75R_"MK9]DUU6C\E[MCK!]D'8=;L?X$K$@U?3>D8-?4C MIR:J;X84[O0C3,0.LKK=V.8 /M2W/^'U!+ P04 " N.*16 M0C@PK7H$ !&# &0 'AL+W=OJC+A -/%6ET!>3PICZ?#K5:8$5TZ>R1D$[:ZDJ M9FBJ\JFN%;*LO5254]]U9].*<3%9S-NU6[68R\:47."M MU4%5//EUC*S<7$ MFVP7[GA>&+LP7(O^4^L[ M^;)B&J]D^8%GIKB8)!/(<,V:TMS)S<_8^Q-9O%26NOT+F^YL%$\@;;2157^9 M&%1<=+_LJ8_#SH7$_<(%O[_@M[P[0RW+:V;88J[D!I0]36AVT+K:WB9R7%A1 M[HVB74[WS.(.'U$T"'>8RESP-E)'#VQ5HCZ>3PU9L.>F:8]VV:'Y7T +X+T4 MIM!P(S+,]N]/B=E S]_2N_1' 9>U.@77=\!W_6 $+QC<#5J\X!5WUTI6<$5< M%:4%A=P4<-4&&Q7\L5SI=OW/0P'H\,/#^+:$SG7-4KR84(UH5(\X67S_G3=S M?QQA'P[LPS'T??8W3P:58.5 7,/J&=ZBS!6K"Y["DHI4'W)AU,AA%QX*LBI+ M*F$N-S>"@4XDFUDVY R<)+Z).E MGP7MS(N$H4\#SY\YLRB!FT;11PZB,R>A]9GOQ&<^O"6*%&"X M*KA@$ 2.%_L0)D[HSN!7XJM@J3D#/W9FLP3"T(DBCS!]UW,\/[2CQ*?#,8SH M'@VZ1]^J^ZV269,:#10>N"?1>(H'Q1^U]-^)OUTVS_4W:WEOZ!Y3&=2[3NO> M:2OLF>O$26!%B&(G25P"J$N2W[(YT36F?$U9N,TXT+)L[)8&SW6"T .?Y/3C M?ROG;)!S-BKG/;VL64-!I/Q>VK RD=H(4[(IS+B!7Z36L+3O%3?/AT0E)"ZTSWHV[98];%XT@YIJ2V: !Y3[7.I+5K86J!+)^VM,L5J1 M H'7:_L&XL"%=R*U'R_+2[Y*+8A<^*"XP1.Y7FL'!+4RA*WH17LD8G3B*$Z. M@1YQ>J(%X%-:,)$C*,I7Z,9TQ#O^C-N^'Y14CNMZ8_+'@_SQJ/S7N$9%'D!? MUHZMCZ52E@BU.\:!:ZY3$C\4?2O%C_;LMI6JJVIH4(RK*7FYO_,@]#6 M< Q=M.ASUTK:45OQLB0+?/MP$&]A>NM[^F\[FB DK-E>D[,#-[A.@$2:'.L= M.4J&ULQ5?=;]LV$/]7#M[6)8 BZ]M* MFAAPTG3K0]<@:=J'80^T=+:)2*)&TG:\OWY'2I:=U-&RH)$J\[]_=D7>^ M%O)!+1 U/)9%I2X&"ZWKL^%090LLF7)%C17MS(0LF:9/.1^J6B+++5-9# // M2X8EX]5@?&[_W7J:&W!%\XKM7>&HPG4R$>S,>'_&+@ M&8.PP$P;"8Q>*[S"HC""R(P_6YF#3J5AW%]OI;^WOI,O4Z;P2A1?>:X7%X-T M #G.V++0MV+]*[;^Q$9>)@IEG[!N:;T!9$NE1=DRDP4EKYHW>VSC\!J&H&4( MK-V-(FOE.Z;9^%R*-4A#3=+,PKIJNGRG1?9PS1CCZS*8%JN/SH29UAFF8M:(O&]'!"Z)#^"@JO5!P7>68/^4? MDIF=K<'6ULN@5^"DEBYX@0.!%X0]\L+.]]#*"U_R?<$DMK[?L VEFH:)E*R: MHUW_/IDJ+2EO_CCD?",[.BS;U-*9JEF&%P,J%H5RA8/QFQ_\Q'O;8WG461[U M21_?-24$8@860/A46] F)L>YWARRMU_BYP7"3!14H[R:@S:8MX7*_T(%FK9- M>K!J\^:'-/!';Q4HJUG4N^HBS21$6FJ]D(@GI_&"?Q",)(0\)T@2"$:N8%/*8TRXP;M(S_RCB%(W3 !*NX9$,G#OT64P4K5#OKJ)G16@O[]Z#((_^88C$*8V.2YYYZ9%)H A,F3A(U M^Q\(L#SG%CF29?#::FF4.ON(MWH5,*B%M$RDU1 LJZ=L.\,T*%$BT7,J)%Y9 MZME2+R6ZG6/?NB,1,E9DRX*9W],-L+HN-C;P%1 %+^W&K(&,A($TZ=&Z\-P: MMZ?2XJ[2XMZZZ+)QLD))IQ1,%)5%Z\"]R25R[KJQS-CYGG$)7UBQ1/6\.M4V M*0]59[\5MCJ-Y%4G>;_Z%,S;="=CD&5=Q=G68S?62,':17"I;)D_*?KUUE76 MNLIVKI[!YUT]MQW]6=XU7V%;C;=UUO8<^H8.34% MV' LN[\<\*;N_N MU??KO]L\W[G\4L.EUIJ<4E])?'<4=0TWH<83)6[BPY>&_2B*0VJEIZ[OO]!K MP^ 8DL0]3;]1^C3#?"?RC<(X=DEQ#\2C#N+1?X#X!J6][%89GDSMY>"?,>[5 M\QTPOOF_0+:G4Q*XT6F'<)1 %+EIL@787@B"M]W[(,C/B?J1'EF8 Y>6/3"G M'$30V04RDKX32 MZE R]%KS^F1HFW>3"K;=MV9F^_=T;._I=%AFK+F+F>PX? J(JLVK2HF"YZQI M8_0JK2)R\Q/QL.9,.;+'ME@JNONHXW]] ICP&(D25U@MT::1;V!-0M-%J5UG M"X<&J!4-AK71[] A;_)W3@$CPRD.L9/2]25RHB@EO J*Y-R!.59D8M%0LYQF M(FYNZ6:X ]]SO"2UK\CNZ(3G79C(7-AQ:U'<6F0M-@9Y<+FJ11 M&@+:GPFAMQ]&03>;C_\&4$L#!!0 ( "XXI%:;J"R@IP( /<% 9 M>&PO=V]R:W-H965TMB6Y6*+,]_@HBIPV2K^8$M'" M:R6DF06EM9M)&)JLQ(J9"[5!27\*I2MFR=3KT&PTLMR#*A'&430.*\9ED$[] MV5*G4U5;P24N-9BZJIA^6Z!0S2P8!KN#![XNK3L(T^F&K?$1[;?-4I,5]BPY MKU :KB1H+&;!?#A9C)R_=_C.L3%[>W"9K)1Z<<;7?!9$3A *S*QC8+1L\1:% M<$0DXU?'&?0A'7!_OV/_['.G7%;,X*T2SSRWY2RX#B#'@M7"/JCF"W;Y7#J^ M3 GCO]"TOLE- %EMK*HZ,"FHN&Q7]MK=PQ[@.CH"B#M ['6W@;S*3\RR=*I5 M ]IY$YO;^%0]FL1QZ8KR:#7]Y82SZ;.7C?GY?(N:J@"/)=-HX,,36PDT9]/0 M4A3G&V8=XZ)EC(\P)G"OI"T-W,D<\[_Q(:GK)<8[B8OX).%\HR\@B@<01W%R M@B_I4TX\7W*$[XYIR>7:P!)UFR[\F*^,U?1"?A[*MZ4;':9S73,Q&Y;A+*"V M,*BW&*3OWPW'T<<38D>]V-$I]O26B:P6S+]@5<"1G77LIGT, M#=(=99T2S($9*)2@?J9WPB784M6&R=R<3>"IU(CGU=X+ *H?%]#5K[,2;\6P M8(9GQ/]/W$Q51+$+3[/$6.*GHL'P*AZ,XQ&MH\%P-(:[HJ#^=E>3# >7\.A M H=[S5BA7ON18XB_EK;MR_ZTGVKSMIG_N+&ULC55M3]LP M$/XKIVQ"(#'R5DJ!ME);-FT?T%!AVX=I']SDVE@X=F8[E.[7[^RD64&EVA>_ MWCWWG'/W9+A6^M$4B!:>2R'-*"BLK:["T&0%ELRQ?WH^@#]7D>_=PA]?$]=F=<" M02VWA#? );Q,:][$W4?^(/Q^\@\%PE()ZE^';5UIM$W,_]!C6;IF.U3? M1->3+-,UG> S295!XX_C:U!;+M(HP7,?:LH$DQG"O>L8*G3/5]6&"L&<7,%7 MB1\LB0X\H*9N8UXYIBAQR ]7/9[-%Z!676H8+:%N& @W2 8WG?;>\[,&^*@QW%*1$T@"GDP8R M54O;B$EWVDGQI%&@?^:-CM^2A'!I0."27*.SB_, =*.-S<:JRNO10EE2-[\L MZ'>"VAG0_5(IN]VX -T/:OP74$L#!!0 ( "XXI%:#3'0P 0D #I= 9 M >&PO=V]R:W-H965T:X$V,@L$'.&FD^_ 'F'A88P]F.YLWB>VP_YT_S.)? M9H"3IS1[R.="%.SG(D[RT]&\*);'XW$>SL4BR(_2I4C*O]REV2(HRK?9_3A? M9B*8U8,6\=B<3)SQ(HB2T?2D_NPZFYZDJR*.$G&=L7RU6 39\[F(TZ?3D3%Z M^>!K=#\OJ@_&TY-E<"]N1/%]>9V5[\8;E5FT$$D>I0G+Q-WIZ,PXOO"M:D"] MQ8](/.6MUZRR:%?/3D3=B,W$7K.+B:_KTEV@,V95>F,9Y_9,] M-=M.1BQ6Y*%\$R8Q]CH+;*(Z*2.0O6\U84+#6X.J(L*\B7&59E-RS\R"/ MEB2J4<=@$?+X.V-P3 M\-DR.V(3\STS)R;?,?P"'WXIPB/&C7JX*0\?E[MNL__,S?XS:SV^+YQZ+QWO M\K$>:.T>6"W/XWP9A.)T5*Z_7&2/8C3]_3?#F?RQRQ61F.21;SQR3'UZE2;B MN4RZ[*$\K41)7F2K.DEVF5XK.;52=0IYG'+'\$[&CVTSW8TLP]YL(\5H;6*T MT!@_1DF0A%$0LZ#)VX+=5>GY6*7GKDC7>G8K",?U7Q8+*C TR8C$)*_.QJNCNI <2H]$8I)'=^/1)4Y2MY.DMF5[ M#M]*4G1:15/>QI2'FJH/W(?S('PHOQ1NJF^ ^HMBEQM4:.B!)!*3//L;S[YJ MLOJ4'HG$)(_&!-!@0IRNC:"=JE41AM"QM[4U77&'P__$ZT,<$]#$-Y7(%*?-0 MJR%9]5U140CHD3SM^KM!"SM>!U%H4B7[^.$G96 MET/955VDR=E=FK%/,Y$445CN@Z:4]_:S>!0Q,]ZQ_UJEN_=2X>\]%/%V[B4B M%&IVIPZP,@&L3$MY,9 R%96:[!.8RL3+2$/J=XU4>QGL*.#A$ZH: G@R<7CZ M,TR3=!&%;"YF]Z)*]J<@F['RTR(+PCW&NO@TV7:E YU,0"?31=.Q567?G9.D MW$2E)IL%;C+QJI'2(?3Z#Z$.2C*!DDRHAO-+(X@M#GQ.54_ 9!QGLE=?' ,JTWCH@Y-'2[>N MU:[CRHN$E-^HU&2?P&^\7@'9XP. M=N7 KERYI\E)$9)*3;Y.!!#2HNYJ6MVNYO;*P.=4]02X:.&X^.HKXX R/Q[R MT*2A4I-W,+"KI=Q#M4C1D4I-]@GH:%'W4*UN#[6S.'1@HM6Z,@S'Q%=?' -#F:U@%DMY9ZM1%.Q+,1<9^W);S1+RZG6.H [MLP"X;QRX-9^'#F@-X7(.30P?H MV0!ZMG(_UR;E+2HUV6?KK@"\1CB<0^QN5W?G=>3XQ*K& +!L'+#T+(,!;0 \ MOL%IH@/M;$ [&^\G8\N!%,>HU&2?@&,V7A946 [=1O*NR]3Q>55] 7[9.'[I M60W]]7X\K,')H8/Z'* ^1[EA[) VC*G49)] @0YUP]CI-HQW7?R.SZOJ"X#/ MP8%/TU="3V$?#VIP:NB 2P?@TE%N!SND^$>E)OL$_'.HV\%.MQV\ZY)Z?%Y5 M7X![#HY[>I; 15\/*[!V:'E[M+6[:7J]Y?2WF"J@_H[P.*?51JM>_H_/JNH*&,_%&>][DN[+>?X+M7E\UJ%'GDI-WD? BZYRH]8EA3HJ-=DG M0)U+]TP.M[]%B\^FZ@;0S<713:6LZ_9?RX?/JNH*P,W%^Z)]E7F7E*^HU&2S MP%-!3[JEZ MI 1'I2;[;#W3C;JGZO7?G(O/J>H):,W#:8TFW0^HF^-Q#,X$'3SH P_ZR@U4 MGY3^_XQ:?4]434)J/4QI-QA]0),?C&)P).CC0!P[TE?NE M/BFZ4:G)/@'=?.I^:2/H8!E/BFGCUH.MJZ>*7P79?93D+!9WI?SDJ*IY9>L' M=:_?%.FR?M;U;5H4Z:)^.1?!3&35!N7?[]*T>'E3/3Y[\[CTZ?]02P,$% M @ +CBD5B7\F$)O P 9PT !D !X;"]W;W)K&ULM5?;;MLX$/V5@5H4+9!$-\M.4MN 8[6[ 5ILT&QW'Q9]H*6Q150279*R MVWY]AY2CV(ZBU('WQ18IGC-S#F^CX5K(KRI#U/"]R$LUNJY(,"Z;. MQ!)+>C,7LF":FG+AJJ5$EEI0D;N!Y_7=@O'2&0]MWXT<#T6E4%EHJ+$B3.1\[$OXQ] MSP#LB'\XKM76,Q@I,R&^FL9U.G(\DQ'FF&A#P>AOA5/,<\-$>7S;D#I-3 /< M?KYC?V_%DY@94S@5^;\\U=G(.7<@Q3FK1 M4BDMB@V8,BAX6?^S[QLCM@#^8X!@ PCV ;U' .$&$/XNH+*KUB.I58GP,H4 MKLL5*EV8#G@=HV8\5V_@%#[?QO#ZY1MX";R$OS-1*1JMAJZF? RKFVQB7]6Q M@T=BA_!1E#I3\*Y,,=W%NZ2C$1/$+?E,?P<>6GC0 M H^[X3$F9Q#Z;? =-6$S-:'E"SNFQL[#_NS ?Q]H*%QK+-27-MMKWEX[KSE) M+M62)3ARZ*A0*%?HC%^]\/O>VS;/CDD6'XELQ\]>XV>OBYWF9Z9!85))KCF: M-;ZB%.: 78V]H;O: M-J\SHT/-ZPJWXTC4.!)U.C*]EP=T!O/[_=ZFMN:*.M1&3_D1=^;SS/GO-VK[ MG6K_D$8G78XY_XDI+.A2M++-Q(.8/R6__Z3\AR-\_WS/@,X4GVG H#%@<(@! M9MKQ$ <&3SHP>+ _*BWYT!GCL]TX+QQX+S3@;]TAA*FE92D$2:DOUUI)\NA M!^@QR>(CD>VX=]&X=_$_74@7Q_3SF&3QDZDUG+*>["_>E%TL;<)NV,>:E!+S+ ?[%\\[E8%6J!02*J M4M?U6]/;?"U,;(V\UW_E7T[KFO^>IOX$^&PO=V]R:W-H965T0RS/66O?$N( +^2..5S8RM$]MDT>;@E">:W-".I_&=-68*%/&4; MDV>,X%7IE,0FLBS/3'"4&HM9^=LC6\QH+N(H)8\,\#Q),'N[)S'=SPUHO/_P M/=IL1?&#N9AE>$.>B/B1/3)Y9M8HJR@A*8]H"AA9SXT[^'F)@L*AM/@W(GM^ M= R*4%XH?2U.OJ[FAE4P(C$)10&!Y=>.+$D<%TB2Q\\*U*BO63@>'[^C?RF# ME\&\8$Z6-/XO6HGMW/ -L")KG,?B.]W_1:J W (OI#$O/\&^LK4,$.9 ML6+JCMKLILU>G$-4I1"6>/8CW M(L 3"7,6B8C('-SM9,3X)283V683+E.CBO$ ZJA!B^[]S#,#!RRN]BM5DMY 7=%UYQW;'U!5FOA6X M06W6(N74I!PMJ6^R5-]DH[!7N11&*1[^((>E.K>\=59OYTZ(Y/:XY3+<=_:#H)S^,Y[=]+S[;LH,-38>8Z$$[5 M//V:IZ_E^4P%CE6L_-[E?,<.8#=["C/70:ZE9A74K +]':8LHPP+ N[IP**L M!;ATP1H)K!4KM)JA9UUCR:Y01TK!6&CM'!P-?CA&3UW5=PF:Z0NWP6OQ-T\U$$):<9(KZZ[CONDZW@51V4\=Q!CH(-G,0Z@?A'>=$ M3.YQ^$I61]6EY*I%NKB21D)KQ]V,6NA=V2[1OACP_&*K09HQ#_1P_OY<4,QKY?E=M*,QLV[4')CEL1CG4S_)G MN2/E.7L#]U$Y7*U$J-BW,P$EH[ M!XWD0*,\.D!])>&A[H9<:32T6#9B ^G%QA/=$4:B3:JIRE'5QEAH[7@;M8&N MHC;0J&IC++1V#AJU@?1JX_Q!'O0?3P:NTRU,E56O,LVCQ_3%.Y)OF&VBE(.8 MK*6;=3N5A&PO=V]R:W-H965T M&)O8ALMU^N$K&\*:R!+F06\.#-;N2JO]L?>W1D]9_K68*U6B[XLD+:YZ\[)< MOAT,BNE<+:+B3;94J?[F(M?X[8T,JP'U'7_'ZJEHO$?55.ZS[&MU\7YVU0NJ MB%2BIF5E(M(O:W6KDJ2RI./XMC7:V_FL!C;?_[#^KIZ\GLQ]5*C;+/DGGI7S MJU[80S/U$*V2\E/V]*?:3HA7]J994M1_T=/VWJ"'IJNBS!;;P3J"19QN7J/O MVX5H#"#$,H!L!Y Z[HVC.LJ[J(S&HSQ[0GEUM[96O:FG6H_6P<5IE95)F>MO M8SVN'-]&Q?PUJOZBW[^MXG64J+0L7J,HG:'WZ5H5Y:+Z /719),WE#V@ZW44 M)]%]HOIZ6_0G>LS>O2_O5*EO*%ZA%RA.T>=YMBJTO6(T*'7$E=_!=!O=S28Z M8HGN>IF_00%YC4A */HRN4,O7[S:-S/0$][-FNQF36J[U&+W3MV7:**FJSPN M8Z6GNS^C0L^H+=B-4=9NM*J?M\4RFJJKGBZ00N5KU1O_^@L6P6^.D.DN9.JR M/KY>9'D9_ZMF:)H595MTF_&B'E\5XWHLAD,BR6BP;O'+=GZ9T^\?>584:)7J MDD]J]X^ZU%M3N;'#&_X)H1;O?.>='^<]T=>JU3TWW/<)EL(2@-@%()P!O(OB M'.FJ6+5N"&'X%'(HF<6GW/F43I^W6;[,\JA4Z":SE(W3P(D[,=R%%_HHGM!# MR,-=R,,SLC@TLL@9#P5MSR(. *W!,7E$_Z';59YK1*)KO8G+=AXZ39ZX3+CQ M:X!]Y'9K]<)1 \VQD[P=V+@UT,PQ%I13:09P8S>YCZ@O$^-8$$N)$8 X<4/\ MB!+;6MHK,2PPM2P" 2H3)S\/U-AV\!Y80LZ9;>J-)OD 5JLJZM]$TZ]ZVK!I M6V/PT1H3H#"A7OIY)]M/C1KH3=ST/I!6$]B<828L605@$S>P+5GMU)VX39^Z M8 !](KRDV0?S"3"?N-OYP_3<&MBK8!)@6ZJ!V\3-[>[P)":_+3_1!-!-CD2W M@YPFN_O2]N-!@=W4S6YW@5$3UQ03P2U>@=;436M[@75K4=SF3Y49@/K4BS9" MO8@C#77D;'G$[+\)'0:V= /%Z:4$$FH2'6/+?R 4>$XO)I'0%HT$8V:K,^ R M/4 MHY50D]0"8VP3&0'5S(WJ_61V:D;<%D]<)P:89UZD$N:#[@SHSLZ52I@IE80B ML&"* :#9I8029H+:THNPAHA],:&$M0@EF%MZ,0:89N?H),PD<\AL#1 #,#,W MF(VJZM:!N*V>ND&F$H(%9K;\ ISYI900WED)X0!H?C$EA+S<3+K-GKI60';!O638!]]%X]2)NW$_3$K1HJH$H>69 MCP!$"S>BNX-2F*BV80HP+8[$M!V4PN1T'Q-++RL U>(<]4.T/&.TEI8$.DLW MG3^LTG@:+Z/$<>#'A]@A@>32B]@A?=!= MVENT%W)U.:0H>P;2 );)9N-O^4 MRT[-I-ODJA1 MP9LJ;?GF,/7FHLR6]0'F^ZPLLT7]=JZBF&ULM9IM;]LV$,>_"N$50PLDM?@DRYUC( _K5F %@J;I7C,V8PN5 M1)>BG7:??I2LBLI$>3]=#YK]B3DUW+-N0+?\ZPH+T9KI3;O MQN-RL>8Y*]^*#2_TE4/%Z!*^NZ)QU:&^XTO*G\K.,:BF\B#$UZKQ87DQBBI%/.,+59E@ M^FO'KWF659:TCF^-T5$[9M6Q>_S3^OMZ\GHR#ZSDUR+[.UVJ]<4H&8$E?V3; M3'T23W_R9D*TLK<065E_@J?FWF@$%MM2B;SIK!7D:;'_9M\;1W0Z(.3H@)H. MJ-:]'ZA6><,4F\^D> *RNEM;JP[JJ=:]M;BTJ%;E3DE]-=7]U/R:E>LS4'V" MW[]MTQW+>*'*,\"*)?A0['BI\NH$. =_2%&6X+[0:Y^E__ E^$NW>5G?^9ZE M$GQAV5:W]4X!ESN69NPAX^>Z=7ZGC3XS]OJ&*WU#^0:\ FD!/J_%MM1FRME8 MZ2E5PL:+1O[57CYRR+_]D6DT MF4;4/G+2CIP$C-QCB4U 8IDZG,3(+F#:"IAZ!5P+N1%2NQM<"0=XO :.C&48 M&2Q'0P"HL7IBU9V'"3PU@QJ+W05.X!1#^_I" W#HA>T+,-08?LZA:.H(-FCX M#,,!'1KXC 0M;,8:" X@ M00-GZ*?S 4B"%ASK+4M=>];P&/J!?*E'5.=7;/%5CV^"WZK!:^G80#?\ALD@ M>/(^%HY5;: /_=0_!D_3WEIK%KA@@ S?D9?$+\!38_@_3T1'\"&#;A2.[E 2 MH#Z[,9HD+BV=Y/M@=@=+LL$[GCA2-V3@C?SP#F$3ZL.:X$GBP (RK$9^5A^ M)F1E\]21+2 O0_:-9CEUOY URE668?V6O@R-!&!M\H'N0'F_>A<*QJ WSD M!_X10$+]C)PD$Q>/#-"1/R-_ 8\L&3J$$X<@PVH4SNK@X._#.B&NQS(VK,8' MLSI4$;; &E*'<["!-?;#.H1&N ]GB#%RD! ;.&,_G ^@$;; &$TQ\"QZHVA,?A=9+0\E$_%X\<:VLXC@\N MDH2JZ6?E+C6&SSBT7B3LBGE#:'PPH8,E61'M\HY!-/8C.HA"EOS9 M[0UBF$S\3#Z 0L3&8-?LB6$P\3/X3NRXY.FJ<(/(;^'(D":&U&20(C89HHI- M#-W)R>O8I)]XNY:W4\4>K(S=S\%=:@R=R>FKV*2/9SBECJ7D=FUBH[':&@3(Y62&;V"#LG+R!,/%#^..V2!?I1JMP8VB(4C8U MJ*:#E++I$*5L:O!.3U[*IOV,.W8M,#44IT,5LJDE_7;\N4<-GNGIJ]@TF,_4 M\)D.5L"FP8"FG7\97UZ[IGT@N_>'X3$]6>&ZL13[-L2X\RY!]5[&1R97:5'J M/?>H.T5O)UJ^W+_JL&\HL:E?+W@02HF\/EQSMN2RND%??Q1"_6Q4;RRT+YS, M_P502P,$% @ +CBD5DJW?.W#!0 1B( !D !X;"]W;W)K&ULM=KO;]HX& ?P?\7BIM,FE1'_3-A1I/[8M+VH5*W;G>ZE M"Z9$"PF+#:S__3F!\5 Y?A15QYN6 'Z^=H@_."&3757_L$MC'/FU*DI[.5@Z MM_XP&MG9TJRT?5^M3>E?653U2CN_63^-[+HV>MXV6A4CEB1JM-)Y.9A.VN?N MZ^FDVK@B+\U]3>QFM=+U\[4IJMWE@ Y^/_$U?UJZYHG1=++63^;!N._K^]IO MC8Y5YOG*E#:O2E*;Q>7@BGZX5KQIT+[C[]SL[,ECT@SEL:I^-!M?YI>#I.F1 M*/?U3^U@_>#>=36W%3%/_G<+2\' MV8#,S4)O"O>UVGTVAP')IMZL*FS[E^P.[TT&9+:QKEH=&OL>K/)R_U__.NR( MDP:,11JP0P/6]GL?U/;R5CL]G=35CM3-NWVUYD$[U+:U[UQ>-I_*@ZO]J[EO MYZ8WVBXO2/.7?/RYR;>Z,*6S%T27<_*EW!KK5LT39$@^+A:FW87D3KM-G;MG MXA.-)=6"7&UU7NC'P@S]<3)\\$5>-'Y[:YQ_@WU'WI"\)-^6U<;Z #L9.3^$ MIB.CV:&[U_ONLDAWK];U>Y*P"\(2QLGWAUOR]LV[EV5&?@\<=P,[[@;6UN61 MNK?FT9$',VO&E1L__IFL'TSS^H M2OY"NLR/7>98]6EAK"5NJ4M"R;/1=5?_]A546Z&9G]LIHRI-^&2T[4@6QV2! M)M,A(__ZQ,[/;]]4GD32E%-!NR/E,5*BD6S(XY$RC/3[.,VZ(]4Q4J&1?"CB MD2J(S+(TBPPR/2:F:*(8RGAB&B:RC++NQ.R8F*&).CX%C M-/"3SFOBD=ET3J=QD*C2<2HB@Z0)&)>@J3=5O:YJCQ6YKF+LH!5>.97IB<+T M'/XKNIG\EU7A3=8T4+O'9&@YAL?!:'SJ$G M!STYOOCL=9Z6A L'(2-?X1P(Y#B!*$.\PSY_&$4R@3Z.TXP(_C^*$6\=[X<<"/X_CA M%O&.=2"EL=-2#@)R7,"K)U/.GN.G:WCSU\YIH))GYY"(G\-/#GYR?,792Z+P M'+PY78LL[ 4H*' %\6M&(7^1XU: ?0*W#W5(A/;% @$^@<.'&B1"^&*!@)[ MT4/]$2%ZL<"3RWXX>*@](@0O%@C8"1P[W![1<=T/.51!/(&+]U!M36WRIS+. M#U[AE1-9@(XB/0<_XAQH"D!3X.O+/OR(\&P[=A0!>P)G#Z1)9 $[R3N'^P_7^IH7]AJO6[8T"CY5SU:I]N#1Z;NKF#?[U156YWQO-O0?'6T>F M_P%02P,$% @ +CBD5@IQ C&2 @ X08 !D !X;"]W;W)K&ULK55=;YLP%/TK%JNF5EK#-Z0=06H33>O#I*I9UX=I#P[< M!*O&9K8)[;^?#131E&9[V OXXYYSS[G&EZ3AXE$6 H]E93)A54H55W:MLP* M*+&<\0J8WMER46*EIV)GRTH SEM026W/<2*[Q(19:=*NW8HTX;6BA,&M0+(N M2RR>KX'R9F&YULO"'=D5RBS8:5+A':Q!W5>W0L_L@24G)3!).$,"M@OKRKU< M1B:^#?A!H)&C,3).-IP_FLE-OK <(P@H9,HP8/W:PQ(H-41:QN^>TQI2&N!X M_,+^I?6NO6RPA"6G#R17Q<*:6RB'+:ZINN/-5^C]A(8OXU2V3]1TL;%OH:R6 MBI<]6"LH">O>^*FOPPC@!N\ O![@_2O [P%^:[13UMI:88731/ &"1.MVX5D+O$HU3Z0W; U-<$)#H'*WU1Y+7%!#?HO'.Z0H4)E2>Z9C[ M]0J=GIRA$T08^E[P6F*6R\166HWAM+,^\W67V7LG\U4E9LCQ/B'/\?P)^/(X M? 79#/EN"_=>PVU=@Z$0WE (K^7S_U*(9[0B,J-S^V,!'EQJ.H5]J"05MP5-N#[@+GA)U7@F<@)]5U M!.$HKQO,+P[$O0VZ<*)I:>$@+3PJ[0MA1-^\'.TXG[X!X9NDP=SUYP?2)J(N MYF$P+2X:Q$5'Q8VN[Y2RZ,U9N5[L!O&!M*DP+Y@?GJD]:D"F^7_#8D>81!2V M&NC,8FU.= VUFRA>M3UIPY7N<.VPT/\@$"9 [V\Y5R\3T^:&OUKZ!U!+ P04 M " N.*16I1;Y#^\$ #('@ &0 'AL+W=O#, M=IJKM \_8R@$XKB'Y+UI _'S?^S?X]C\\>) Z#>68LS!]R(OV=)*.=]=V3:+ M4UP@=DEVN!3?; @M$!>7=&NS'<4HD4%%;KN.X]L%RDIKM9#W'NAJ0?8\STK\ M0 ';%P6B+SE!:W7&X_9-N75#7NUV*$M?L+\\^Z!BBN[54FR I+.TKN%5Y#I5@&SQ5X8/[.@SJ(:R)N1;=?$Q65I.U2.\:W.,\K M)=&/?QI1J\U9!1Y_?E7_30Y>#&:-&+XE^9G2FED@P1NTS_DC.?R.FP%- M*[V8Y$S^!8>ZK>]:(-XS3HHF6/2@R,KZ/_K>@#@*@+,S 6X3X X"W,F9 *\) M\(8!Y[HT:0(FPX#IF8!I$R"';M=CE^!"Q-%J0]L+GH1Z5FQTW.FSJG>R8G!/>DY"D#49G@1!%_JX_W-/&V&'\+P7V% M<.-J!4,<7P(/7@#7<6$[:E7']#K7.WH)'%?J>.#S4PC>O_N@D E_1,:3,JY& M)OKQ49V1Z='RVBGC25U//V6^7J\9I^*'_K=J!M02$[5$M?I=L1V*\=(2RQO# M]!E;*T'==Y3438J%)L4B0V*].DS:.DQTZJL_=[CZQ99;D%<5N0 Q85Q5"ZW, MV%K48KX4JW:AYY7KS=V%_7S,6-'(=>?]1I&A;O7835MVTW'L=NA%;']B;;@(\<%4ZZC@4F2)L5"DV*1 M(;%>=69M=69CU@* 1+'4"X%69VPQ9J=S-@C\P8\\-)DRFITLRU[@S[K%NX=O MWN*;C\*79VB=Y1E_41'42HTE.#\E.)_Z_H"@R921*F4P/4,0.MU#N&..H5YK M+,1&S7^#HM&DD3+I>8Y'9@9J.7Z1OA G #T+H%L,DHS%9%]R(/!B)4RMX&B8 MM=K\:%S.I>-Y0Y@FDT9O)NW#=#N8[CB8%%=O'KI9RC$ME$RUNJ.9ZGL9@!>, M* ,!*&I3Z(,$O:B6[]!HOZ(?[-?\M5]PINA8OS2= X-:8[%Z(GN>K@DE^VUZ M >[%CH7B="^V+?6^I5<;71"C=LRH6F1*K5^7SI'!R?_UH >-NC2C:J%1MNOW*&P>6N?B.8]B!/[5O>ZY@:=&S)_V%_-;?;K1J$VJ1:;4^J@[ MDPCU+O&3V" V0B;6,HW14K$>@GHU.NHAP(C;M$A\NY%[]9BGTFE--)8PZ2Z-JD2FU?B4Z:S1MDVHA/+69*MJ&>T2W6&ULA95K;YLP%(;_BL6JJ96V @ZW= E2+ZHZ:56C M7K8/TSXXR2%8-9C9)FG__6Q#6;:X23X$W\[[O,?@X\F&BV=9 BCT4K%:3KU2 MJ>;,]^6BA(K(4]Y K6<*+BJB=%>L?-D(($L;5#$?!T'B5X367CZQ8S.13WBK M&*UA)I!LJXJ(UPM@?#/U0N]MX)ZN2F4&_'S2D!4\@'IJ9D+W_$%E22NH)>4U M$E!,O?/P["(,3(!=\9W"1FZUD4EESOFSZ7Q=3KW . (&"V4DB'ZLX1(8,TK: MQ^]>U!N8)G"[_:9^;9/7RYJ$E%*1EZIYO;J!/*#9Z"\ZD M_4>;?FW@H44K%:_Z8.V@HG7W)"_]1FP%8/Q. .X#L/7=@:S+*Z)(/A%\@X19 MK=5,PZ9JH[4Y6INW\J"$GJ4Z3N7?0*2-.48 _(1S@$7IZN$+'1R?_RO@ZRR%5/*2*K>YH?ZH_S^=2 M"?TU_')9ZR0BMX0Y(F>R(0N8>OH,2!!K\/*/'\(D^++'X&@P.-JGGM^#.49F M=WF!"BH7A-D].D]Q%DW\M8,?#?QH+U^S(A>KBXJW6?$H<+/B M@14?8L4N5KS#BJ,T=;.2@94<8B4N5K+#BC .W:QT8*6'6*F+E>ZP1FF8N%G9 MP,H.L3(7*]ME15'F9HT'UG@OZ[$$7?0+!<)%'.\00YPF8SC*=M=1O+&EJK#H19H.<+SM5;QU3?X?+,_P!02P,$% @ +CBD5G ],?UF @ K 4 M !D !X;"]W;W)K&ULE51M;],P$/XKIS"A(<&2 M.FT8(XVTKKQ]F#1M##X@/KC)M;'FV,%VF_'O\4L:"LJ*^!+?V?<\?N[BN[R3 MZD'7B 8>&R[T/*J-:2_B6)C2IRN36<";Q1H+=-0]7/!7+9S:-)M-^X99O:N(VXR%NZP3LT]^V- MLEX\L%2L0:&9%*!P/8\N)Q>+S,7[@"\,.WU@@\MD)>6#XVEQ75>"7Y5U:9>AZ=1U#AFFZYN97= M1^SSF3F^4G+MO]"%V'0:0;G51C8]V"IHF @K?>SK< @Y D Z0'$ZPX7>95+ M:FB1*]F!:BDKGL;'7N."X["D7@9(\09G"M12FUO!.5%C]B8^MO$$CV6M]%^Y?[N5]FO_/YMDR=LC,J>#S.DQ]F)!.14E M4@U[#$$IL5*D@GOB!D M3&X@S#RA:\M=0:8D2Y,\WHT(F0U"9D>%V +91RX '\N:B@V"H@8AV*/O)-#- M#F2\FIV_&1>1#2*R_ZB&?1J,0_\TQB1D8Y5(II._1,0''=2@VO@YH:&46V%" M,PV[PRBZ#!WX.SS,L6NJ-DQHX+BVT.3LM[.VXQ25 M"[#G:RG-WG$7# .Z^ 502P,$% @ +CBD5OUE4CCV!0 QB4 !D !X M;"]W;W)K&ULU5K_;^(V%/]7+'::[B1:8CL0Z"@2 M1]>MTFX[]7HW3=-^7 E*HGQ0 M$O>0YPUZ"6%I9S+.O_LH)F.^5C%+Z4-F!G9I/QBBSH)ZH^KSX*?=4K42*6T%0RG@)!YY>=*;R8^5XV(+?XPNBCW/H,,E?N M.?^:7=Q$EQTO8T1C&JH,@NA_#W1&XSA#TCS^+D [Y9S9P.W/+^C7N?/:F7LB MZ8S'O[-(+2\[PPZ(Z)RL8W7+'W^FA4/]#"_DLIR4VJ2+I@]S$%4RFIDN#M%56$Q?(=. .?/UV!MV_>@3> MI>!NR=>2I)$<]Y2>.1O?"XM9WF]F00VS3%?B''BH"Y"'L&7XS#W\BH;G ,-\ M.*H.[VE_2Z=1Z33*\7 3'I-*L/MUOI#RE2N[X(H^Z$6]HA&XH^$RY3%?/)<_ MSO),4 %F/%5"KST)IFD$;FE,,A"Y9"MM]9M::I-:2+NY[9T@D=Z">GO:XKK-**AYH9_+]=W#@_6"+9DM@E=CB,K;8A3[Y27 IP8P( M\0H6:UYF& ?COKCWL.V)_NL*A3]DJ+OI#@-PW6RUIG3 MN9XF7"CV3YY%&\T-4G^+P!E"0;:(*SQM9C 80CO1?DFT[R3ZJR[C^R/9K\T- MH1^@'886*^1#WTYP4!(<.#?2-4N9HF>_Z$H_UEERZ/_6T\8M1G;EL JL86> M41E>*UVA@-E>SFCHP6!GT>\UJ]+<$D.PME'?;3;9RU6T$,!;N!HQ #$KZA!0*7Z9 MR2_)\@OH4QBOHXP_2\]6@H=4[_Q]AU/N68].XBF.4+!12-BMD%YA,\&MRJBV MT*KQ-3(*MR&CL$4@64YEW7-]JR]&;V'W Z[_ME;B5C5;6VC5T&T]OG(_O[JE MV[=1!>0N=(E*Z_:UWJDU?GZR8W%^5.('-^('-_]G.BP)ER #/8T M8?=*RW#\H]+ MJN64R ST[W/.UK6Y%]02P,$% @ +CBD5O8V54.R @ ?@8 M !D !X;"]W;W)K&ULA57=;YLP$/]73JR:6FDM ME'S0=00I:5=M#]6B9ET?ICTX< &KQF:V">U_/]LD-%LI>P';W/T^SO81-T(^ MJ@)1PU/)N)IYA=;5I>^KM,"2J#-1(3=?-D*61)NIS'U522292RJ9'P;!U"\) MY5X2N[6E3&)1:T8Y+B6HNBR)?%X@$\W,._?V"W2T1*YHH*#Q,W,FY]?+B(;[P)^4&S4P1BLD[40CW;R-9MY@16$#%-M$8AY M;?$*&;- 1L;O':;74=K$P_$>_<9Y-U[61.&58 \TT\7,N_ @PPVIF;X3S1?< M^9E8O%0PY9[0M+'11P_26FE1[I*-@I+R]DV>=G4X2 C#-Q+"74+H=+=$3N4U MT22)I6A VFB#9@?.JLLVXBBWF[+2TGRE)D\G#T1*PO4S?%LSFA-;*06G<%40 MGJ,"RJ$WXO@:-:'L!(YLR/="U(KP3,6^-IHLLI_N^!%@L\\ MP^SO?-]XZ0R%>T.+9K*FC#X>2<8 W-N&A/VJZ\L+=NXG\U>Q4M5 MD11GGKEK"N46O>3]N_-I\&G R[CS,AY"3Q:84\XIS\V!9H2GV">PA9@Z"'NU MM\EX%$UB?]M#/.F()X/$IEY;JMP),OT$FK9LU!XTI6K,(*NEE:4+A HE%5F? MLI9C]3,GVEY/0BO.B7$G52 MHD$IYB+\9V>BUSL31.-_6/V#GE"BS%WG4Y"*FNNV/72K77.=MSWE);SMS+=$ MFO.B@.'&I 9GD3$LVV[73K2H7(=9"VWZE1L6Y@>!T@:8[QLA]'YB";I?3O(' M4$L#!!0 ( "XXI%9' %]L%0( $$$ 9 >&PO=V]R:W-H965T;)E@!(GBNI;$I+Q'K!F,U+J+@= MZ1J4.SEH4W%TH3DR6QO@10!5DL51-&<5%XIF2=C;FBS1#4JA8&N(;:J*FS\K MD+I-Z9B^;#R(8XE^@V5)S8^P WRLM\9%;& I1 7*"JV(@4-*E^/%:N+S0\)W M :T]6Q/?R5[K)Q]\*5(:>4$@(4?/P-WK!&N0TA,Y&;][3CJ4],#S]0O[I]"[ MZV7/+:RU_"$*+%-Z1TD!!]Y(?-#M9^C[F7F^7$L;GJ3M .'X%$/> ..CN"@65&XX\2XQNB?'9CLTO0JL![<0)Y3_*#HT[ M%0Z'V5I7E4!WRTBX*LA:*Q3J""H78,GU!I +:6_(%1&*?"MU8UV631BZTIZ MY7V955,\\.N2^*[(]'(1/Q<+6_,<4NJ,;\&<@&;OWXWGT<8L^^-FC1:7>R2=V8O'0>(]H48"[>D,VP6HZV"2O49GN; LW8R#\0GN_* UO@3>=\-? M(_L+4$L#!!0 ( "XXI%;F9Z*160( *H% 9 >&PO=V]R:W-H965T M^O82@>42FHT7EH##M>S9'XZ M69P%_^CP3>+&[ZTA*%E9^Q",ZVJ69($0*BPI( C^/>(E*A6 F,:O+68RI R! M^^L=^J>HG;6LA,=+J[[+BII9\CZ!"M>B4W1G-U>XU1,)EE;Y^(5-[WO!&\&2TLHM08S>2D M"8]R3XY/)<=1L40G'T6X&;@VGES'%TX>WBR1A%3^[30ESA)\TW*+N.@1\Q<0 M1W!C#34>/IH*J[_C4V8W4,QW%!?Y4BQ%G"W>'1/6)2O'YU>IY].,)Y M/' >1_31OSV3,-5 ?A[J6Y)$#TOI2V5]QSS@QV>&@FM"[7\>4C7^#ZK.!E5G M1U_B#L/8".2YO3HGZ1GL&GC2<"\9KG[GT)3/W&0[\5R870MD#Y;E\5PCT+$L M#]%.]_I'HZOCE/!0VLY0WTK#[C"(YGW__7'OI]B-&ULK=UK;YM8 M'L?QMX*\HU5'RM8&7^)TDDAM,'>;VW1WJ]4^( E-T-B0 =)T]M4O./B"@ZFI MOD]:FW ^!W-.?@X'_>W+ER3](WL,PUSXOEK&V57O,<^?/O3[V=UCN JR]\E3 M&!<_^9JDJR OGJ8/_>PI#8/[=:/5LB\-!I/^*HCBWO7E>IN37E\FS_DRBD,G M%;+GU2I(__H4+I.7JY[8VVSPHH?'O-S0O[Y\"AY"/\P_/SEI\:R_5>ZC51AG M41(+:?CUJO=1_.!+X[+!>H]_1N%+MO=8*%_*;9+\43[1[Z]Z@_*(PF5XEY=$ M4/SW+;P)E\M2*H[CSPKM;?LL&^X_WNC*^L47+^8VR,*;9/FOZ#Y_O.I->\)] M^#5X7N9>\J*%U0M:'^!=LLS6_PHOU;Z#GG#WG.7)JFI<',$JBE__#[Y7)V*O M@20=:2!5#:13&PRK!L-3&XRJ!J/#!L,C#<95@_&I/4RJ!I-3&YQ7#-H,NGCSJXF;8Q9/'7=P,O'CRR(N;H1??C/W1H=P,OK@>_?[K;^_Z M5U\.\N#Z,DU>A+3CV+TI&S^/$I?2\, MI#-!&DA#8?;9$]Y5+_77!NRF"_;9EX5WOS0Q==F./371$GCVGB3 /5[=A6KS'/!=O,E%8 MI'*YN2F+6['RVN!#]A3]XH__+$R_A;WK\D4/?FO*8A*326Q&8@J)J22F MD9A.8@:)F21FD=B'VQP?KO7ACR\F_F,5/Q/T M/%QE_VW*\"&9X20FD]B,Q!024TE,(S&=Q P2,TG,(K$YB2U(S"8QA\1<$O-( MS(>P6H:/MAD^:OU;?'_=YVNU[G.W6?=I2O)7KEQB++QR9?W;]5 :#P:7_6_[ M&?VZVV1_K_%8NJCO);<>6]?P)3&%Q%02TTA,)S&#Q,R&>389# [GF?5VGDU& MXOFHOM>B?D05LO+\38OQZUY>?,8Q<&9\.4YB 4OC%=1 M?!LUQ62KTO4/7A*326Q&8@J)J22FD9A.8@:)F21FD=B7!1*I/=S4A,(3&5Q#02TU\Q M43P^1@;9GTEBUMOY=3X1#U;.YF2/"Q*S2P6H:+@VV(EW>GR66*=J]KF%?:_H7D='0Q M/5BKJ/;:OX,N-ES(S-!C4U!-134-U714,U#-1#6K8;Y=C*8'\VC>--^F;^?; M CTV&]4<5'-1S4,UG]+J";I7K2BV)J@1/ 5QX0I?PK@Q,%N;=PY,4I-1;89J M"JJIJ*:AFHYJ!JJ9J&:AVAS5%JAFHYJ#:BZJ>:CF4UH]S*5=F$O4HH:(UORA MFHQJ,U134$U%-0W5=%0S4,U$-0O5YJBV0#4;U1Q4<.$<]!N753S4,VGM'J&[JKPRL^Q:LG0SW%4 M?HR2663H?;(Z$YSD.3[RR42M4.?P)#49U6:HIJ":BFH:JNFH9J":B6H6JLU1 M;8%J-JHYJ.:BFH=J/J758WU7+"B.L24/M&(0U614FZ&:@FHJJFFHIJ.:@6HF MJEFH-D>U!:K9J.:@FHMJ'JKYE%;/]5T-H=A:WO(32QYH+6&EU98\AN+P<,D# MK1)$-075U$H3I;T3,AQ-Q_43HJ&=ZJAFH)J):E;3=!,G;Q8\T/H^5+-1S6F> M;J.#Z>:BG7JHYE-:/3]W]7MB>P&?]AP_!.E?9^5'34=QWIB8:,T>JLFH-D,U M!=545--034Y[M"0W&*K7.@18>H M)J/:#-445%-134,U'=4,5#-1S4*U.:HM4,U&-0?57%3S4,VGM'JN[\H0Q=8* MF9]8YT#+$2NM=J=]>'BG74;[G%6:.-SK5)Q>O+TYKJ#]JJBFH9J.:@:JF:AF M-T^K>=[.H I?8ZP)L@#NZ# M,T%.ELL@;_KV$G5<[VKW.Z2Z]N?84I+H^+B;:(]6PT03)?'-(@=:((AJ M-JHYJ.:BFH=J?M-<$T5I-]U>D[.?/89A+@=Y<'WY%#R$\R!]B.),6(9?BV:# M]^<%DT8/C]LG>?)4J#WA-LGS9+5^^!@&]V%:[E#\_&N2Y)LG_<)_2=(_UGU< M_Q]02P,$% @ +CBD5CDD:(+" @ +0D !D !X;"]W;W)K&ULM5;1;ILP%/T5BU53*W6!0!*RCB"UB:I6ZJ:H6;N':0\. MW 2KQF:V2=J_GPT4D4&R3LM>@@WW',X]^,0.MEP\R01 H>>4,CFQ$J6R"]N6 M40(IECV> =-/5ERD6.FI6-LR$X#C I12VW6EDR?F3F=S&$\LQ@H!"I P#UI<-3(%20Z1E_*PXK?J5 M!M@M8 M*,JEXFD%U@I2PLHK?JY\: #Z@ST MP*X;P5X%< K&BV5%6W-L,)A(/@6"5.M MVB6225R_8641!_00J^7.*> ^ KM M*2(,+1168&:F[)HPS"*"*9IS2E?'>/_,M,])#CGB/7<;T.^/0P? 91#WG] M N[NPFUM9.VF6[OI%GS>']V4.ZU_O].%Z%9;)7]T-5FR#KI939 O9(8CF%@Z MJ1+$!JSP_;O^R/G4U?*1R'8,\&H#O$/LS>6$I035U6S),"H8S)_,)NP/!X&] M:?;0KG']NF1'V:!6-GBK,DKPDE"B7KK4E2S#QIO]W\6U2P;^QVYUPUK=\*"Z M+USIE$FR9CI/L?8.W4"\)FS="%R7VH.L?[MPCD2V8\"H-F#T7Y(S.J8!1R+; M,<"O#?#_.3E^:^&UD].NV9><<:UL?)3DC%N9;26G7=).CMW8S,Q!XC,6.@@2 M45AIE-/S=6^BW)S+B>)9L;\MN=*[93%,]'D&A"G0SU>)V3+K$U+X"U!+ M P04 " N.*165&*+C>>:\>9;H6\4RF )O<9S]7,2;4N3EU712ED M5/5$ 3FN)$)F5.-4KEU52*"Q!67<]3UO[&:4Y4XXM<^N9#@5I>8LARM)5)EE M5/XZ RZV,Z?O/#RX9NM4FP=N."WH&FY WQ97$F=NS1*S#'+%1$XD)#-GWC]= M3$R\#?C*8*L:8V(J60EQ9R:7\5$F'W4G-.3U5!8U@YN!!5" WX(2O7_7'WOLN M1UZ(;,^?0>W/X!![>"Z%0CLR41I;1(+G.!+KG/V&F%"[2[K*KSC'EM.\539A M?S2T8/ZA#]K0.:ZW#9VDUV[E+7<4R:F3V'FD[%+$G;51+&QV4]@G? MSI4PXV%E'+'MRC7$72)'+0EM"]LQ3UDXKG6._[O=G-$5X_8@= D>M\0$C_6V M0X;!NV[!02TX>)&>!W_M^:&(/6F36MKD&3UON'>X\9/6N6CYV YI^^@V;@AS M.W^D$M]FBG!($.7U JQ45C=>-=&BL)?&2FB\@NPPQ8\$D"8 UQ,A],/$W$/U M9T?X!U!+ P04 " N.*16ZE#_XIX" #[!@ &0 'AL+W=O(E\=NSEQE2G MOJ^3'$NFCV2%@F;F4I7,4%=EOJX4LM2!RL(/@^#8+QD77CQR8]Y<8.^/&H8AG>HKFKKA7U_(XEY24*S:4 A?.Q M=]8_G0[M>K?@"\>E7FN#=7(OY8/M7*1C+[""L,#$6 9&KP5.L2@L$L7]PWLG+/=,XE<57GII\[+WQ(,4YJPMS(Y?GV/IQ A-9:/>$9;LV M\""IM9%E"R8%)1?-FSVV.:P!B&<[(&P!X5/ X!E U (B9[11YFS-F&'Q2,DE M*+N:V&S#9>/0Y(8+^Q5OC:)93C@3SU#Q!;-1PH701M7TA8R&0]@^<0 ?Z61 M[U)JO0^]&1K&"VH=PMWM#'I[^[ '-/\YE[5F(M4CWY!(NY6?M((FC:#P&4$1 M7$EA<@WO18KI)MXG.3@X0XY41=X MY/@&S_!]DH:RU3P3S& *3,,YIAD7V5K,VU+;R6KO^JFN6()CCRZS1K5 +W[] MJG\,HP7(ML(8]B% M,=QY&JQI#;V"7"/Y5IC(3/!?=# HC*16BK(!*MF*V:*W]3HU&QR[#6S-7L2' M_<%)?^0OUDW^O:I_$KWM%C7B_;4Z4J+*7'G5D,A:F.;"=:-=!3]SA>O)^(0J M>U.(_] TOX4KIC)KN< Y409')R1,-:6VZ1A9N6IU+PW5/M?,Z>^$RBZ@^;F4 M9M6Q&W3_N_@W4$L#!!0 ( "XXI%85+BM5>P, .(/ 9 >&PO=V]R M:W-H965TU* M774TTVT?JCYXX :L!4QM)]GY][4-(9 PJ+-B7@(V]QSN/1S"O8L#XU]%!B#1 MMR(OQ=+*I*RN;5O$&11$7+$*2G5ERWA!I%KRU!85!Y(84)';V'%"NR"TM%8+ MLW?'5PNVDSDMX8XCL2L*PI]N(&>'I>5:QXU[FF92;]BK1452> #YI;KC:F6W M+ DMH!24E8C#=FFMW>N-&VJ B?B3PD%TSI$NY9&QKWKQ*5E:CLX(GL+DM!"0=KQ7;,WS>,WP=.;7.;-L*_?=O*A1] MDE"(?X9TJWG]85[]JE^+BL2PM-2[+(#OP5K]^(,;.K\,%3T164\"OY7 'V,_ M^FVHQAH8&J#^]]FOL..ZV%_8^V[V V$1]IU9&];+*VCS"D;S6A? :4P&33N* M?*GX$Y'UB@S;(L-7\E\XI003D?4DF+42S+[7?S4PZ!@K[[CZ,@]E-8I[J?(3D?5*G+!ZYR^ML[W MVJ]!=IT5S*,+_PV$A7@VQ\/^A<^\SQW=F''RS _\IWP&3N>V@1W MO$_X76;*C&M!A[TX"G[Q0YB(K5_JJ?-P@]?RXJ2=R51L?1E.O8D[^MT?]6)X MV?/-PC Z]^)EF.\'@7OF1;LS+:FN+S5#I$ QVY6R'BW:W79079OQ[&S_1@^P M9@H[T=33[V?"4UH*E,-643I7,R4MKP?*>B%996:R1R;5A&=.,S6$ ]WSCW/Z&\7NQ I#H(4NI M&%@K*?,KVQ;1"C(L+ED.5.TL&<^P5%.>V"+G@&,#RE+;MH@(GX3F C=L9(I[)@[%Y/;N*!Y6A%D$(D-056?VL80YIJ M)J7C=T5JU<_4P-WQEOVS25XEL\ "QBS]06*Y&EA="\6PQ$4J9VSS!:J$6IHO M8JDPOVA3Q3H6B@HA65:!E8*,T/(?/U1&[ 43S/ JP#>(2!X!N!7 -\D6BHS M:4VPQ&&?LPWB.EJQZ8'QQJ!5-H3J8YQ+KG:)PLEP!FN@!: 91"RAQ%A[@;:K M$R)PDG!(L(08+1[1E+.XB*1 F,9H#GQ-(A#H? (2DU1\4-"[^02=GWU 9XA0 M]&W%"J%"1=^62JQ^I!U5PD:E,.\983ZZ952N!+JF,<3[>%LE66?J;3,=>4<) MASF_1([W$7F.YS?H&?\/W#=P[X@-WS^/XQ?Y?B1Q',+#4RRW4.8$5OG_GMIU/39F?B&S/AZ#V M(3C&OO6A*<<2V#9 ?1VM0\]Q72_HV^M=]0UA72]P.G78GJY6K:MU5-=^F1G(AL+_5VG7K[+4NS?4H?3D2VYT.G]J'SVM(L@:V= MFG-[3J?K'Y3FWV%>J]/M.LVEV:UU=8_J&N9Y2B*L[^H+D4-$EB2JOA7J> 1+ M"[W56*-'B5]Z-B\L:[9W2AQ.1[?G@.D\?<.>U55HA=Z]&U_$# M]Z!*&\*\H.4=7J#V3I>A/$Y,\R50Q HJR\]PO5HW>$/3UARLCW3C9[J7)YJR M:[S%/"%4H!26BM*Y[*A7AY>-6#F1+#>]S())==!FN%+-*W =H/:7C,GM1#^@ M;H?#/U!+ P04 " N.*16OC2-+T(" O!0 &0 'AL+W=OH8/" > MW.2FL>;8P7;:\>^QG2SJ1#=XX*6YU[[G])YS;6<[I>]-@VCAH172S$EC;7=) MJ2D;;)F9J0ZEVZF5;IEUJ=Y0TVED50"U@B91=$Y;QB7)L[!VH_-,]59PB3<: M3-^V3/^Z0J%V=3?:971BJ7B+TG E06,])XOX MLDA]?2CXRG%G]F+P2M9*W?ODNIJ3R#>$ DOK&9C[;+% (3R1:^/GR$FFO_3 M_?B1_6/0[K2LF<%"B6^\LLV>KU3"A%_8C;41@;(W M5K4CV'704IZ;EV,#5T$#R3 .+3L\@2MY $B7I M 7CQ,GR)Y0S2.,"3IW#JK)C\2"8_DL"7_L6/6JL6"B6M=@?-S<0V4(1IH(;O MB[4)ZS\.R1WX3P_S^TMY:3I6XIRX6V=0;Y'DKU_%Y]&'0^+_$]D3*]+)BO0E M]KQ0QAJP"NI>U%P(*$<[#JD>J,X#E7\YMKD;2/P^H]M].7]6Q:=G%^^FJJ%/ MNG><_5/RF>D-EP8$U@X7S2[.".CA>@Z)55TXX6MEW81"V+@7#;4OB/SWU!+ P04 " N.*16"/G 3=@" 5!P &0 'AL+W=OV ]VWW]F!C*X!:6\2/]W?OSO[SJ.MTL\F1[3P4@AIQD%N M;7D3AB;-L6#F2I4H:6:E=,$L=?4Z-*5&EGFC0H1Q%/7#@G$9)",_]J"3D:JL MX!(?-)BJ*)C^/46AMN.@$^P'YGR=6S<0)J.2K7&!]K%\T-0+&Y6,%R@-5Q(T MKL;!I',S';KU?L%WCEMST ;GR5*I9]>YR\9!Y(!08&J= J/?!F]1""=$&+]V MFD&SI3,\;._5/WO?R9<\(X^*)6KH=GS8XC;<6K#O!5V^ M;Y)!-QJ%FQ:*7D/1.TEQ)U.J)@8-6 4V)YQ7X4SK< H*)[;>K%J]=X#4[1U! MZC=(_9-(3YI;O%2KE;D 2861HJ,I/S:H>3M#_PW#Y6#8SC!H& 8G&>C24$61 M@"]ISN0:03.+4+=;&09O&3KM",,&8?@?]X-2B@O8I50;P/#-W>A$T;\(X4&I M*E"O?4$VX+.JKEK-:%/S)W6I^[N\?C#NF5YS:4#@BDRCJP'YKNLB7'>L*GWA M6RI+9=0W2B[TU"N,J6Y]7Z<%E%3?R H$SN12E=1@5ZU]72F@F0LJ MN1\&P= O*1->,G%C"Y5,Y,9P)F"AB-Z4)56O<^!R-_5ZWGY@R=:%L0-^,JGH M&A[!/%4+A3V_5K?SL5WO%GQGL-,';6(S64GY;#M?LZD7 M6"#@D!JK0/%O"W? N15"C-^-IM=N:0,/VWOUSRYWS&5%-=Q)_H-EIIAZ(X]D MD-,--TNY^P)-/@.KETJNW2_9U6OCR"/I1AM9-L%(4#)1_].7QH>#@# \$1 V M :'CKC=RE/?4T&2BY(XHNQK5;,.EZJ(1C@G[41Z-PEF&<299PA;$!L@24KD6 MS#EU3>XA!Z4@(_OIF36/F5=R>0^&,JX_D O"!/E6R(VF(M,3WR"-U?339N=Y MO7-X8N>(/$AA"DT^B0RRO^-]S*)-)=RG,@_/"LXJ=4."\(J$01B1I\=[GBH-*@M>,G[=[UA\/$,>K]%[Y]33^:44Y$"H9K('.%3*%>@2-1S)H5=N+7@ MT G:$[U-^D$\BB?^MH-CT'(,SG+4ME%N*53CW(IQCD:BJ:8 +'6T%3VN0#&9 M71&!]Y%;W)9E%VR]Z^ -NK'HV$W[+"%'9Z%/3P*![S9_M,C<860JF'MXAH> M<5V/!O&HFRMNN>)_,/&M]JZPD6]$1A;TU=9GYQF,CTC&83#H!AFU(*.S(%CM M>-D) B]I0<4:B*(&OZ!K=T*,CB!Z)Q#&+<+X/PH;3S[CI#GY70#CHZ+&KW%D M@W]PC9:@UNZQT"25&V'J&[4=;=^C67T-ORVO'[,'JM9,:,(AQ]#@)L;D5?U MU!TC*W$KB-+\8;83(/DTF>;"A"7GOFB_.V5;$44JO./%"(Y>;MQ$ZXTH;DP6YQE9TULJ[K)K+K]-&I0P2FB:1RP%G*XN M1I?PD^^BHD)9XD=$'_/6-2A"N6?L9_'E:W@QT9@&HH @\N.!+FD<%TBR M'_^K04=-FT7%]O4+^J]E\#*8>Y+3)8O_B$*QN1C-1R"D*[*-Q0U[_(W6 4T+ MO(#%>?D7/%9E9VU6E)9HQ45)9EE;AA^EQ7._%5S^-Y+U MQ.)6L.#GQRO)7 B6+)'#*2?E _G\5%Q3<.)30:(X/SV?"-E>46L2U-A7%3;: M@XW!-Y:*30X^IR$-N_4GLI]-9]%+9Z^0$? RXV/@H \ .0B#NUL?G/QR"M:< M;3/P"YB ?$,XS>L/37^7A\#C$AXU\(< ^V9@GP9C@&$7V, ';AX>+G'QOH=7 M].?C??_A77).TC65\U. ^V?0+G=-GLO;EX^$A^ _OTM(\%70)/^O[@%7[;OZ M]HN<]"G/2$ O1C+IY)0_T-'BG_^ GO,O'?LVP7Q+8!W>W89WUX2^^*/,)C3\ M2!XHE]E1#D&2BH\A$12L2,3! XFW-/\ HA2$+(X)ST%&>35^P%^M(:7CO&I[ M5K9=I.V'!9R-9V?GDX4;XSC2):F#4M3(TO?F2"QI$#P2"X3 M046*+N *QFN%@EU\YCC.3LC]O3 .$<]GFH"D[;/$RG6$.$L:M'$C%KB)@9B?A29.5!V%! DRQFSY2"C&7;N$I4?U796T?'K!K>[H M-'9R*)^6P#I\0D=I1,?(Z-A,==/P+90Z5%(= MFK7Z=_(DQU!*5Y$ *\Z2P[EP^S(+.W,-%6Y?EV+8Y\PW]_18)I0Z7>*S7A#I[95--\66I=+9100?.>\ MBFQZA:55--\66I=\Y3R0V1Y\*6:[)/1$MU5[^NI>;8W>WH9UO;$'=_*FIIB' MQV?>CD T]_58+I1C0&;'T.;BD'4#]3V I]F&7)J;'3Q@WL)/(.4GD-E/_*BV MC0[FJ.\BW"G6<-0O-W7[%L+7EJ^8TH%4ZTL=LTPXLK:+Y MMM"Z!"H?@KSWSO56#8Q5--\66I=\96"0^95$,76C=-VH/:93S5I.S;AXO^@S MUQS,WUMX$*0\"#)[D/]WK9SWUTIW//=V,Z%5CV$+K4N9\AC(; @&+ZEG_>5" MX\,TQ7!_4?'-G3LR>*Q, C:;A(%+)>YO[._&_7H1W]RG8V-68AZ;=_V_16F4 M;!,9Z!>:4D[BSHX3N)8I1AN[585N%PBU@Y1:PV2VH=#!XQ\2,/'A4VD3S;:%U M654V!$_?.R58M3!6T7Q;:%WRE87!YE/[>Z<"F)UE:1?-MH77)5PX'FQW.\>G C#LU MI .K;U)LH75_2:Q,DFLV22H=#%8(9N2AH](JFF\+K[]3<:TZ-JMH MOBVT+OG*L;GF=RI'IX17< VFP5QS,']63=>D=3HGH7Q=GG+*0<"VJ:C.OC1W MFY-4E^7YH9W[5_#3LCH/I6"JXUG?"%]':0YBNI*0SG@F)2*O3CQ57P3+RC- M]TP(EI27&TI"RHL"\O\KQL3+EZ*!YMS9XF]02P,$% @ +CBD5AYI7GV7 M! _Q( !D !X;"]W;W)K&ULM9A;;^,H%,>_ M"O)6JX[4Q@9?DG232.EE=^=A-%4[[3Q3^R2Q:ALOD$NE_?"+36*[]2V3G7F) M@<#AQP'^!YAL&7\5*P")=G&4B*FQDC*],DWAKR"F8L!22-0_"\9C*E66+TV1 M03ZE]USES,)*$,:0B) EB,-B:LSQU37QL@9YC><0MJ*21ME0 M7AA[S3*?@ZEA9400@2\S$U1]-G #49194AS_[(T:19]9PVKZ8/W/?/!J,"]4 MP V+OH>!7$V-D8$"6-!U)!_8]F_8#\C-[/DL$ODOVN[K6@;RUT*R>-]8$<1A MHK]TMW=$I8'3UH#L&Y"<6W>44]Y226<3SK:(9[65M2R1#S5OK>#"))N51\G5 MOZ%J)V>/DOFOE]=J7 &Z8;&:;$%S=]WMLC2@2_2H)PRQ!.324 M;^C\%B0-(_$)G2$3B17E(%"8H*D]WFO1(I]6%J MJ$TI@&_ F&FS':1.0>IT69]]74LA%5F8+(MI_+?1$9I56W-S:YD<;&8CQQM. MS$T#@ULPN)T,?W&:2 B.ZM^M]8\)&37W[Q7]>YW]W^V ^Z$XDL"K$5QBQVHF M&!8$PTX"I3X+")4/$.,(=FG(CX09UF&(TS(=HP)F]%.7Q*C&,+:MEBD9%PSC M8Z:$OD2 J,ATB4/*N%1,** 2C@(;U\!-_UN^TUM-T6Y$H P)UR]#T/7!!4"I<"U_Y0?2^5N'(#N8%B=?CQPO19GEM*.._6X5*O3 MJ+1Q[%6PG.& X!:L4L=QMY!71.PT,*<.1D8#N\U?I;CC;G5OUK;3&-TZHSL: M6&T;I P N#L"_(35YC6@X0%NV:<%X@]O\G8E3?]M9@W$)=QB,\_D$)?8#L1I1-PXTZIG)U]UC3 M"'T#'FL9+ Y_;Z!&T'CPPYU!\$2-)64D(SV1[(.S<] FSAX[GFZ)/!3K SNV MU-)\ZSI(DS)VD;?[@7Z?P M;S][&VI@TZP,IHQSICG(?EVD?1OT>8]NNW7(*(&4@(SV![+B5V$?G MU9WD><['H[-9>9.(@2_SEQ>!?+9.I'Z>*$J+UYVY?M,HJ^NGH2^4+]7:0Q$L M5%-K,%2>X?JU16&ULK59;;]HP%/XK5B9-G31(2+BT'40">MD>JJ%6;1^F/9CD0"R<.+,- ME'^_8R=D4+F(A[T07\[W^3OGV.:L@)DD:IWG5.XF MP,5VY'6\_<(C6V;:+/CQL*1+> +]7,XDSOR&)64Y%(J)@DA8C+QQYWHZ,/;6 MX(7!5AV,B?%D+L3*3'ZD(R\P@H!#H@T#Q<\&IL"Y(4(9?VI.KSG2 _'>_8[ MZSOZ,J<*IH*_LE1G(^_2(RDLZ)KK1[']#K4_/<.7"*[L+]G6MH%'DK72(J_! MJ"!G1?6E;W4<#@!A[P- 6 /"2K$ETE@CFQG8V%@T M>L,*D\4G+7&7(4['3UHDJ]8$ Y&2J,&#^I)4\JR>$'DB/R( J=*7);I) >XWUTOXE!N(_!)#Q)."YEFP3A M5Q(&8>30,ST''EEX>$).U*0DLGS11RG)J(0Z)3.ZPR>CR5ABW)9@Q[_&'/E165\=&G:O&ZDA3(W@N/CY$SO7!+[ MKD!&[Q6ZK09NA8-&X> \A1ID3BZPDNR 2G=9.,W4K9 D(GE5'CJ7)*4[Y;K7 MIYEZ-5/8,(4.ILI=_Z#TYB"7MB,IDHAUH:L*U*PV36]L:_V[]0DVPZIW_:.I M.ND#E4N&I9/# BF#]@ S(*ON5$VT*&V!GPN-[<(.,VSH((T![B^$T/N).:#Y MBQ#_!5!+ P04 " N.*16]C\S@CT& U(P &0 'AL+W=O; @-$1>7=#MB,<7(2PN%P0@:ACL*D1\-YK/TW@.= MSTC" S_"#Q2P) P1?;O# 7FY&9B#PXU'?[OC\L9H/HO1%J\P?XH?J+@:%2J> M'^*(^20"%&]N!K?F]1*.98'TC1\^?F&52;DI[SXXMT,#-DB'. UEQ)( M'/9X@8- *HEV_).+#HHZ9<'J^4']4QJ\".89,;P@P=^^QW'B#DH _ MDI<_<1Z0(_76)&#I7_"2OVL,P#IAG(1Y8=&"T(^R(WK-050*V.Z1 C O )L% MCM5@Y06L1@$(CQ2P\P)V2B8+)>6P1!S-9Y2\ "K?%FKR)(69EA;A^Y'\W5>< MBJ>^*,?G*T[6/Z_N!#D/+$@HTHFA] >Y?Y7G&/SRA2NP$LGH)0$&9 ,>,>/4 M7W/Q=EH2/$4^9^!BB3GR W8)/H 18#M$,0-^E#W]6+GQ?4<2AB*/S49O?Q(8"G8P .;.Z@4O(WI$!CP(X &M,#3 M:@DN/ER"+25)7 TC.W2T=W&*O)7*PT+^%.&E6GB)UT-@F75A!0^KR!4KU;6. MZ/Z==B+L7=WN,16# OA,4<2!R#L,/B&?@A\H2'#7#Y?IVMVZ2>5EP/\?F[-1OLJ*V4#^K+2)%9CY12L'"6K>\9] M,8II2CA5X2#$X+>N.@N<.PLOP8 3X2[WOG0?N.#? -\),ZO;K;"$ MEFT8S;ZN;&)?FIK$:C2G!5<+R6\+K!=N)3B?6?H:8N]Z5AN M"_Y24Z4U7J91.E]#2>PIHGA-MI'_KTBI4SGEFM78)N[$-MN9I:Z];VKI4JNS MJJP23"6K@_4#*+=^,:8^\62&/8M.6'#L1*:6AN -(\J #<+,OD,;>.BMTU"K MI7HSU:169PI+IE 9>+:R>DY75B>G'VQW+=<93SO2#[9\CND83DNSY=_0J.M'D1]MY<5#UCLEX&R/YE*LTH_NUMSE5=6&8NA.FWU4 MJ['7I5;'5UI[4^WMTYTAW /1I(7(M9PF(:UF79=:G5!IUTVU7_^19=?)@*8M M0+;37!IVO.38S3GN/4PW+$TW5)ON?/=&+I"IG-Q]V@-"KEV-[\J"#0CJ!O3- M$EUJ=5RE[X9J<]PE-[CW,->P--<0OM->-=1D MAW.H.M66NM3J4$NK#M56_=1)T2-!()=TPL5F62G3L_S'1B?UK.9Q=0(PAV.[ MF:-:-_]UJ=5QEGX?_FK_OYPDST&6J9M5'VZ[0]=L,K/;:*WAU&U,#.K&G@NC M7 ! ]0*@,A^>P\)ILW"F0[/%0JO/UZ561U;Z?*C>WC\ZEYX#T&T#=-WAM+F; MKVY2;X#O8?)A:?)A/Y/?GEW/(3EN=3?'&;;LOKIIO4%JM?NCRO<$(:;;]+L, M!M8DB7CV[_/B;O'MQVWZQ4/C_IUYO9C*%\3S#2'\<"$K*+Z4F?\/4$L#!!0 ( M "XXI%:GTHC0VP, /0. 9 >&PO=V]R:W-H965T8@B3^P*6K%WML[M::P=K(9]4!*#)U[732CCSFA@YZ9R-!"9CAF'J20J2Q(J7R80B_70 M:3J;B0>VC+29<$>#E"YA!OIG.I4X_]/GPA$5 =1S7, O!/Q]@?8K JU"H&5!<\LLUF>JZ6@@Q9I(LQJUF0?K M&RN--(R;,,ZTQ+<,Y?1HID7P=#U!1X3D3B28'8I:_]X_FV<@UV2&J1-F,1"Q M(%.0-G5X .0!E)8LT"AIM9"?G&E%/GX&35FL/J%H=?DLHA(43GX@+E'YH/AC MG/R(1*8H#]7 U8AEC'.# F&2(_BO(+3(-\%UI,@]#R'W*J4!#!T\\ KD"IS1GW\TN]Y?QQC?2=D.<;LD;M=I'_TK^ J3"Q.+ M*I-U$U@RSAE?%BG(1&C=D:?/45_D&W3L!J:4K48M#.6J2EAKPX6$G9*P4TOX MMZ3<\)V@Z!Q0M+M[%(=+*J [MG5+V[JUMME\NYX?EH2Q1*N7@$5 Y9?)TI'HGS:S=\\)TZY=$_3<= M**R4YQ^E_@%:[V:/K7;W"]EN2K:;VO+XRWZI(;P>KT#BS8/8LT7P:PCD"V62 M/-(X@V-@-^]9+]])V8X+FM[V*^Z]2\4,11Q3J4B*9]&&_&C$B\UZE9!W_49[ M/^KU-EW*7+FY-,^NH6=R%7>A;K6@MAO]_9I:O_&E8/X6S*\%*\KB&[C\D]6G M?LM+D;97F&;M?>'UDGHF8.LTX/]Q86EN;RS-MUU9#BOLF:3M@Z/7\1O^_MVE MWIJWTKJ5_B$!N;1ME2*!R+C.K\WE;-FZC6W#LC<_,2V=[4NV:O)^\!N56)$4 MB6&!*KU&#V,I\Q8K'VB1VBYE+C3V//8QPK84I%F [Q="Z,W ;% VNJ/_ %!+ M P04 " N.*16MJ?008D# ;#P &0 'AL+W=OAZ ,CC2TA ME*@E:3OMUW=(R8KE*,)FH8>\1"(UV M+:,$,BK/>0$Y?EESD5&%0[&Q92& QB8I8[;G.*&=T32W9A,S=R-F$[Y5+,WA M1A"YS3(J?BZ \?W4L&>3@FY@!>I;<2-P9-$P'K MJ35W+Y>NKQ-,Q-\I[.71.]&EW'%^KP>?XJGE:$; (%(:@N)C!TM@3",ACW\K M4*M>4R<>OQ_0WYOBL9@[*F')V3]IK)*I-;)(#&NZ9>J6[S]"55"@\2+.I/E+ M]E6L8Y%H*Q7/JF1DD*5Y^:0/E1!'"8C3GN!5"=YIPO"9!+]*,,K9)3-3UA55 M=#81?$^$CD8T_6*T,=E839KK;5PI@5]3S%.SE>+1_=D"A8C)DF?H#DF-OM(M \+7Y#HK&/\)0%8@=FF$SX0*.+M[DC\@<\9X5&)AXBU$?).G MOS#L!D3*=;14DKR] D53)M_A0M]65^3MFW?D#4ES\C7A6TGS6$YLA75JMG94 MU;0H:_*>J0>1%EXGX+P0Y\3Q!L1S/+^%S_*_ MI/LFW>N@X]=[YAL\_QF\WC?A^V=<@7Q2D,D?;7*7=(;M=/1!P9G_^X8;.7VU:]0364&Y8*S?L0J_<7@H5';L=2K>W%5\BA@91'XJ[F1L& M%^.)O3NNJB4J<(*PCFK0#6JZ02==O3OEONT@W[:RZP1XZ=;T!-:H-:QK#5^7 MJ<,^E>L)K*'<1:W<1>^F+A&#([N&GGMBZ:BW&WI44QUU4KW%XJF(D@&Y M0DLS7N"%0 T('O-X5F\P&#UJ/_LX%7KIM/8$UM!C76HQ?E^''?2K7 M$UA#.==YO+0XO5N^@FSX>31V3DS?$C4<#D?MMG>/;EEN-V&\IZ*S!^0#Y" H M*ST_C_%ÐEJ+[+MI+NA'WIIO6%UA3!>Q3!>UV.K_CTI5Y/:$WU'B]];N?- MZ/]YWG]Z+<'^;G1J^M:P87#B>ONHSK3N\N>EK3N87 MNO,S[V:=;[Z:_!A(2&<)OIM"\:('Y^ML]CS,EALJ7L MD2>$"/0KSPH^U1(A-C>ZSJ.$Y)A?T0TIY#H[30IM-ZFMW;#:AIZ2TE3G-2\)06B)'55+LU;T+3K@1UB[]2LN4'QZB:R@.EC]7)EWBJ M&=6(2$8B42&P_'@B"Y)E%4F.XV<#U=H^*^'A\8X>UI.7DWG G"QH]G<:BV2J MC344DQ4N,W%/MW^09D)NQ8MHQNO_:*O:>JZ&HI(+FC=B.8(\+=0G_M4$XD!@ MGA)8C"<$3B-P7MN#VPC$!9"P$ C6,=AI#79JNGW" MX.!GF8KGCVB18_Z6"?:X.LQ_.1MOEQD-L\_U&Y3F@]*"AG:X MV[M'"8WR$ZKCKJ$'I1#SC1*D!GR8ASBCZ^[L%CV-Y.;?;>0/#_'LV$/20BA: MUQYK;X\%F/TTL$X>[9BC\=&J6_2T-&W'<(]:^L,#/-L<2%H(1>N:LR_[F/]7 M]ZG*V&FQ1GB_+>ZM0CBG9=%OE'T4?GL\=HT^IT#K.Z"T )060M&4F_I!?3@G M;%U7\KF\=:0EJDS:7FW?%MS6-?(7U^?FS4+5_/<8]0I")K/KM. H(RN)-*Y& MO#A."8L*J!_'Y%J=B=5!VT[U9F_P%02P,$% M @ +CBD5B'X^4]T!@ 5"D !D !X;"]W;W)K&ULM5IM3^LV%/XK5G>U<26@>>DK@TJ0! V-*Q#+X@*7\\Z[F]EP=W=+%4YD%_=KK""W)/U+?5K=!W_0HEH1EADG*&!)F? M]<[=D\@;&8/BB]\H>91;U\ATY8'S[^;F*CGK.:9%)"6Q,A!8_UN3@*2I0=+M M^'L#VJM\&L/MZQ?TRZ+SNC,/6)* I[_31"W/>I,>2L@+_M>$!=BA6>G@C\B8;[6:.:B8+^PUGQ19@;*O1+Z+=5V M:G;%8IX1]!4_$8D.0J(P3>5G=(2^W8?HX--G] E1AKXN>2XQ2^1I7VFGQK0? M;QQ(/,?S.]H3 MV,UO8E69>QWFX2[>_3?-([MY2.)CY+M=Y@TR_"I\?H'GOQL^%&B:*5L0%C^C M/Z[U=^A*D4S^V16R$G30#6IRTXE._.%TT*+1ZG5?&CM_547MU8G^^:*T2O6/&_:&NYA^='V '4'[KC%+%"S&LR. M*V;'_XE905(]SQ.D.%KC-,=E*93J8@RSN'/^6_WL2^[X-;GNM#4BP_%K:V/W31J35Q'RW4E[9 -Y;) _K9=\79+&WX], M<9X@77R8]\5 [R)X^JJ_KC-JCN<2N7'66O?=42L8]C;M&XW=G$903IM$;TD@ MUTKT-<4/-*7J&6GAC7*=JH660>4$6'%)S>CN5C[NZXSK.+[3YM3J?F].(=$B M*+0F]5Y-O6>E_J[$+(BGI991A12-4RPEG5.=9(JAS3B+J,B+=; M1*RMVCLBD&A11Q?ZJ;2[;GG'E^>X4Z26@N>+Y5M*.;!C[!T$4.4(A=:, M5:T=7;MX?#=6:UW$\UR:R5+4/[E:HKEG0&"E*U!J!H(2A:!(76#%FMEMW11VREN:#Z&!0M!$6+H-":\:DUMVL7 MW?<*JUQQ\6S=4-N 3)L%IS=L%P"0PCL$18N@T)H\U_+;M>OOMU*7X9^@\T0O M0U1J!5XL17QNOBNN#U&PU"M49U @170 BA:"HD50:,W8U>K=G7Y(#H-4S0$H M6@B*%D&A-7^YJB6]9Y?TN^4PKU,UO\IA=E_[\@R*%D&A-7FN%;UG5_1OY;!? M;^ZB\T,41E]N@KOSKU):/[FY[(P)I.H.0-%"4+0( M"JT9NGI'P/,^(H5YD!H\ $4+0=$B*+1F?.IM!,\N[7=,87YG"FMOKMM][^UNGQS(B%L6Q M/8EBGC-5'LNJGE9' \^+ W&MYQ?N25@>\*MARO.&7[!84"912N8:TCD>:_)% M>82OO%%\59Q1>^!*\:RX7!*<$&$^T._GG*N7&^.@.D@Y^Q=02P,$% @ M+CBD5K%HQ.K2 @ E0< !D !X;"]W;W)K&UL MK55=;YLP%/TK%I.F5EH+@81^+$%*TD[;0Z6HW=:':0\N7()58Z>V">V_W[4A M+$U)-DU[ =O<J MI :G:NGKE0*:.5#)_3 (8K^D3'C)V*TM5#*6E>%,P$(1794E52\SX+*>> -O MLW#+EH6Q"WXR7M$EW('YMEHHG/D=2\9*$)I)013D$V\ZN)S'-MX%?&=0ZZTQ ML4X>I'RTDR_9Q NL(."0&LM \;6&.7!NB5#&4\OI=5M:X/9XP_[)>4J2+7.R+_#H"@QE7!\C1#=+ M[8L)\K60E:8BTV/?H%B[I9^VPF:-L'"/L(C<2&$*3:Y%!MEKO(\F.Z?AQNDL M/$@X7:E3$H0?2!B$48^>^=_ (P.1]VSH>' MV),9U2PE]>8\T?8\I;(L\:BUAP<+CC9X8X%R5Z0C/'*EB0"3Q4S+X365&7Z M3^)';U6%9Q<[TM\&A2-["/N$QYWP^*#P^SWYQYRWPQ-K9$TY"/,/?R7N27=T M$40[UOK"XC@^WS'G;U6X$M32%7Z-0BMAFA+0K7:]9>I*ZL[Z#'M.TR)^TS0- MZX:J)1.:<,B1,C@]0U&J:0+-Q,B5JZ,/TF!5=L,"^R8H&X#?&ULQ5==;YLP%/TK%I.F5EK*5[[:)9&2=-,JK5K4:NO#M <' M;H)5L)EMDN;?SS:$0I.@54+*2\#FWL,YAWO)9;1E_%E$ !*])#$58RN2,KVQ M;1%$D&!QQ5*@ZLJ*\01+M>1K6Z0<<&B2DMCV'*=O)YA0:S(R>PL^&;%,QH3" M@B.1)0GFNQG$;#NV7&N_\4#6D=0;]F24XC4\@OR9+KA:V25*2!*@@C"*.*S& MUM2]F;LFP43\(K 5E7.DI2P9>]:+NW!L.9H1Q!!(#8'580-SB&.-I'C\+4"M M\IXZL7J^1_]JQ"LQ2RQ@SN(G$LIH; TM%,(*9[%\8-MO4 CJ:;R Q<+\HFT1 MZU@HR(1D29&L&"2$YD?\4AA125 XQQ.\(L%[F] ]D> 7";X1FC,SLFZQQ),1 M9UO$=;1"TR?&&Y.MU!"J'^.CY.HJ47ER\F1T0MB9;H"KYX8>(\Q!H(M;D)C$ MXA)UD#!;(UNJ^^DL.RBP9SFV=P+;1_>,RDB@+S2$L)YO*YXE66]/=N8U DY3 M?H4<[Q/R',\_PF?^/^F^2?<:Z/BE=[[!ZY[ ^Y*D,=N!\DRRX!G]2'5A'K.I M$48WZHU(<0!C2W6B +X!:_+Q@]MW/A_3V!)837&W5-PUZ/X)Q:8X.KIM0C1G MB7J7"&RZ<J<0N\,]O3+>8A^OU=0:(["8GX<\RJ;IM6M016 MLZI76M5K+(XIE:03DCC3KRDD(,@XD41U%KP$<:;Z :TX2U"@7,QD;B);(<"< M$KH6* 6>]QVZR-OO\IA;.86>H:!?V)M)O^?V',<9V9NJ$8=QKC?TJG$UC?U2 M8[]1XP,(R4F@7A]Y"QRCV(CPW@?:$EA-[* 4.SAS[0_:M*HEL)I5P]*JX?EK M?WA8T\YAY1]&><[)NK\N]5TWZEL -P,4#?;_E\<(-F*\]W&V!%:3ZSJO0X)S MYMHO"+3D5EMH=;LJ,Y5[_OHO.%1+^VWQ-X;DVNS*Z)@ 7YN)6BAJ&97Y8%;N MEE/[U,RJ;_9G>IHW(^DK3/XI<(_YFE"!8E@I2.=JH/CP?+K.%Y*E9D!=,JG& M77,:J2\2X#I 75\Q)O<+?8/R&V?R#U!+ P04 " N.*16%2\YK@@# 1 M# &0 'AL+W=OP(;O/".5R8+2>]681F/+ M42\$*81".6!Y6\,%I*DRDJ_Q4'E:)J02[CYOW:]T[C*7!>9P0=,?223BL36T M4 1+7*3BEFZ^0I5/3_F%-.7ZBC;EW)YCH;#@@F:56+Y!EI#RCA\K#CL"Z5,O M<"N!^[<"KQ)XSP7]5P3=2M#59,I4-(< "^R/&-T@IF9+-_6@86JU3#\AZF>? M"R9'$ZD3_C7E'"T9S=!5P@ =!R!PDO(3]!'=S0-T?'2"CE!"T+>8%AR3B(]L M(<,JL1U6(29E"/>5$!UT0XF(.;HD$40U^HMFO?>6/G@COMM@8$M>!IJ[A39Q M&QUO\!-RO _(=5RO+I]F=0#A*?(Z6N[6I?//\KUD/+,"/.WGO>(W*;CLD:M@ M2@0P5N1Z/^IU\?-:CJ"I@(S_JOO=2^-NO;$ZL,YXCD,86_)$XL#68/GOWW7Z MSN=]&MGK&CP]@Z?7B&=*>,$P"4%^-4*Z!I;48VET.11+[T4F[J#7 M=TPF9;XMA=S#TC=8^HU8YL6"PT,!1*#+M;S6(6ET.!1)FV9!2V9[Y :&W.!_ M'6"#-H&V:1:T9+8'=&B #AN7XHS1$""JCJ_$[%<.0J0@:SY1NV&'+_=8SWFV MQ2X:(Q\*J26S$I*]4T1EP%:Z&.4HI 4193UE>DV]>Z[+//O/]+)8OL%L);&A M%)92ZIP.Y,'"R@*T; B:ZY)L084L\/1C+&MV8&J"'%]2*K8-%<#\"_!_ U!+ M P04 " N.*16F#@ 6'\# !,#0 &0 'AL+W=ORZ^R0Q H?LB9W+I94J5%[XO MDPP*(L]Y"4R_V7)1$*6G8N?+4@!);5"1^V$01'Y!*//BA7UV+>(%KU1.&5P+ M)*NB(.)A!3G?+SWL'1[@OI370L_\%B6E!3!).4,"MDOO M$E^L\-P$V!5_4=C+HS$RI6PX_V8F']*E%QA&D$.B# 31/W>PACPW2)K'OPVH MU^8T@V@*FAB\A.?2_D7[ M9FW@H:22BA=-L&904%;_DOMF(XX"PG @(&P"0LN[3F197A%%XH7@>R3,:HUF M!K94&ZW)469.Y58)_9;J.!7?@%2B2E0E*-NA=4;$#B0Z0Y=FMZAZ0)2ATS5Z M!N(.T.LK4(3F\HU=G8@*4O3V7M\6:0&N((%B P*%01BB5P;G<\8K25@J%[[2 MU T!/VEHKFJ:X0#-$?K(FLM22$_C?5UR6W=XJ'L5.@$O2W&.@O /0V^$ MOMQ>H=>OWCAP1^U^CBSNZ(?V\[!7_]SP/$?Z&NV)2+_VE5^CCOM1C30O9$D2 M6'I:>Q;3BW__#4?!GP[.XY;SV(4>KTA.6 *(*+2!'67,4.=;5(*@/.UC6^-% M%L_H_B[&P6B^\.]Z6$Q:%A,GBS61&2K)@Y:\ZKTA=?CD*.D9CD;]2:,V:>1, MJH]$ZY8AN$\RPG: !%& ZG$OB:B'Q*R?P[3E,/W1[0>6NC=^^BC];#[N3S]K MT\^31PT/C(Z_'/2:R)/[W>XP&-X;#+&_Y:E35XISRF S0Z:\9.%WV2 MT!JH$Z6-!H2..Z/%;J==ZW]B0CJ0VP*)S M:>PTU*,57WNNW3]E/ALFZ0N^7U=\9' MW>%2)E$.6QT:G$]UY:)NW>N)XJ5MES=;;#C/]N0/"+-#OMYRKP\0D:#^@ MXO\ 4$L#!!0 ( "XXI%;"K#G?# ( ,8$ 9 >&PO=V]R:W-H965T M39,>DD(:^S ^R3KK[ZG/225FO]+VI 2QZ%%R:'-?6-@M" M3%F#H.9"-2#=S$YI0:TS]9Z81@.M0I#@)(ZB*R(HD[C(PMA:%YEJ+6<2UAJ9 M5@BJGY; 59_C&3X,W+%];?T *;*&[F$#]F>SULXBDTK%!$C#E$0:=CG^,ELL M4^\?''XQZ,U1'_E,MDK=>^.FRG'D@8!#:;T"=;\.KH%S+^0P'D9-/"WI X_[ M!_5O(7>7RY8:N%;\-ZMLG>-/&%6PHRVW=ZK_#F,^EUZO5-R$%O6#;Y)@5+;& M*C$&.P+!Y/"GC^,^' 7$Z0L!\1@0!^YAH4"YHI86F58]TM[;J?E.2#5$.S@F M_:%LK':SS,798M-N#3RT("WZVKG6H/,*,@W+Z2LQ3;&<5?'$O3$-+R+&K7@.Z M UR\>S.[BCZ?X4LFOB2H)Z_D0W]^. ]T8T&8OZ=@D_\ FTZPZ=G-7+&.52 K M=]9,HDIQ3K5!#>CAO$X>_* X#XK^HG=%=!'-HV??+"/=,18Y*DM_PV^IWC-I M$(>=4XDNYI<8Z>'6#(953:C4K;*N[D.W=@\-:._@YG=*V8/ABW]ZNHI_4$L# M!!0 ( "XXI%;"/$$M@ , -\7 - >&POG5C%+E+%(NBKX[4RI_YWG%9$93 M4IQE.14:23*9$J6[.68\]&;HZ/6S>G%MOVD!$Y=STIZ MO@?I60OGU1A&'>Y'O9,;)>]LDJ_&'VNRVOD8<^[:E?WY\0O)98/LSF9D)_[] M$^&M@9VTG19">X_1WN]%Z]MI1PJAK8'=M&T[[=5((KP-LILXL*QYL^!FM;UJ M,PUZ22::/16XQJ!Y24J=6\+[[I!P-I8,O!*2,KXTYC88)AG/I*/T9M:!?+ 4 M=P;V30_V><63,I'),K:)8'['U? M8-4#@8SS6F#;-89!+R=*42E&NE,.+HT/ M(*=J7R]SK7 JR=)OG[N-0WG20<:9C*ELKBWNRC3H<9J ',FF,SBK+/< 5"I+ M=2-F9)H)4FI8>50-33NAG%_!1?!KLL&]2-96K"Q;43>UH*II:$P'^-?9#/=)O$[.;C/U8:ZG(\H^%!B]E#1AB[*_2&H!&+N/LY,\Y\OWG$U%2LWD]PXX MZ)&5GS/+)+O3T:!4)MI I>O<4JG89-WR79+\FB[4JIP6":ZY?8":_VV>IU10 M2?BZ:%W[+SG+3U8<=)Y+>'(#(\!)$'49/=0Q 9'8#( MSK-=-1\CTC\$D>U#$!F\?)'!R]PW7O7@N_9TO?%L75L=>(?INU_@78@W09WQ MG''%1-6;L3BFXL$CMJ979,SI)K\>'].$S+FZKL&^V[0_TYC-TZ@>=0F)J$8U M[4\P/3^L7Z!T+"9BNJ#QL.K*Z;AL.KJAHU8'.&PCH_*P(YB/P>P(8%@<3 'F M8[RP./_3?+KH? R&:>M:D2[JTT5]C)<-&98?+([=)]*'?:91% 1AB&5T.+0J M&&)Y"T/XVMDP;>"!Q8%(C\LUOMIXA>RN VQ-=U4(-E.\$K&9XKD&Q)XW\(@B M^VIC<< #6P6L=B"^/0[4E-TG"&!5,6W8#L:1*,(0J$5[C88ADIT0/O;UP79) M$$21'0',KB (, 1V(XY@"D #A@1!>1_-8?20$3;8T.P6BP^0"X99K>]9!:G:3E KMVJ5.KVLJ=23UN5JONX,HD!JTG,V@YM]]>?<5*V M3AM&YV66)R )XE@9>WZ<#0RV4J4W/RMUJ*" M-0NE2V[AHUZ.S%H+GIN5$+8L1L%XG(Q*+JO!\=%V7[=ZY']05F16J@H6N@4/ M4CR9M_7N(]M((^>RD/9E.FC>%V+ 2EG)4OX2^70P'C"S4D__*"U_J<_GIEEB^?R. \ATD(QAAPNIC6VV:/;/@7$C8./V M4VW5A2RLT&?,%+R M5$85,H=?S]G,0;@O&*86[&8MM <9()#!WB!/5;GV($,$,MPCY(_ @XP0R.@/ M0G[E!:\RP9K;QGB ,0(8[PV0?;KE'F2"0";[.]79)FJ*RO]1#[&,OF8%O,: MU M^K@ J:R](GPQU#+%D+KC4[($7M6#_"FYJ_1$/L\N$6B]PSWYN[EQV_K.6 M&UXXNL^,5SF[K#8^)N:7";%@ 4V@*))="*'V61"K),K.)M=&DP=$V)W?%,J M?Y)%X?-@EI@0:^(2:MMJZ7Z4G1C35>P$,\.$6 W?N=:0P5[8S;R0RW:]SX8) M84)NA+*4MK& N_] $!9J=5%E[RY[S <38B&<"0U9PG48D!^,U?7[=!9@'@B( M/7 G($] JKT3F0);N?4^&B:"@%@$,ZNRQ^%72!IY4[F+RC0;L?-G]]['1-L- M8B$TF!"_=:VS%< ZK2XU+WT^S 0!N0DR50IVSY\[]T2 J2 @5L%W(9F[$S]IEXO/-^P2'*2(@5@1:CW>:A@"S1$!LB1U5+_MTSP'$ MCV:(Z2(DU@5:_7:B&6+J"(G5X56_VPC^Y;-AO@B)?=&6P;U8Z( 4L2:V]7 O M&.:*D-@5'PKC7D),%R&Q+OHJY%Y(S!XAL3WZR]!>3,PC(;%'>NK17D9,*2&U M4K#"M)L$,:6$Q$K9463U*"7"E!*1=R ]94W?.8\PHT3[&95BPS8I^9B87*)] MCD[]"'U,3#81]?0'BAGYF.C\!_4$"(H9^YB8?R+J:1 4,_$Q,0-%U!,A*&;J M8V(&BH@-Y->.0S:#/>8UU![0/S1K?$Q,0A&QA%[+R"&[=M5'X_5/9\)R6723 M)F:@B-A OQDO:DCOD#G=M'Y=LF8YN_4G$3$#Q<0&>BM]>P(88]:)R?N8#[5O M'R)FG)C8.+W%[]!YO'(>]S$QX\3D$^Z[1XHAJ#XF9IR8V#B[JO37L^YCHO/N MQ,;9@3ED-[4%*!\3,TZ\GYYGF]5]3,PX,;%Q=D=SL>C6EC%FG)C8.#LQVQ4^ M)B:=F%@Z?1WDD&V7^G=Z@DDG^?,3+V^8G28RP0R4$!NH'_,DSYNWG4=L, LE MQ!;JQ_Q=O/F8F(428@OU8YZ)A=!:Y!U,S$()L87P 0Z_BTPP"R7$%L(Q_2XR M09__(K80CNEWD0EFH81Z!@?%]+O(!+-0LM?!-[^+3# +)=2/@:&8!_Y3?YB% M4F(+[9J\?JTX?4S,0BEY'_0VA]W; J68?%+J%FC'0"MT0;S(_#(SQ>23$LMG MYWAP&T\?$Y-/2OV86&?RO?]L8]9)B:W3/UX--9'[%X'TJ_44LTY*;9WW$_+] MD42?.6Z,,VHV-L='N5C(2N37L'L#RS.XMF\U/X_\ 4$L#!!0 ( "XXI%9Z[4YM5@( (XM : >&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDMNHT 4A>&M6"P@N.ZKDE:<44\R MC;(!Y)0?BFT0T$JR^[:<@7U0#WH2<4:H0%S^T2=4\/A2#LVX;T_#;M\-B\_C MX32LJMTX=K_J>ECORK$9[MJNG,Y7-FU_;,;SLM_67;-^;[:EEN4RZOYV1O7T M>#MS\?K5E?^9V&XV^W7YW:[_',MI_,?@^J/MWX==*6.U>&WZ;1E75?UYN)X> MZLLAW9TG5XOGMU75/[^EJIX[2"!(Y@]2"-+Y@PR";/X@AR"?/R@@*.8/RA"4 MYP^ZAZ#[^8,>(.AA_J"T1!F7!$D3K FT3LAU(O Z(=B)0.R$9"<"LQ.BG0C4 M3LAV(G [(=R)0.Z$="<"NQ/BG0CT%M1;"/06U%L(]);)RS:!WH)Z"X'>@GH+ M@=Z">@N!WH)Z"X'>@GH+@=Z">@N!WH)Z"X'>BGHK@=Z*>BN!WHIZ*X'>.MDL M(=!;46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O)=#;4&\CT-M0;R/0VU!O M(]#;4&\CT-LFF]T$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H[ZNT$>COJ M[01Z.^KM!'H[ZNT$>COJ[01Z^^1C)8'>CGH[@=Z.>CN!WHYZ.X'>CGH[@=Z! M>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=XQ^=F$0.] O8- [T"]@T#O M0+V#0.^,>F<"O3/JG0GTSJAW)M [H]Z90.^,>F<"O3/JG0GTSJAW)M [3WX6 M_$F]A_'K4(9KS_<:G_^35(_G>\OU\9?E]\D).Q>DO4$L#!!0 ( M "XXI%95J+EG$@( ',L 3 6T-O;G1E;G1?5'EP97-=+GAM;,W:WT[; M,!0&\%>I-6MOG M._&1?E>]^O$4*"T.0S^F=;7+.5PREIH=#2[5/M!85C8^#BZ7KW'+@FOV;DM, MK%:&-7[,-.9EGFI4UU>WM'$/?5[<'=]]"&5B47Z>-S+2*;3RU *4GC"T@?7T'ZX"N41E!$ MY2BDM/[_>?'#\_Z\%UXTL^F_]K?/T;4$L! A0#% @ +CBD M5@=!36*! L0 ! ( ! &1O8U!R;W!S+V%P<"YX M;6Q02P$"% ,4 " N.*16WJ=^K.\ K @ $0 @ &O M 9&]C4')O<',O8V]R92YX;6Q02P$"% ,4 " N.*16F5R<(Q & "< M)P $P @ '- 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 M Q0 ( "XXI%:,,BZU* 4 #$5 8 " @0X( !X;"]W M;W)K&PO=V]R:W-H965T&UL M4$L! A0#% @ +CBD5G!QDUK) P = T !@ ("!B1( M 'AL+W=O+D ' O'P & M@(%/&0 >&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD M5IQ,E!2O P X T !@ ("!Q2 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ +CBD5A9YP:/0 @ T08 !@ M ("!E#, 'AL+W=O&UL4$L! A0#% @ +CBD5II^D!1O! MK0H !D ("!^3H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5D\>R1UW @ 9@4 !D M ("!]DX 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ +CBD5KN)IS]J P OP< !D ("!2UH 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD M5BK!U$S^!0 >0\ !D ("!YV< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5A N[KCL P \PD M !D ("!X7T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5GEC8Z[E! @@L !D M ("!YHH 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ +CBD5JKGML]O! GPH !D ("!_I8 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5K1- MKFN' @ ;P4 !D ("!G:4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5OG#(DN4 P A@@ !D M ("!WZT 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ +CBD5D(X,*UZ! 1@P !D ("! M[+D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ +CBD5E2/7&\5 P K 8 !D ("!<\< 'AL+W=O+@ &0 M@(&;W >&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5DJW?.W#!0 1B( !D M ("!1>D 'AL+W=O&PO=V]R M:W-H965T M 9 " @0CR !X;"]W;W)K&UL M4$L! A0#% @ +CBD5B=/6H.E @ 2 < !D ("!+O< M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M+CBD5O8V54.R @ ?@8 !D ("!U (! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5NI0_^*> @ ^P8 !D M ("!K!H! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ +CBD5KXTC2]" @ +P4 !D ("!A"0! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD M5L!&W+"M!P @S8 !D ("!/"T! 'AL+W=O?9<$ #_$@ &0 M @($@-0$ >&PO=V]R:W-H965TXY 0!X;"]W;W)K M&UL4$L! A0#% @ +CBD5O8_,X(]!@ -2, M !D ("!(#T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5G:* \H:! 9QD !D M ("!9DL! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ +CBD5C78"@(T P [PP !D ("!:UD! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ +CBD5L*L M.=\, @ Q@0 !D ("!RV,! 'AL+W=O&PONU.;58" ".+0 &@ M@ %\< $ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " N M.*165:BY9Q(" !S+ $P @ $* XML 90 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 91 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 92 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.1 html 167 332 1 false 62 0 false 14 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.cognex.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - Consolidated Statements of Operations Sheet http://www.cognex.com/role/ConsolidatedStatementsofOperations Consolidated Statements of Operations Statements 2 false false R3.htm 0000003 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 3 false false R4.htm 0000004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical Consolidated Statements of Comprehensive Income (Parenthetical) Statements 4 false false R5.htm 0000005 - Statement - Consolidated Balance Sheets Sheet http://www.cognex.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 5 false false R6.htm 0000006 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 6 false false R7.htm 0000007 - Statement - Consolidated Statements of Cash Flows Sheet http://www.cognex.com/role/ConsolidatedStatementsofCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 0000008 - Statement - Consolidated Statement of Shareholders' Equity Sheet http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity Consolidated Statement of Shareholders' Equity Statements 8 false false R9.htm 0000009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical Consolidated Statement of Shareholders' Equity (Parenthetical) Statements 9 false false R10.htm 0000010 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.cognex.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 10 false false R11.htm 0000011 - Disclosure - New Pronouncements Sheet http://www.cognex.com/role/NewPronouncements New Pronouncements Notes 11 false false R12.htm 0000012 - Disclosure - Fair Value Measurements Sheet http://www.cognex.com/role/FairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 0000013 - Disclosure - Cash, Cash Equivalents, and Investments Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestments Cash, Cash Equivalents, and Investments Notes 13 false false R14.htm 0000014 - Disclosure - Inventories Sheet http://www.cognex.com/role/Inventories Inventories Notes 14 false false R15.htm 0000015 - Disclosure - Leases Sheet http://www.cognex.com/role/Leases Leases Notes 15 false false R16.htm 0000016 - Disclosure - Goodwill Sheet http://www.cognex.com/role/Goodwill Goodwill Notes 16 false false R17.htm 0000017 - Disclosure - Intangible Assets Sheet http://www.cognex.com/role/IntangibleAssets Intangible Assets Notes 17 false false R18.htm 0000018 - Disclosure - Warranty Obligations Sheet http://www.cognex.com/role/WarrantyObligations Warranty Obligations Notes 18 false false R19.htm 0000019 - Disclosure - Commitment and Contingencies Sheet http://www.cognex.com/role/CommitmentandContingencies Commitment and Contingencies Notes 19 false false R20.htm 0000020 - Disclosure - Derivative Instruments Sheet http://www.cognex.com/role/DerivativeInstruments Derivative Instruments Notes 20 false false R21.htm 0000021 - Disclosure - Revenue Recognition Sheet http://www.cognex.com/role/RevenueRecognition Revenue Recognition Notes 21 false false R22.htm 0000022 - Disclosure - Stock-Based Compensation Expense Sheet http://www.cognex.com/role/StockBasedCompensationExpense Stock-Based Compensation Expense Notes 22 false false R23.htm 0000023 - Disclosure - Stock Repurchase Program Sheet http://www.cognex.com/role/StockRepurchaseProgram Stock Repurchase Program Notes 23 false false R24.htm 0000024 - Disclosure - Income Taxes Sheet http://www.cognex.com/role/IncomeTaxes Income Taxes Notes 24 false false R25.htm 0000025 - Disclosure - Weighted-Average Shares Sheet http://www.cognex.com/role/WeightedAverageShares Weighted-Average Shares Notes 25 false false R26.htm 0000026 - Disclosure - Loss from Fire Sheet http://www.cognex.com/role/LossfromFire Loss from Fire Notes 26 false false R27.htm 0000027 - Disclosure - Restructuring Charges Sheet http://www.cognex.com/role/RestructuringCharges Restructuring Charges Notes 27 false false R28.htm 0000028 - Disclosure - Subsequent Events Sheet http://www.cognex.com/role/SubsequentEvents Subsequent Events Notes 28 false false R29.htm 0000029 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.cognex.com/role/SummaryofSignificantAccountingPolicies 29 false false R30.htm 0000030 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.cognex.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.cognex.com/role/FairValueMeasurements 30 false false R31.htm 0000031 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables Cash, Cash Equivalents, and Investments (Tables) Tables http://www.cognex.com/role/CashCashEquivalentsandInvestments 31 false false R32.htm 0000032 - Disclosure - Inventories (Tables) Sheet http://www.cognex.com/role/InventoriesTables Inventories (Tables) Tables http://www.cognex.com/role/Inventories 32 false false R33.htm 0000033 - Disclosure - Leases (Tables) Sheet http://www.cognex.com/role/LeasesTables Leases (Tables) Tables http://www.cognex.com/role/Leases 33 false false R34.htm 0000034 - Disclosure - Goodwill (Tables) Sheet http://www.cognex.com/role/GoodwillTables Goodwill (Tables) Tables http://www.cognex.com/role/Goodwill 34 false false R35.htm 0000035 - Disclosure - Intangible Assets (Tables) Sheet http://www.cognex.com/role/IntangibleAssetsTables Intangible Assets (Tables) Tables http://www.cognex.com/role/IntangibleAssets 35 false false R36.htm 0000036 - Disclosure - Warranty Obligations (Tables) Sheet http://www.cognex.com/role/WarrantyObligationsTables Warranty Obligations (Tables) Tables http://www.cognex.com/role/WarrantyObligations 36 false false R37.htm 0000037 - Disclosure - Derivative Instruments (Tables) Sheet http://www.cognex.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.cognex.com/role/DerivativeInstruments 37 false false R38.htm 0000038 - Disclosure - Revenue Recognition (Tables) Sheet http://www.cognex.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.cognex.com/role/RevenueRecognition 38 false false R39.htm 0000039 - Disclosure - Stock-Based Compensation Expense (Tables) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseTables Stock-Based Compensation Expense (Tables) Tables http://www.cognex.com/role/StockBasedCompensationExpense 39 false false R40.htm 0000040 - Disclosure - Weighted-Average Shares (Tables) Sheet http://www.cognex.com/role/WeightedAverageSharesTables Weighted-Average Shares (Tables) Tables http://www.cognex.com/role/WeightedAverageShares 40 false false R41.htm 0000041 - Disclosure - Restructuring Charges (Tables) Sheet http://www.cognex.com/role/RestructuringChargesTables Restructuring Charges (Tables) Tables http://www.cognex.com/role/RestructuringCharges 41 false false R42.htm 0000042 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Sheet http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Details 42 false false R43.htm 0000043 - Disclosure - Cash, Cash Equivalents, and Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails Cash, Cash Equivalents, and Investments (Details) Details http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables 43 false false R44.htm 0000044 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) Details 44 false false R45.htm 0000045 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details) Details 45 false false R46.htm 0000046 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details) Details 46 false false R47.htm 0000047 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) Sheet http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details) Details 47 false false R48.htm 0000048 - Disclosure - Inventories - Schedule of Inventories (Details) Sheet http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails Inventories - Schedule of Inventories (Details) Details 48 false false R49.htm 0000049 - Disclosure - Leases - Narrative (Details) Sheet http://www.cognex.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 49 false false R50.htm 0000050 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Sheet http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Details 50 false false R51.htm 0000051 - Disclosure - Goodwill (Details) Sheet http://www.cognex.com/role/GoodwillDetails Goodwill (Details) Details http://www.cognex.com/role/GoodwillTables 51 false false R52.htm 0000052 - Disclosure - Intangible Assets (Details) Sheet http://www.cognex.com/role/IntangibleAssetsDetails Intangible Assets (Details) Details http://www.cognex.com/role/IntangibleAssetsTables 52 false false R53.htm 0000053 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) Sheet http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail Warranty Obligations - Changes in Warranty Obligations (Detail) Details 53 false false R54.htm 0000054 - Disclosure - Commitment and Contingencies (Details) Sheet http://www.cognex.com/role/CommitmentandContingenciesDetails Commitment and Contingencies (Details) Details http://www.cognex.com/role/CommitmentandContingencies 54 false false R55.htm 0000055 - Disclosure - Derivative Instruments (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.cognex.com/role/DerivativeInstrumentsTables 55 false false R56.htm 0000056 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails Derivative Instruments - Outstanding Forward Contracts Table (Details) Details 56 false false R57.htm 0000057 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) Details 57 false false R58.htm 0000058 - Disclosure - Derivative Instruments - Offsetting Assets (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails Derivative Instruments - Offsetting Assets (Details) Details 58 false false R59.htm 0000059 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) Sheet http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) Details 59 false false R60.htm 0000060 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails Revenue Recognition - Revenue Disaggregated by Geography (Details) Details 60 false false R61.htm 0000061 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Details 61 false false R62.htm 0000062 - Disclosure - Revenue Recognition - Additional Information (Details) Sheet http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails Revenue Recognition - Additional Information (Details) Details 62 false false R63.htm 0000063 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details) Sheet http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails Revenue Recognition - Schedule of Allowance for Credit Loss (Details) Details 63 false false R64.htm 0000064 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) Sheet http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails Revenue Recognition - Deferred Revenue Activity (Details) Details 64 false false R65.htm 0000065 - Disclosure - Stock-Based Compensation Expense (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseDetails Stock-Based Compensation Expense (Details) Details http://www.cognex.com/role/StockBasedCompensationExpenseTables 65 false false R66.htm 0000066 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails Stock-Based Compensation Expense - Summary of Stock Option Activity (Details) Details 66 false false R67.htm 0000067 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details) Details 67 false false R68.htm 0000068 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) Details 68 false false R69.htm 0000069 - Disclosure - Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details) Details 69 false false R70.htm 0000070 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) Details 70 false false R71.htm 0000071 - Disclosure - Stock Repurchase Program (Details) Sheet http://www.cognex.com/role/StockRepurchaseProgramDetails Stock Repurchase Program (Details) Details http://www.cognex.com/role/StockRepurchaseProgram 71 false false R72.htm 0000072 - Disclosure - Income Taxes (Details) Sheet http://www.cognex.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.cognex.com/role/IncomeTaxes 72 false false R73.htm 0000073 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) Sheet http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) Details 73 false false R74.htm 0000074 - Disclosure - Weighted-Average Shares (Details) Sheet http://www.cognex.com/role/WeightedAverageSharesDetails Weighted-Average Shares (Details) Details http://www.cognex.com/role/WeightedAverageSharesTables 74 false false R75.htm 0000075 - Disclosure - Loss from Fire (Details) Sheet http://www.cognex.com/role/LossfromFireDetails Loss from Fire (Details) Details http://www.cognex.com/role/LossfromFire 75 false false R76.htm 0000076 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details) Sheet http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails Restructuring Charges - Activity in Restructuring Reserve (Details) Details 76 false false R77.htm 0000077 - Disclosure - Subsequent Events (Details) Sheet http://www.cognex.com/role/SubsequentEventsDetails Subsequent Events (Details) Details http://www.cognex.com/role/SubsequentEvents 77 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 - cgnx-20230402.htm 4 cgnx-20230402.htm a422023-10qxexhibit311.htm a422023-10qxexhibit312.htm a422023-10qxexhibit321.htm a422023-10qxexhibit322.htm cgnx-20230402.xsd cgnx-20230402_cal.xml cgnx-20230402_def.xml cgnx-20230402_lab.xml cgnx-20230402_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 95 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cgnx-20230402.htm": { "axisCustom": 0, "axisStandard": 21, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 752, "http://xbrl.sec.gov/dei/2023": 29 }, "contextCount": 167, "dts": { "calculationLink": { "local": [ "cgnx-20230402_cal.xml" ] }, "definitionLink": { "local": [ "cgnx-20230402_def.xml" ] }, "inline": { "local": [ "cgnx-20230402.htm" ] }, "labelLink": { "local": [ "cgnx-20230402_lab.xml" ] }, "presentationLink": { "local": [ "cgnx-20230402_pre.xml" ] }, "schema": { "local": [ "cgnx-20230402.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/currency/2023/currency-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] } }, "elementCount": 524, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 3, "http://xbrl.sec.gov/dei/2023": 5, "total": 8 }, "keyCustom": 32, "keyStandard": 300, "memberCustom": 14, "memberStandard": 46, "nsprefix": "cgnx", "nsuri": "http://www.cognex.com/20230402", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://www.cognex.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "10", "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - New Pronouncements", "menuCat": "Notes", "order": "11", "role": "http://www.cognex.com/role/NewPronouncements", "shortName": "New Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Fair Value Measurements", "menuCat": "Notes", "order": "12", "role": "http://www.cognex.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Cash, Cash Equivalents, and Investments", "menuCat": "Notes", "order": "13", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestments", "shortName": "Cash, Cash Equivalents, and Investments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Inventories", "menuCat": "Notes", "order": "14", "role": "http://www.cognex.com/role/Inventories", "shortName": "Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Leases", "menuCat": "Notes", "order": "15", "role": "http://www.cognex.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Goodwill", "menuCat": "Notes", "order": "16", "role": "http://www.cognex.com/role/Goodwill", "shortName": "Goodwill", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Intangible Assets", "menuCat": "Notes", "order": "17", "role": "http://www.cognex.com/role/IntangibleAssets", "shortName": "Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Warranty Obligations", "menuCat": "Notes", "order": "18", "role": "http://www.cognex.com/role/WarrantyObligations", "shortName": "Warranty Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Commitment and Contingencies", "menuCat": "Notes", "order": "19", "role": "http://www.cognex.com/role/CommitmentandContingencies", "shortName": "Commitment and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - Consolidated Statements of Operations", "menuCat": "Statements", "order": "2", "role": "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "shortName": "Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Derivative Instruments", "menuCat": "Notes", "order": "20", "role": "http://www.cognex.com/role/DerivativeInstruments", "shortName": "Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000021 - Disclosure - Revenue Recognition", "menuCat": "Notes", "order": "21", "role": "http://www.cognex.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000022 - Disclosure - Stock-Based Compensation Expense", "menuCat": "Notes", "order": "22", "role": "http://www.cognex.com/role/StockBasedCompensationExpense", "shortName": "Stock-Based Compensation Expense", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000023 - Disclosure - Stock Repurchase Program", "menuCat": "Notes", "order": "23", "role": "http://www.cognex.com/role/StockRepurchaseProgram", "shortName": "Stock Repurchase Program", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000024 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "24", "role": "http://www.cognex.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000025 - Disclosure - Weighted-Average Shares", "menuCat": "Notes", "order": "25", "role": "http://www.cognex.com/role/WeightedAverageShares", "shortName": "Weighted-Average Shares", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:LossFromCatastropheTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000026 - Disclosure - Loss from Fire", "menuCat": "Notes", "order": "26", "role": "http://www.cognex.com/role/LossfromFire", "shortName": "Loss from Fire", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:LossFromCatastropheTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000027 - Disclosure - Restructuring Charges", "menuCat": "Notes", "order": "27", "role": "http://www.cognex.com/role/RestructuringCharges", "shortName": "Restructuring Charges", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000028 - Disclosure - Subsequent Events", "menuCat": "Notes", "order": "28", "role": "http://www.cognex.com/role/SubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000029 - Disclosure - Summary of Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "29", "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - Consolidated Statements of Comprehensive Income", "menuCat": "Statements", "order": "3", "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000030 - Disclosure - Fair Value Measurements (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.cognex.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000031 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables", "shortName": "Cash, Cash Equivalents, and Investments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000032 - Disclosure - Inventories (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.cognex.com/role/InventoriesTables", "shortName": "Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000033 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "33", "role": "http://www.cognex.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000034 - Disclosure - Goodwill (Tables)", "menuCat": "Tables", "order": "34", "role": "http://www.cognex.com/role/GoodwillTables", "shortName": "Goodwill (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000035 - Disclosure - Intangible Assets (Tables)", "menuCat": "Tables", "order": "35", "role": "http://www.cognex.com/role/IntangibleAssetsTables", "shortName": "Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000036 - Disclosure - Warranty Obligations (Tables)", "menuCat": "Tables", "order": "36", "role": "http://www.cognex.com/role/WarrantyObligationsTables", "shortName": "Warranty Obligations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000037 - Disclosure - Derivative Instruments (Tables)", "menuCat": "Tables", "order": "37", "role": "http://www.cognex.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000038 - Disclosure - Revenue Recognition (Tables)", "menuCat": "Tables", "order": "38", "role": "http://www.cognex.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000039 - Disclosure - Stock-Based Compensation Expense (Tables)", "menuCat": "Tables", "order": "39", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseTables", "shortName": "Stock-Based Compensation Expense (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)", "menuCat": "Statements", "order": "4", "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical", "shortName": "Consolidated Statements of Comprehensive Income (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R40": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000040 - Disclosure - Weighted-Average Shares (Tables)", "menuCat": "Tables", "order": "40", "role": "http://www.cognex.com/role/WeightedAverageSharesTables", "shortName": "Weighted-Average Shares (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000041 - Disclosure - Restructuring Charges (Tables)", "menuCat": "Tables", "order": "41", "role": "http://www.cognex.com/role/RestructuringChargesTables", "shortName": "Restructuring Charges (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000042 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "menuCat": "Details", "order": "42", "role": "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "shortName": "Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ief4a97ed4f444e64990fa292d8141f5a_I20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000043 - Disclosure - Cash, Cash Equivalents, and Investments (Details)", "menuCat": "Details", "order": "43", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000044 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)", "menuCat": "Details", "order": "44", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000045 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)", "menuCat": "Details", "order": "45", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000046 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)", "menuCat": "Details", "order": "46", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000047 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)", "menuCat": "Details", "order": "47", "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "shortName": "Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000048 - Disclosure - Inventories - Schedule of Inventories (Details)", "menuCat": "Details", "order": "48", "role": "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails", "shortName": "Inventories - Schedule of Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000049 - Disclosure - Leases - Narrative (Details)", "menuCat": "Details", "order": "49", "role": "http://www.cognex.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - Consolidated Balance Sheets", "menuCat": "Statements", "order": "5", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000050 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "menuCat": "Details", "order": "50", "role": "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails", "shortName": "Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000051 - Disclosure - Goodwill (Details)", "menuCat": "Details", "order": "51", "role": "http://www.cognex.com/role/GoodwillDetails", "shortName": "Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000052 - Disclosure - Intangible Assets (Details)", "menuCat": "Details", "order": "52", "role": "http://www.cognex.com/role/IntangibleAssetsDetails", "shortName": "Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000053 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)", "menuCat": "Details", "order": "53", "role": "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail", "shortName": "Warranty Obligations - Changes in Warranty Obligations (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000054 - Disclosure - Commitment and Contingencies (Details)", "menuCat": "Details", "order": "54", "role": "http://www.cognex.com/role/CommitmentandContingenciesDetails", "shortName": "Commitment and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "if01a52f50b1141fdaec6015b6dd55815_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000055 - Disclosure - Derivative Instruments (Details)", "menuCat": "Details", "order": "55", "role": "http://www.cognex.com/role/DerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "if01a52f50b1141fdaec6015b6dd55815_D20230101-20230402", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib586b8b4ad4c4fcab7f1013b423341a3_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "eur", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000056 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details)", "menuCat": "Details", "order": "56", "role": "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "shortName": "Derivative Instruments - Outstanding Forward Contracts Table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib586b8b4ad4c4fcab7f1013b423341a3_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "eur", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000057 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)", "menuCat": "Details", "order": "57", "role": "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails", "shortName": "Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i07ce93fd88414960afdccb28e02cb387_I20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000058 - Disclosure - Derivative Instruments - Offsetting Assets (Details)", "menuCat": "Details", "order": "58", "role": "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "shortName": "Derivative Instruments - Offsetting Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "if01a52f50b1141fdaec6015b6dd55815_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000059 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)", "menuCat": "Details", "order": "59", "role": "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "shortName": "Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "if01a52f50b1141fdaec6015b6dd55815_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - Consolidated Balance Sheets (Parenthetical)", "menuCat": "Statements", "order": "6", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000060 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)", "menuCat": "Details", "order": "60", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Geography (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i53287a4fcde04a048a426dbed36504e2_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000061 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "menuCat": "Details", "order": "61", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5eac80f4dc00451e9270fadddad3f744_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000062 - Disclosure - Revenue Recognition - Additional Information (Details)", "menuCat": "Details", "order": "62", "role": "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails", "shortName": "Revenue Recognition - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000063 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details)", "menuCat": "Details", "order": "63", "role": "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails", "shortName": "Revenue Recognition - Schedule of Allowance for Credit Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000064 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)", "menuCat": "Details", "order": "64", "role": "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails", "shortName": "Revenue Recognition - Deferred Revenue Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000065 - Disclosure - Stock-Based Compensation Expense (Details)", "menuCat": "Details", "order": "65", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "shortName": "Stock-Based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000066 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)", "menuCat": "Details", "order": "66", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails", "shortName": "Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i26d2d1cc090f497fa6b9d1085d66bf28_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000067 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)", "menuCat": "Details", "order": "67", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails", "shortName": "Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "INF", "first": true, "lang": "en-US", "name": "cgnx:NumberOfGroupsWithinEmployeePopulation", "reportCount": 1, "unitRef": "group", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000068 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)", "menuCat": "Details", "order": "68", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "shortName": "Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ib91fabf7552b4d44ad3fcdd15d4b6592_I20230402", "decimals": "2", "lang": "en-US", "name": "cgnx:EstimatedForfeitureRateForUnvestedOptionsForCEO", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ie4b0b611655648ef88cf6fb5c6828ba6_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000069 - Disclosure - Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)", "menuCat": "Details", "order": "69", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "shortName": "Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ie4b0b611655648ef88cf6fb5c6828ba6_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000007 - Statement - Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "7", "role": "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:StockOptionPlanExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000070 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)", "menuCat": "Details", "order": "70", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails", "shortName": "Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i292d79c082d445fe83c8324d625713b8_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i4226e4fb27f24a3cb26493a2415258b6_I20200312", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000071 - Disclosure - Stock Repurchase Program (Details)", "menuCat": "Details", "order": "71", "role": "http://www.cognex.com/role/StockRepurchaseProgramDetails", "shortName": "Stock Repurchase Program (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i4226e4fb27f24a3cb26493a2415258b6_I20200312", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000072 - Disclosure - Income Taxes (Details)", "menuCat": "Details", "order": "72", "role": "http://www.cognex.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000073 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)", "menuCat": "Details", "order": "73", "role": "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails", "shortName": "Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "-3", "lang": "en-US", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ic1a7a8cd45904365a979bc2792e25318_D20230101-20230402", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000074 - Disclosure - Weighted-Average Shares (Details)", "menuCat": "Details", "order": "74", "role": "http://www.cognex.com/role/WeightedAverageSharesDetails", "shortName": "Weighted-Average Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ic1a7a8cd45904365a979bc2792e25318_D20230101-20230402", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i07a44316fde640899a2cbc38340d1f94_D20220101-20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "cgnx:GrossLossFromCatastrophes", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000075 - Disclosure - Loss from Fire (Details)", "menuCat": "Details", "order": "75", "role": "http://www.cognex.com/role/LossfromFireDetails", "shortName": "Loss from Fire (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i07a44316fde640899a2cbc38340d1f94_D20220101-20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "cgnx:GrossLossFromCatastrophes", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ic684ad88f4ed4d8dbaef01673bb97e40_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000076 - Disclosure - Restructuring Charges - Activity in Restructuring Reserve (Details)", "menuCat": "Details", "order": "76", "role": "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails", "shortName": "Restructuring Charges - Activity in Restructuring Reserve (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ic684ad88f4ed4d8dbaef01673bb97e40_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i83adb7c2d0b84b678c655f5f9e677037_D20230504-20230504", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000077 - Disclosure - Subsequent Events (Details)", "menuCat": "Details", "order": "77", "role": "http://www.cognex.com/role/SubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i83adb7c2d0b84b678c655f5f9e677037_D20230504-20230504", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ia547e2c40c3d481a96ea354f4341bae7_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000008 - Statement - Consolidated Statement of Shareholders' Equity", "menuCat": "Statements", "order": "8", "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "shortName": "Consolidated Statement of Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "ia547e2c40c3d481a96ea354f4341bae7_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cgnx-20230402.htm", "contextRef": "i5030208acd6b499e8934e9bf3660a2bc_D20230101-20230402", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "reportCount": 1, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)", "menuCat": "Statements", "order": "9", "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "shortName": "Consolidated Statement of Shareholders' Equity (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null } }, "segmentCount": 62, "tag": { "cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment", "label": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AgencyBondsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency bond.", "label": "Agency Bonds [Member]", "terseLabel": "Agency Bonds" } } }, "localname": "AgencyBondsMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "cgnx_ApplicationSpecificCustomerSolutionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Application-Specific Customer Solutions [Member]", "label": "Application-Specific Customer Solutions [Member]", "terseLabel": "Application-specific customer solutions" } } }, "localname": "ApplicationSpecificCustomerSolutionsMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_AsiaExcludingChinaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Asia, Excluding China [Member]", "label": "Asia, Excluding China [Member]", "terseLabel": "Other Asia" } } }, "localname": "AsiaExcludingChinaMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYears": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 6.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available For Sale Securities Debt Maturities After Five Years", "label": "Available For Sale Securities Debt Maturities After Five Years", "terseLabel": "5-8 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYears", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 5.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value", "terseLabel": "4-5 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.", "label": "Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value", "terseLabel": "1-2 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 4.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available-for-sale securities, debt maturities after third year but before fourth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value", "terseLabel": "3-4 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Available-for-sale securities, debt maturities after second year but before third year, fair value.", "label": "Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value", "terseLabel": "2-3 Years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash, cash equivalents, short term and long term investments.", "label": "Cash Cash Equivalents Short Term And Long Term Investments", "totalLabel": "Total" } } }, "localname": "CashCashEquivalentsShortTermAndLongTermInvestments", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_CatastropheAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Catastrophe", "label": "Catastrophe [Abstract]" } } }, "localname": "CatastropheAbstract", "nsuri": "http://www.cognex.com/20230402", "xbrltype": "stringItemType" }, "cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Components of cash cash equivalents and investments.", "label": "Components Of Cash Cash Equivalents And Investments [Table Text Block]", "terseLabel": "Components of Cash, Cash Equivalents, and Investments" } } }, "localname": "ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_CurrencytranslationadjustmentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Currency translation adjustments [Abstract]", "label": "Currency translation adjustments [Abstract]", "terseLabel": "Foreign currency translation adjustments:" } } }, "localname": "CurrencytranslationadjustmentsAbstract", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "cgnx_CurrentAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Current Assets", "label": "Current Assets [Member]", "terseLabel": "Current Assets" } } }, "localname": "CurrentAssetsMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "cgnx_CustomerContractsAndRelationshipsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer Contracts And Relationships [Member]", "label": "Customer Contracts And Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerContractsAndRelationshipsMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_December2022Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "December 2022", "label": "December 2022 [Member]", "terseLabel": "December 2022" } } }, "localname": "December2022Member", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "cgnx_DecreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Decrease in Compensation Expense Due To Revised Estimated Forfeiture Rates", "label": "Decrease in Compensation Expense Due To Revised Estimated Forfeiture Rates", "terseLabel": "Decrease in compensation expense due to revised estimated forfeiture rates" } } }, "localname": "DecreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred Revenue, Foreign Currency Exchange Adjustment", "label": "Deferred Revenue, Foreign Currency Exchange Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "DeferredRevenueForeignCurrencyExchangeAdjustment", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]", "label": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]", "terseLabel": "Indefinite-lived intangible asset excluding in-process technologies" } } }, "localname": "DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount", "label": "Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount", "terseLabel": "Discrete tax expense (benefit)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent", "label": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent", "terseLabel": "Effective tax rate excluding discrete items (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Employee service share based compensation recognized period costs capitalized amount.", "label": "Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount", "terseLabel": "Recognized period costs capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period to be recognized" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "durationItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Estimated forfeiture rate for unvested options for all non-senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For All Non Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for all other employees" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "percentItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForCEO": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Estimated Forfeiture Rate for Unvested Options for CEO", "label": "Estimated Forfeiture Rate for Unvested Options for CEO", "terseLabel": "Estimated Forfeiture Rate for Unvested Options for CEO" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForCEO", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "pureItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Estimated forfeiture rate for unvested options for senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for senior management" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "percentItemType" }, "cgnx_ExcessAndObsoleteInventoryCharges": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Excess and Obsolete Inventory Charges", "label": "Excess and Obsolete Inventory Charges", "terseLabel": "Excess and obsolete inventory charges" } } }, "localname": "ExcessAndObsoleteInventoryCharges", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "cgnx_ExpirationPeriodOfStockOptionPlan": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Expiration period of stock option plan.", "label": "Expiration Period Of Stock Option Plan", "terseLabel": "Expiration period from grant day" } } }, "localname": "ExpirationPeriodOfStockOptionPlan", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "cgnx_GeneralStockOptionPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "General stock option plan.", "label": "General Stock Option Plan [Member]", "terseLabel": "General Stock Option Plan" } } }, "localname": "GeneralStockOptionPlanMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cgnx_GrossLossFromCatastrophes": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross Loss from Catastrophes", "label": "Gross Loss from Catastrophes", "terseLabel": "Gross loss from catastrophes" } } }, "localname": "GrossLossFromCatastrophes", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The tax year(s) being audited in connection with the income tax examination for other entities.", "label": "Income Tax Examination Years Under Examination Other Entities", "terseLabel": "Tax years open to examination by various taxing authorities for other entities" } } }, "localname": "IncomeTaxExaminationYearsUnderExaminationOtherEntities", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase (decrease) in compensation expense due to revised estimated forfeiture rates.", "label": "Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates", "terseLabel": "Increase (decrease) to compensation expense" } } }, "localname": "IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Option to Renew, Term of Contract", "label": "Lessee, Operating Lease, Option to Renew, Term of Contract", "terseLabel": "Option to renew, term of contract" } } }, "localname": "LesseeOperatingLeaseOptionToRenewTermOfContract", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "cgnx_LiabilityForUncertainTaxPositions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Liability for uncertain tax positions, total.", "label": "Liability For Uncertain Tax Positions", "terseLabel": "Liability for uncertain tax positions" } } }, "localname": "LiabilityForUncertainTaxPositions", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LossFromCatastropheTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Loss From Catastrophe", "label": "Loss From Catastrophe [Text Block]", "terseLabel": "Loss from Fire" } } }, "localname": "LossFromCatastropheTextBlock", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/LossfromFire" ], "xbrltype": "textBlockItemType" }, "cgnx_NonCurrentAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non-current Assets", "label": "Non-current Assets [Member]", "terseLabel": "Non-current Assets" } } }, "localname": "NonCurrentAssetsMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "domainItemType" }, "cgnx_NumberOfGroupsWithinEmployeePopulation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of groups within employee population.", "label": "Number Of Groups Within Employee Population", "terseLabel": "Groups within the employee population" } } }, "localname": "NumberOfGroupsWithinEmployeePopulation", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "integerItemType" }, "cgnx_OutstandingForwardContractsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Outstanding forward contracts table.", "label": "Outstanding Forward Contracts [Table Text Block]", "terseLabel": "Outstanding Forward Contracts Table" } } }, "localname": "OutstandingForwardContractsTableTextBlock", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_ProceedsPaymentsIssuanceOfSharesShareBasedPaymentArrangementIncludingOptionExercisedNet": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Proceeds (Payments) Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised, Net", "label": "Proceeds (Payments) Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised, Net", "terseLabel": "Net payments from issuance of common stock under stock plans" } } }, "localname": "ProceedsPaymentsIssuanceOfSharesShareBasedPaymentArrangementIncludingOptionExercisedNet", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "cgnx_RepurchaseProgramMarch2020Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Repurchase Program March 2020 [Member]", "label": "Repurchase Program March 2020 [Member]", "terseLabel": "Repurchase Program March 2020" } } }, "localname": "RepurchaseProgramMarch2020Member", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "cgnx_RepurchaseProgramMarch2022Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Repurchase Program March 2022", "label": "Repurchase Program March 2022 [Member]", "terseLabel": "Repurchase Program March 2022" } } }, "localname": "RepurchaseProgramMarch2022Member", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "cgnx_SellingGeneralAndAdministrativeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Selling, general, and administrative.", "label": "Selling General And Administrative [Member]", "terseLabel": "Selling, General, and Administrative" } } }, "localname": "SellingGeneralAndAdministrativeMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]", "terseLabel": "Aggregate Intrinsic Value (in\u00a0thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value", "terseLabel": "Exercisable, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award options vested fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value", "terseLabel": "Total fair values of stock options vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.", "label": "Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value", "terseLabel": "Total intrinsic value" } } }, "localname": "SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_SouthboroughMassachusettsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Southborough, Massachusetts", "label": "Southborough, Massachusetts [Member]", "terseLabel": "Southborough, Massachusetts" } } }, "localname": "SouthboroughMassachusettsMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cgnx_StandardProductsandServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Standard Products and Services [Member]", "label": "Standard Products and Services [Member]", "terseLabel": "Standard products and services" } } }, "localname": "StandardProductsandServicesMember", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_TaxyearsopentoexaminationbyInternalRevenueService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tax years open to examination by Internal Revenue Service", "label": "Tax years open to examination by Internal Revenue Service", "terseLabel": "Tax years open to examination by Internal Revenue Service" } } }, "localname": "TaxyearsopentoexaminationbyInternalRevenueService", "nsuri": "http://www.cognex.com/20230402", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "Greater China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "country_KP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF", "terseLabel": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF" } } }, "localname": "KP", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_CAD": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Canada, Dollars", "terseLabel": "Canada, Dollars" } } }, "localname": "CAD", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_CHF": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Switzerland, Francs", "terseLabel": "Switzerland, Francs" } } }, "localname": "CHF", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_CNY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "China, Yuan Renminbi", "terseLabel": "China, Yuan Renminbi" } } }, "localname": "CNY", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_EUR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Euro Member Countries, Euro", "terseLabel": "Euro Member Countries, Euro" } } }, "localname": "EUR", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_GBP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "United Kingdom, Pounds", "terseLabel": "United Kingdom, Pounds" } } }, "localname": "GBP", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_HUF": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Hungary, Forint", "terseLabel": "Hungary, Forint" } } }, "localname": "HUF", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_JPY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Japan, Yen", "terseLabel": "Japanese Yen" } } }, "localname": "JPY", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "currency_MXN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Mexico, Pesos", "terseLabel": "Mexico, Pesos" } } }, "localname": "MXN", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2023", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r729" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r730" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "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'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "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.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r731" ], "lang": { "en-us": { "role": { "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).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r727" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r728" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AmericasMember": { "auth_ref": [ "r843", "r844", "r845", "r846" ], "lang": { "en-us": { "role": { "label": "Americas [Member]", "terseLabel": "Americas" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [ "r823" ], "lang": { "en-us": { "role": { "label": "Currency [Axis]", "terseLabel": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [ "r843", "r844", "r845", "r846" ], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r312", "r313", "r314", "r315", "r375", "r525", "r561", "r586", "r587", "r640", "r642", "r644", "r645", "r658", "r673", "r674", "r689", "r698", "r709", "r714", "r788", "r828", "r829", "r830", "r831", "r832", "r833" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r312", "r313", "r314", "r315", "r375", "r525", "r561", "r586", "r587", "r640", "r642", "r644", "r645", "r658", "r673", "r674", "r689", "r698", "r709", "r714", "r788", "r828", "r829", "r830", "r831", "r832", "r833" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r222", "r527", "r555", "r556", "r557", "r558", "r559", "r560", "r677", "r699", "r713", "r734", "r784", "r785", "r789", "r837" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r222", "r527", "r555", "r556", "r557", "r558", "r559", "r560", "r677", "r699", "r713", "r734", "r784", "r785", "r789", "r837" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r312", "r313", "r314", "r315", "r368", "r375", "r401", "r402", "r403", "r501", "r525", "r561", "r586", "r587", "r640", "r642", "r644", "r645", "r658", "r673", "r674", "r689", "r698", "r709", "r714", "r717", "r780", "r788", "r829", "r830", "r831", "r832", "r833" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r312", "r313", "r314", "r315", "r368", "r375", "r401", "r402", "r403", "r501", "r525", "r561", "r586", "r587", "r640", "r642", "r644", "r645", "r658", "r673", "r674", "r689", "r698", "r709", "r714", "r717", "r780", "r788", "r829", "r830", "r831", "r832", "r833" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r223", "r224", "r579", "r582", "r584", "r641", "r643", "r646", "r659", "r664", "r665", "r666", "r667", "r668", "r669", "r670", "r671", "r672", "r678", "r700", "r717", "r789", "r837" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r223", "r224", "r579", "r582", "r584", "r641", "r643", "r646", "r659", "r662", "r664", "r665", "r666", "r667", "r668", "r669", "r670", "r671", "r672", "r678", "r700", "r717", "r789", "r837" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r24", "r712" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "auth_ref": [ "r766" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Schedule of Allowance for Credit Loss Activity" } } }, "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r226", "r227" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, allowance for credit losses of $1,001 and $730 in 2023 and 2022, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r103" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "negatedLabel": "Amortization of discounts or premiums on investments" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r74", "r75", "r115", "r121", "r542" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.", "label": "Accrued Income Taxes", "terseLabel": "Non-current accrued income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r74", "r121" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Accrued income taxes" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesMember": { "auth_ref": [ "r26" ], "lang": { "en-us": { "role": { "documentation": "This item represents 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.", "label": "Accrued Liabilities [Member]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccruedLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r30", "r31", "r89", "r148", "r545", "r566", "r569" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss, net of tax" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r2", "r15", "r31", "r438", "r441", "r490", "r562", "r563", "r746", "r747", "r748", "r752", "r753", "r754" ], "lang": { "en-us": { "role": { "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.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r407", "r408", "r409", "r574", "r752", "r753", "r754", "r821", "r840" ], "lang": { "en-us": { "role": { "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.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r54", "r55", "r377" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r405", "r410" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r149", "r228", "r267", "r270", "r273", "r836" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "periodEndLabel": "Balance as of April 2, 2023", "periodStartLabel": "Balance as of December 31, 2022" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r149", "r228", "r267" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for credit losses, current" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "auth_ref": [ "r272" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "negatedTerseLabel": "Write-offs, net of recoveries" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r9", "r39", "r42" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r205" ], "lang": { "en-us": { "role": { "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.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive securities excluded from computation of earnings per share (shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r37" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r37" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetBackedSecuritiesMember": { "auth_ref": [ "r706", "r758", "r759", "r760" ], "lang": { "en-us": { "role": { "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans.", "label": "Asset-Backed Securities [Member]", "terseLabel": "Asset-Backed Securities" } } }, "localname": "AssetBackedSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r120", "r147", "r176", "r210", "r216", "r220", "r262", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r431", "r433", "r461", "r541", "r608", "r712", "r725", "r786", "r787", "r826" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r140", "r151", "r176", "r262", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r431", "r433", "r461", "r712", "r786", "r787", "r826" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r234" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain 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).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Gross unrealized gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r235" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized 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).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "negatedTerseLabel": "Gross unrealized losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r231", "r277", "r540" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Amortized Cost", "totalLabel": "Amortized cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r238", "r538" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing 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).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "less than 1 year" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r232", "r277", "r534", "r756" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale", "terseLabel": "Financial assets at fair value", "totalLabel": "Fair value", "verboseLabel": "Fair value" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "auth_ref": [ "r229", "r277" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 2.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount 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.", "label": "Debt Securities, Available-for-Sale, Current", "terseLabel": "Current investments, amortized cost of $220,943 and $223,545 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022", "verboseLabel": "Current investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": { "auth_ref": [ "r143", "r229", "r277" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-Sale, Noncurrent", "terseLabel": "Long-term investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r379", "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" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r61", "r65" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessInterruptionLossLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Business Interruption Loss [Line Items]", "terseLabel": "Business Interruption Loss [Line Items]" } } }, "localname": "BusinessInterruptionLossLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalizedContractCostGross": { "auth_ref": [ "r768" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Gross", "terseLabel": "Costs to fulfill contract" } } }, "localname": "CapitalizedContractCostGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r131", "r544", "r575", "r603", "r712", "r725", "r742" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash and Cash Equivalents [Abstract]" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r35", "r142", "r679" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 1.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "totalLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsDisclosureTextBlock": { "auth_ref": [ "r142", "r544" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) 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. Generally, only investments maturing within three months from the date of acquisition qualify.", "label": "Cash and Cash Equivalents Disclosure [Text Block]", "terseLabel": "Cash, Cash Equivalents, and Investments" } } }, "localname": "CashAndCashEquivalentsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestments" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents [Line Items]", "terseLabel": "Cash and Cash Equivalents [Line Items]" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r35", "r101", "r173" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r1", "r101" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ClassOfTreasuryStockTable": { "auth_ref": [ "r46", "r47", "r48", "r49" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "Class of Treasury Stock [Table]", "terseLabel": "Class of Treasury Stock [Table]" } } }, "localname": "ClassOfTreasuryStockTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r109", "r310", "r311", "r663", "r783" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CommitmentandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Cash dividends per common share (usd per share)" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockDividendsPerShareDeclared": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Dividends (in dollars per share)" } } }, "localname": "CommonStockDividendsPerShareDeclared", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r715", "r716", "r717", "r719", "r720", "r721", "r722", "r752", "r753", "r821", "r838", "r840" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r78" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r78", "r595" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r78" ], "lang": { "en-us": { "role": { "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.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "Ending Balance (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "terseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r16", "r78", "r595", "r614", "r840", "r841" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValueOutstanding": { "auth_ref": [ "r78", "r595" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.", "label": "Common Stock, Value, Outstanding", "terseLabel": "Common stock, $.002 par value \u2013 Authorized: 300,000 shares in 2023 and 2022, respectively; issued and outstanding: 172,601 and 172,631 shares in 2023 and 2022, respectively" } } }, "localname": "CommonStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r32", "r162", "r164", "r168", "r535", "r552" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ContractTerminationMember": { "auth_ref": [ "r692", "r693", "r694", "r695" ], "lang": { "en-us": { "role": { "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Contract Termination [Member]", "verboseLabel": "Contract Termination Costs" } } }, "localname": "ContractTerminationMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r354", "r355", "r366" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "terseLabel": "Corporate Bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r93", "r527" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsTotalMember": { "auth_ref": [ "r733" ], "lang": { "en-us": { "role": { "documentation": "Cost of product sold and service rendered, when it serves as benchmark in concentration of risk calculation.", "label": "Cost of Goods and Service Benchmark [Member]", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfGoodsTotalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": { "auth_ref": [ "r233", "r277", "r284", "r285" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss", "terseLabel": "Debt securities, available-for-sale, allowance for credit loss" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent": { "auth_ref": [ "r277" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Current", "terseLabel": "Allowance for credit losses" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent": { "auth_ref": [ "r277" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Noncurrent", "terseLabel": "Allowance for credit losses, non-current" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease": { "auth_ref": [ "r767" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in 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).", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease)", "terseLabel": "Credit loss on investments" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent": { "auth_ref": [ "r277", "r757" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost 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.", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Current", "terseLabel": "Amortized cost of current investments" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent": { "auth_ref": [ "r277", "r757" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Noncurrent", "terseLabel": "Amortized cost of non-current investments" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": { "auth_ref": [ "r129", "r281", "r690" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer", "terseLabel": "Fair value, 12 months or greater" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "auth_ref": [ "r129", "r281" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "negatedLabel": "Unrealized losses, 12 months or greater" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": { "auth_ref": [ "r129", "r281", "r690" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months", "terseLabel": "Fair value, less than 12 months" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "auth_ref": [ "r129", "r281" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "negatedLabel": "Unrealized losses, less than 12 months" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": { "auth_ref": [ "r260" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Realized Gain", "terseLabel": "Gross realized gains on sale of investments" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedGain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": { "auth_ref": [ "r260" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Realized Loss", "terseLabel": "Gross realized losses on sale of investments" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": { "auth_ref": [ "r127", "r279", "r690" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss.", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position", "totalLabel": "Total fair value" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": { "auth_ref": [ "r128", "r280" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss", "negatedTotalLabel": "Total Unrealized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r413", "r414" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r413", "r414", "r543" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [ "r743" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Deferred Revenue", "periodEndLabel": "Balance as of April 2, 2023", "periodStartLabel": "Balance as of December 31, 2022" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueAdditions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.", "label": "Deferred Revenue, Additions", "terseLabel": "Deferral of revenue billed in the current period, net of recognition" } } }, "localname": "DeferredRevenueAdditions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.", "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]", "terseLabel": "Deferred Revenue, by Arrangement, Disclosure" } } }, "localname": "DeferredRevenueByArrangementDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredRevenueRefundPayments1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to customers for refund payments of revenue that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Refund Payments", "terseLabel": "Deferred Revenue, Refund Payments" } } }, "localname": "DeferredRevenueRefundPayments1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "negatedTerseLabel": "Recognition of revenue deferred in prior period" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r9", "r43" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation", "terseLabel": "Depreciation of property, plant, and equipment" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset": { "auth_ref": [ "r10", "r20" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DerivativeAssets", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.", "label": "Derivative Asset, Subject to Master Netting Arrangement, Collateral, Obligation to Return Cash, Offset Against Derivative Asset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeAssetCollateralObligationToReturnCashOffset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetNotionalAmount": { "auth_ref": [ "r647", "r650", "r652", "r655", "r817", "r818", "r819" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payments on the derivative asset.", "label": "Derivative Asset, Notional Amount", "terseLabel": "Outstanding forward contracts" } } }, "localname": "DerivativeAssetNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r153", "r155", "r460", "r577", "r578", "r579", "r580", "r581", "r583", "r584", "r585", "r586", "r587", "r601", "r602", "r647", "r651", "r653", "r654", "r656", "r657", "r684", "r717", "r839" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Asset", "terseLabel": "Derivative asset", "totalLabel": "Net amount of assets presented" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "auth_ref": [ "r22", "r64", "r88", "r152", "r684" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DerivativeAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.", "label": "Derivative Asset, Subject to Master Netting Arrangement, before Offset", "verboseLabel": "Gross amounts of recognized assets" } } }, "localname": "DerivativeFairValueOfDerivativeAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeLiability": { "auth_ref": [ "r22", "r64", "r88", "r152", "r684" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.", "label": "Derivative Liability, Subject to Master Netting Arrangement, before Offset", "verboseLabel": "Gross amounts of recognized liabilities" } } }, "localname": "DerivativeFairValueOfDerivativeLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r820" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "Derivative, Gain (Loss) on Derivative, Net", "terseLabel": "Gains (losses) recognized in current operations" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r119", "r436", "r444" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Line Items]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about derivatives and hedging activities.", "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r17", "r62", "r66", "r67", "r70", "r71", "r435" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table]", "terseLabel": "Derivative Instruments, Gain (Loss) [Table]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossLineItems": { "auth_ref": [ "r435" ], "lang": { "en-us": { "role": { "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.", "label": "Derivative Instruments, Gain (Loss) [Line Items]", "terseLabel": "Derivative Instruments, Gain (Loss) [Line Items]" } } }, "localname": "DerivativeInstrumentsGainLossLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r153", "r155", "r460", "r577", "r578", "r579", "r580", "r583", "r584", "r585", "r586", "r587", "r609", "r611", "r612", "r648", "r649", "r651", "r653", "r654", "r656", "r657", "r684", "r839" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Liability", "terseLabel": "Derivative liability", "totalLabel": "Net amount of liabilities presented" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset": { "auth_ref": [ "r10", "r20" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.", "label": "Derivative Liability, Subject to Master Netting Arrangement, Collateral, Right to Reclaim Cash Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeLiabilityCollateralRightToReclaimCashOffset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "auth_ref": [ "r444" ], "lang": { "en-us": { "role": { "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.", "label": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r17", "r57", "r58", "r59", "r60", "r63", "r66", "r68", "r69", "r71", "r444" ], "lang": { "en-us": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativesFairValueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Derivatives, Fair Value [Line Items]", "terseLabel": "Derivatives, Fair Value [Line Items]" } } }, "localname": "DerivativesFairValueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r117" ], "lang": { "en-us": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Completed technologies" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r365", "r699", "r700", "r701", "r702", "r703", "r704", "r705" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r365", "r699", "r700", "r701", "r702", "r703", "r704", "r705" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DividendsCash": { "auth_ref": [ "r6", "r111" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.", "label": "Dividends, Cash", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "DividendsCash", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]", "terseLabel": "Domestic Tax Authority" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r169", "r187", "r188", "r189", "r190", "r191", "r198", "r200", "r202", "r203", "r204", "r208", "r448", "r449", "r536", "r553", "r686" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (usd per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r169", "r187", "r188", "r189", "r190", "r191", "r200", "r202", "r203", "r204", "r208", "r448", "r449", "r536", "r553", "r686" ], "lang": { "en-us": { "role": { "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.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Net income per weighted-average common and common-equivalent share:" } } }, "localname": "EarningsPerShareDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r197", "r205", "r206", "r207" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Weighted-Average Shares" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageShares" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r469" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r416" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r177", "r416", "r427" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Statutory tax rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": { "auth_ref": [ "r732", "r816" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount", "terseLabel": "Decrease in tax expense related to stock-based compensation" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r406" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r405" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Expense, Tax Benefit", "terseLabel": "Tax benefit from compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement, Option [Member]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Revenue from External Customer [Line Items]", "terseLabel": "Revenue from External Customer [Line Items]" } } }, "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]", "terseLabel": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EquityClassOfTreasuryStockLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Equity, Class of Treasury Stock [Line Items]", "terseLabel": "Equity, Class of Treasury Stock [Line Items]" } } }, "localname": "EquityClassOfTreasuryStockLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r16", "r137", "r165", "r166", "r167", "r178", "r179", "r180", "r184", "r192", "r194", "r209", "r263", "r266", "r353", "r407", "r408", "r409", "r420", "r421", "r437", "r438", "r439", "r440", "r441", "r443", "r447", "r470", "r471", "r472", "r473", "r474", "r475", "r490", "r562", "r563", "r564", "r574", "r635" ], "lang": { "en-us": { "role": { "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.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r454", "r455", "r458" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r454", "r455", "r458" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r337", "r369", "r370", "r371", "r372", "r373", "r374", "r455", "r498", "r499", "r500", "r696", "r697", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r454", "r455", "r456", "r457", "r459" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r453" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r337", "r369", "r374", "r455", "r498", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Quoted\u00a0Prices\u00a0in Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r337", "r369", "r374", "r455", "r499", "r696", "r697", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Significant Other Observable Inputs (Level 2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r337", "r369", "r370", "r371", "r372", "r373", "r374", "r455", "r500", "r696", "r697", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Unobservable Inputs (Level 3)" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r337", "r369", "r370", "r371", "r372", "r373", "r374", "r498", "r499", "r500", "r696", "r697", "r706", "r707", "r708" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r453", "r459" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Measurements, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "auth_ref": [ "r61", "r63", "r70" ], "lang": { "en-us": { "role": { "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.", "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "terseLabel": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]" } } }, "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r259", "r268", "r269", "r274", "r275", "r276", "r278", "r282", "r283", "r338", "r351", "r444", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r551", "r690", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r761", "r762", "r763", "r764" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]", "terseLabel": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r145", "r295" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedTerseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 7.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth 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).", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "terseLabel": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r108" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "verboseLabel": "Remainder of fiscal 2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r108" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth 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).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2028" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r108" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth 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).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r108" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r108" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r293", "r294", "r295", "r296", "r528", "r532" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r107", "r532" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r528" ], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r40", "r41" ], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r107", "r528" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/IntangibleAssetsDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net", "totalLabel": "Net Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.", "label": "Foreign Tax Authority [Member]", "terseLabel": "Foreign Tax Authority" } } }, "localname": "ForeignCountryMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.", "label": "Foreign Currency Contract, Asset, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractAssetFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r465", "r466", "r467", "r468", "r632" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.", "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "terseLabel": "Foreign currency gain (loss)" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfInvestments": { "auth_ref": [ "r9" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.", "label": "Gain (Loss) on Sale of Investments", "negatedLabel": "Realized loss (gain) on sale of investments" } } }, "localname": "GainLossOnSaleOfInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r144", "r288", "r533", "r691", "r712", "r770", "r777" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill", "periodEndLabel": "Balance as of April 2, 2023", "periodStartLabel": "Balance as of December 31, 2022", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_GoodwillDisclosureTextBlock": { "auth_ref": [ "r287", "r289", "r291", "r691" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill.", "label": "Goodwill Disclosure [Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/Goodwill" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r290" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/GoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r92", "r176", "r210", "r215", "r219", "r221", "r262", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r461", "r688", "r786" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross margin" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r17", "r435" ], "lang": { "en-us": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r90", "r124", "r210", "r215", "r219", "r221", "r537", "r549", "r688" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income tax expense" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r297", "r302", "r619" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r302", "r619" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]", "terseLabel": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityNameAxis": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Information by name of taxing authority.", "label": "Income Tax Authority, Name [Axis]", "terseLabel": "Income Tax Authority, Name [Axis]" } } }, "localname": "IncomeTaxAuthorityNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority, Name [Domain]", "terseLabel": "Income Tax Authority, Name [Domain]" } } }, "localname": "IncomeTaxAuthorityNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxContingencyLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Income Tax Contingency [Line Items]", "terseLabel": "Income Tax Contingency [Line Items]" } } }, "localname": "IncomeTaxContingencyLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxContingencyTable": { "auth_ref": [ "r13", "r56", "r115", "r116" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.", "label": "Income Tax Contingency [Table]", "terseLabel": "Income Tax Contingency [Table]" } } }, "localname": "IncomeTaxContingencyTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r177", "r412", "r417", "r418", "r419", "r425", "r428", "r429", "r430", "r573" ], "lang": { "en-us": { "role": { "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.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r130", "r134", "r193", "r194", "r213", "r415", "r426", "r554" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r816" ], "crdr": "debit", "lang": { "en-us": { "role": { "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 increase (decrease) in the valuation allowance for deferred tax assets.", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount", "terseLabel": "Increase in tax expense related to valuation allowance" } } }, "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationOtherAdjustments": { "auth_ref": [ "r816" ], "crdr": "debit", "lang": { "en-us": { "role": { "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 other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount", "terseLabel": "Increase in tax expense related to transfer pricing and return-to-provision adjustments" } } }, "localname": "IncomeTaxReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxSettlements": { "auth_ref": [ "r816" ], "crdr": "debit", "lang": { "en-us": { "role": { "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 income tax settlements. Including, but not limited to, domestic tax settlement, foreign tax settlement, state and local tax settlement, and other tax settlements.", "label": "Effective Income Tax Rate Reconciliation, Tax Settlement, Amount", "terseLabel": "Increase in tax expense arising from tax settlement" } } }, "localname": "IncomeTaxReconciliationTaxSettlements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Accounts Receivable", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "auth_ref": [ "r750" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.", "label": "Increase (Decrease) in Accrued Taxes Payable", "terseLabel": "Accrued income taxes" } } }, "localname": "IncreaseDecreaseInAccruedTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r526", "r750" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Unbilled revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.", "label": "Increase (Decrease) in Deferred Income Taxes", "negatedLabel": "Change in deferred income taxes" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r676" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Deferred Revenue", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Inventories", "negatedTerseLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "negatedTerseLabel": "Other" } } }, "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r8" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedTerseLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_InsuranceRecoveries": { "auth_ref": [ "r94" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount recovered from insurance. These recoveries reduce costs and losses that are reported as a separate line item under operating expenses.", "label": "Insurance Recoveries", "terseLabel": "Insurance recoveries" } } }, "localname": "InsuranceRecoveries", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_InterestReceivable": { "auth_ref": [ "r744", "r842" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.", "label": "Interest Receivable", "terseLabel": "Accrued interest receivable" } } }, "localname": "InterestReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r286" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/Inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r106", "r681" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r150", "r680", "r712" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories", "totalLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r106", "r683" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r106", "r682" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeNonoperating": { "auth_ref": [ "r96" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.", "label": "Investment Income, Nonoperating", "terseLabel": "Investment income" } } }, "localname": "InvestmentIncomeNonoperating", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "terseLabel": "Effective Maturity Dates of Available-for-Sale Investments" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r484", "r711" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "terseLabel": "Lease, cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [ "r483" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r483" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]", "terseLabel": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r825" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "terseLabel": "Lessee, Operating Lease, Liability, Maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 7.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth 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).", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth 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).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2028" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth 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).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r489" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r825" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Remainder of fiscal 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r824" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Term of contract" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r479" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r25", "r176", "r262", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r432", "r433", "r434", "r461", "r594", "r687", "r725", "r786", "r826", "r827" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r83", "r123", "r547", "r712", "r751", "r765", "r822" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r27", "r141", "r176", "r262", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r432", "r433", "r434", "r461", "r712", "r786", "r826", "r827" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.", "label": "Liability for Uncertainty in Income Taxes, Noncurrent", "terseLabel": "Reserve for income taxes", "verboseLabel": "Reserve for income taxes classified as a noncurrent iability" } } }, "localname": "LiabilityForUncertainTaxPositionsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermInvestments": { "auth_ref": [ "r143" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 3.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).", "label": "Long-Term Investments", "terseLabel": "Non-current investments, amortized cost of $478,329 and $476,148 in 2023 and 2022, respectively, allowance for credit losses of $0 in 2023 and 2022", "verboseLabel": "Non-current investments" } } }, "localname": "LongTermInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Maximum Remaining Maturity of Foreign Currency Derivatives", "terseLabel": "Remaining maturity of foreign currency derivatives (up to)" } } }, "localname": "MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money Market Funds, at Carrying Value", "terseLabel": "Money market instruments" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MovementInDeferredRevenueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Deferred Revenue [Roll Forward]", "terseLabel": "Movement in Deferred Revenue [Roll Forward]" } } }, "localname": "MovementInDeferredRevenueRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInStandardProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_MunicipalBondsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.", "label": "Municipal Bonds [Member]", "terseLabel": "Municipal Bonds" } } }, "localname": "MunicipalBondsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r172" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r172" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r101", "r102", "r103" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r91", "r103", "r125", "r139", "r160", "r163", "r167", "r176", "r183", "r187", "r188", "r189", "r190", "r193", "r194", "r201", "r210", "r215", "r219", "r221", "r262", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r449", "r461", "r550", "r616", "r633", "r634", "r688", "r723", "r786" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome", "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetRentableArea": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Net rentable area for properties owned.", "label": "Net Rentable Area", "terseLabel": "Rentable area" } } }, "localname": "NetRentableArea", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "areaItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r132", "r133", "r135", "r138", "r181", "r182", "r185", "r186", "r195", "r196", "r264", "r265", "r422", "r423", "r424", "r442", "r446", "r450", "r451", "r452", "r462", "r463", "r464", "r477", "r478", "r491", "r529", "r530", "r531", "r565", "r566", "r567", "r568", "r569" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.", "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/NewPronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Not Designated as Hedging Instrument [Member]", "terseLabel": "Not Designated as Hedging Instrument" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails", "http://www.cognex.com/role/DerivativeInstrumentsDetails", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails", "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OffsettingAssetsTableTextBlock": { "auth_ref": [ "r87", "r154" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.", "label": "Offsetting Assets [Table Text Block]", "terseLabel": "Offsetting Assets" } } }, "localname": "OffsettingAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OneTimeTerminationBenefitsMember": { "auth_ref": [ "r692", "r693", "r694", "r695" ], "lang": { "en-us": { "role": { "documentation": "A lump sum payment to an involuntarily terminated employee in conjunction with exit or disposal activities.", "label": "One-time Termination Benefits [Member]", "verboseLabel": "One-time Termination Benefits" } } }, "localname": "OneTimeTerminationBenefitsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r210", "r215", "r219", "r221", "r688" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r485", "r711" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease, cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r481" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r481" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r481" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Non-current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r482", "r486" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating lease, payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r480" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r488", "r711" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r487", "r711" ], "lang": { "en-us": { "role": { "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.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r146" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r7", "r14", "r118" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and reclassification adjustment, of gain (loss) in value of unsold investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent.", "label": "Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "totalLabel": "Net change related to available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r7", "r14", "r118" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "totalLabel": "Net change related to foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r3" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustment", "verboseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Available-for-sale investments:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r7", "r14", "r118", "r161", "r164" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive income (loss), net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r5", "r89", "r159", "r261" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "negatedLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations", "negatedTerseLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r156", "r158", "r261" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Net unrealized gain (loss) on available-for-sale investments, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": { "auth_ref": [ "r4", "r157" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before adjustment, of tax expense (benefit) for 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 tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax", "terseLabel": "Tax effect of unrealized gain (loss) on available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical", "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsMember": { "auth_ref": [ "r61", "r70" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other current assets.", "label": "Other Current Assets [Member]", "terseLabel": "Other Current Assets" } } }, "localname": "OtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r97" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (expense)" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r34" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchase of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRestructuring": { "auth_ref": [ "r301", "r749" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.", "label": "Payments for Restructuring", "negatedTerseLabel": "Cash payments" } } }, "localname": "PaymentsForRestructuring", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r34" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireInvestments": { "auth_ref": [ "r99" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.", "label": "Payments to Acquire Investments", "negatedLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r100" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property, plant, and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Shares" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808", "r809", "r810", "r811", "r812", "r813", "r814", "r815" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808", "r809", "r810", "r811", "r812", "r813", "r814", "r815" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r77", "r340" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r77", "r595" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r77", "r340" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r77", "r595", "r614", "r840", "r841" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValueOutstanding": { "auth_ref": [ "r77", "r595" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by shareholders, which is net of related treasury stock. May be all or a portion of the number of preferred shares authorized. These shares represent the ownership interest of the preferred shareholders.", "label": "Preferred Stock, Value, Outstanding", "terseLabel": "Preferred stock, $.01 par value \u2013 Authorized: 400 shares in 2023 and 2022, respectively; no shares issued and outstanding" } } }, "localname": "PreferredStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r745" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromInsuranceSettlementOperatingActivities": { "auth_ref": [ "r171", "r675" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow for proceeds from settlement of insurance claim, classified as operating activities. Excludes insurance settlement classified as investing activities.", "label": "Proceeds from Insurance Settlement, Operating Activities", "terseLabel": "Proceeds from insurance settlements" } } }, "localname": "ProceedsFromInsuranceSettlementOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": { "auth_ref": [ "r33" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.", "label": "Proceeds from Sale, Maturity and Collection of Investments", "terseLabel": "Maturities and sales of investments" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Product Warranties Disclosures [Abstract]", "terseLabel": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r72", "r320", "r324", "r327" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r325" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Fulfillment of warranty obligations" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r326" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "verboseLabel": "Provisions for warranties issued during the period" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r316", "r317", "r318", "r319", "r321", "r322" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Warranty Obligations" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WarrantyObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r11", "r539", "r548", "r712" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, plant, and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r170", "r271" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Increases to the allowance for credit losses" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": { "auth_ref": [ "r76", "r122" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Purchase Commitment, Remaining Minimum Amount Committed", "terseLabel": "Outstanding purchase orders" } } }, "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CommitmentandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r73", "r411", "r834" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Research and Development Expense", "terseLabel": "Research, development, and engineering expenses" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Research, Development, and Engineering Expenses" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r37" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]", "terseLabel": "Restricted Stock" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units (RSUs)" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]", "terseLabel": "Restructuring and Related Activities [Abstract]" } } }, "localname": "RestructuringAndRelatedActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "auth_ref": [ "r298", "r299", "r301", "r304", "r309" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.", "label": "Restructuring and Related Activities Disclosure [Text Block]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringCharges" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [ "r300", "r301", "r306", "r307" ], "lang": { "en-us": { "role": { "documentation": "Information by type of restructuring cost.", "label": "Restructuring Type [Axis]", "terseLabel": "Restructuring Type [Axis]" } } }, "localname": "RestructuringCostAndReserveAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringCostAndReserveLineItems": { "auth_ref": [ "r300", "r301", "r302", "r303", "r306", "r307", "r308" ], "lang": { "en-us": { "role": { "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.", "label": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring Cost and Reserve [Line Items]" } } }, "localname": "RestructuringCostAndReserveLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringPlanAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by individual restructuring plan.", "label": "Restructuring Plan [Axis]", "terseLabel": "Restructuring Plan [Axis]" } } }, "localname": "RestructuringPlanAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringPlanDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Identification of the individual restructuring plans.", "label": "Restructuring Plan [Domain]", "terseLabel": "Restructuring Plan [Domain]" } } }, "localname": "RestructuringPlanDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringReserve": { "auth_ref": [ "r301", "r305" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.", "label": "Restructuring Reserve", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "RestructuringReserve", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringReserveRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Restructuring Reserve [Roll Forward]", "terseLabel": "Restructuring Reserve [Roll Forward]" } } }, "localname": "RestructuringReserveRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserveTranslationAdjustment": { "auth_ref": [ "r781", "r782" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the restructuring reserve.", "label": "Restructuring Reserve, Foreign Currency Translation Gain (Loss)", "negatedTerseLabel": "Foreign exchange rate changes" } } }, "localname": "RestructuringReserveTranslationAdjustment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r80", "r111", "r546", "r565", "r569", "r572", "r596", "r712" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r137", "r178", "r179", "r180", "r184", "r192", "r194", "r263", "r266", "r407", "r408", "r409", "r420", "r421", "r437", "r439", "r440", "r443", "r447", "r562", "r564", "r574", "r840" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueCommissionersIrelandMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government of Ireland.", "label": "Revenue Commissioners, Ireland [Member]", "terseLabel": "Revenue Commissioners, Ireland" } } }, "localname": "RevenueCommissionersIrelandMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r211", "r212", "r214", "r217", "r218", "r222", "r223", "r225", "r364", "r365", "r527" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r136", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r367" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r21" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Revenue from External Customers by Geographic Areas" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [ "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241" ], "lang": { "en-us": { "role": { "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.", "label": "Debt Securities, Available-for-Sale [Line Items]", "terseLabel": "Debt Securities, Available-for-sale" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.", "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]", "terseLabel": "Summary of Available-for-Sale Investments" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessInsuranceRecoveriesTable": { "auth_ref": [ "r98" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about business interruption insurance recoveries. Includes, but is not limited to, the nature of the event resulting in business interruption loss, amount of business interruption insurance recoveries recognized, and line item in the statement of income in which those recoveries are classified.", "label": "Business Insurance Recoveries [Table]", "terseLabel": "Business Insurance Recoveries [Table]" } } }, "localname": "ScheduleOfBusinessInsuranceRecoveriesTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r62", "r66", "r435" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Derivative Instruments, Gain (Loss)" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": { "auth_ref": [ "r63" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.", "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value" } } }, "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r53" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r53" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "verboseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table]", "terseLabel": "Revenue from External Customers by Products and Services [Table]" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "terseLabel": "Revenue from External Customers by Products and Services" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r454", "r455" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, 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).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Assets and Liabilities Measured at Fair Value on a Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r40", "r41", "r528" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r40", "r41" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r691", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/GoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r23", "r84", "r85", "r86" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventories" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/InventoriesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": { "auth_ref": [ "r52" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units.", "label": "Schedule of Nonvested Performance-Based Units Activity [Table Text Block]", "terseLabel": "Schedule of Nonvested Performance-based Units Activity" } } }, "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [ "r52" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.", "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of Nonvested Restricted Stock Units Activity" } } }, "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r323" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Changes in Warranty Obligations" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r300", "r301", "r302", "r303", "r306", "r307", "r308" ], "lang": { "en-us": { "role": { "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.", "label": "Schedule of Restructuring and Related Costs [Table]", "terseLabel": "Schedule of Restructuring and Related Costs [Table]" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "auth_ref": [ "r44", "r45" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "terseLabel": "Schedule of Activity in Restructuring Reserve" } } }, "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r376", "r378", "r379", "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" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r18", "r19", "r51" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Summary of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).", "label": "Schedule of Unrealized Loss on Investments [Table Text Block]", "terseLabel": "Gross Unrealized Losses and Fair Values for Available-for-Sale Investments" } } }, "localname": "ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r36" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Calculation of Weighted-Average Shares" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r41" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Intangible Assets, Future Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r95" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general, and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r710" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "terseLabel": "Vesting period for stock option plans" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r395" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedTerseLabel": "Forfeited or expired (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r395" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited or expired (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r393" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r393" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r390", "r391" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Nonvested as of End of Period (in shares)", "periodStartLabel": "Nonvested as of Beginning of Period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares (in thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r390", "r391" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Nonvested as of End of Period (in dollars per share)", "periodStartLabel": "Nonvested as of Beginning of Period (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted-Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedTerseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "terseLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r402" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r401" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r403" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r376", "r378", "r379", "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" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails", "http://www.cognex.com/role/WeightedAverageSharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for grant under stock option plans (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Weighted- Average Remaining Contractual Term\u00a0(in\u00a0years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "auth_ref": [ "r796" ], "lang": { "en-us": { "role": { "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period", "negatedLabel": "Forfeited or expired, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r796" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price of options that were either forfeited or expired.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price", "terseLabel": "Forfeited or expired, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": { "auth_ref": [ "r797" ], "lang": { "en-us": { "role": { "documentation": "Net number of share options (or share units) granted during the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures", "terseLabel": "Granted, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r396" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average grant-date fair values, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r50" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Outstanding, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r382", "r383" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding, shares", "periodStartLabel": "Outstanding, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Shares (in\u00a0thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r382", "r383" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding, in dollars per share", "periodStartLabel": "Outstanding, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted- Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "auth_ref": [ "r399" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "terseLabel": "Options vested or expected to vest as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r398" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Options vested or expected to vest, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r398" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Vested and expected to vest, outstanding, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period", "terseLabel": "Net issuance of common stock under stock plans (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r379", "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" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails", "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r387" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Exercised, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r386" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r400" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r398" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options vested or expected to vest, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "auth_ref": [ "r110", "r112" ], "lang": { "en-us": { "role": { "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).", "label": "Shareholders' Equity and Share-Based Payments [Text Block]", "terseLabel": "Shareholders' Equity and Share-based Payments" } } }, "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpense" ], "xbrltype": "textBlockItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r104", "r174" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SovereignDebtMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt securities that are issued or guaranteed by a national government.", "label": "Sovereign Debt [Member]", "terseLabel": "Sovereign Bonds" } } }, "localname": "SovereignDebtMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SovereignDebtSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt security issued by foreign government (not within the country of domicile of the entity).", "label": "Sovereign Debt Securities [Member]", "terseLabel": "Sovereign Bonds" } } }, "localname": "SovereignDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StateAdministrationOfTaxationChinaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government of China.", "label": "State Administration of Taxation, China [Member]", "terseLabel": "State Administration of Taxation, China" } } }, "localname": "StateAdministrationOfTaxationChinaMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/IncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r16", "r29", "r137", "r165", "r166", "r167", "r178", "r179", "r180", "r184", "r192", "r194", "r209", "r263", "r266", "r353", "r407", "r408", "r409", "r420", "r421", "r437", "r438", "r439", "r440", "r441", "r443", "r447", "r470", "r471", "r472", "r473", "r474", "r475", "r490", "r562", "r563", "r564", "r574", "r635" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r178", "r179", "r180", "r209", "r527", "r570", "r576", "r588", "r589", "r590", "r591", "r592", "r593", "r595", "r598", "r599", "r600", "r601", "r602", "r604", "r605", "r606", "r607", "r609", "r610", "r611", "r612", "r613", "r615", "r617", "r618", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r635", "r718" ], "lang": { "en-us": { "role": { "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.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]", "terseLabel": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r178", "r179", "r180", "r209", "r527", "r570", "r576", "r588", "r589", "r590", "r591", "r592", "r593", "r595", "r598", "r599", "r600", "r601", "r602", "r604", "r605", "r606", "r607", "r609", "r610", "r611", "r612", "r613", "r615", "r617", "r618", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r635", "r718" ], "lang": { "en-us": { "role": { "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.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r16", "r77", "r78", "r111", "r387" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "negatedLabel": "Exercised, shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r16", "r29", "r111" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Net issuance of common stock under stock plans" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r9" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for option under share-based payment arrangement.", "label": "Stock or Unit Option Plan Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRedeemedOrCalledDuringPeriodShares": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "Number of stock bought back by the entity at the exercise price or redemption price.", "label": "Stock Redeemed or Called During Period, Shares", "terseLabel": "Shares repurchased at cost (in shares)" } } }, "localname": "StockRedeemedOrCalledDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRedeemedOrCalledDuringPeriodValue": { "auth_ref": [ "r16" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock bought back by the entity at the exercise price or redemption price.", "label": "Stock Redeemed or Called During Period, Value", "terseLabel": "Shares repurchased at cost" } } }, "localname": "StockRedeemedOrCalledDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Authorized common stock to be repurchased" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Remaining authorized repurchase amount" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r16", "r77", "r78", "r111", "r571", "r635", "r660" ], "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Shares", "negatedTerseLabel": "Repurchase of common stock (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r16", "r77", "r78", "r111", "r574", "r635", "r660", "r724" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Value", "negatedTerseLabel": "Repurchase of common stock" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r78", "r81", "r82", "r105", "r597", "r614", "r636", "r637", "r712", "r725", "r751", "r765", "r822", "r840" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Equity, Attributable to Parent", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "totalLabel": "Total shareholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Shareholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r110", "r175", "r339", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r352", "r353", "r445", "r638", "r639", "r661" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for equity.", "label": "Equity [Text Block]", "terseLabel": "Stock Repurchase Program" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgram" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [ "r476", "r493" ], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r476", "r493" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails", "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r476", "r493" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]", "terseLabel": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r476", "r493" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]", "terseLabel": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails", "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r476", "r493" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/LossfromFireDetails", "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]", "terseLabel": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r492", "r494" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/SubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r259", "r338", "r351", "r444", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r551", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r761", "r762", "r763", "r764" ], "lang": { "en-us": { "role": { "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.", "label": "Financial Instruments [Domain]", "terseLabel": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [ "r300", "r301", "r306", "r307" ], "lang": { "en-us": { "role": { "documentation": "Identification of the types of restructuring costs.", "label": "Type of Restructuring [Domain]", "terseLabel": "Type of Restructuring [Domain]" } } }, "localname": "TypeOfRestructuringDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/RestructuringChargesActivityinRestructuringReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r685", "r706", "r708", "r835" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).", "label": "US Treasury Securities [Member]", "terseLabel": "Treasury Bills" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails", "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r755" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment", "terseLabel": "Effect of dilutive equity awards (in shares)" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r199", "r204" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "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.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (shares)", "totalLabel": "Weighted-average common and common-equivalent shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common and common-equivalent shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r198", "r204" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (shares)", "verboseLabel": "Basic weighted-average common shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsofOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 14 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480463/815-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org//235/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org//505/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "https://asc.fasb.org//815/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(17))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-7", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)(1)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)(2)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "https://asc.fasb.org//250/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(12))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-17A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "21B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4D", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(3)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(4)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(i)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org//330/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//350-20/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//350-30/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "420", "URI": "https://asc.fasb.org//420/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(e))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(4)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)(2)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//842-20/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "https://asc.fasb.org//855/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(1)", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(2)", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(3)", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(2)(a))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(c)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(4)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "405", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(c)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(Column G))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13A(Column D))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13A(Column E))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column B))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column E))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column E))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column H))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-16", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480238/815-25-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r726": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r727": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r728": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r729": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r731": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "740", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480887/718-740-35-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r733": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r735": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r736": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r737": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r738": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r739": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r741": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r742": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r743": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(c))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r744": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r745": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r746": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r747": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r748": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r749": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(24))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r750": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r751": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r752": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r753": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r754": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r755": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r756": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r757": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(25))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r763": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r766": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r767": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r768": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r769": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r770": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r771": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r772": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r773": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r774": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r775": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r776": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r777": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r778": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r779": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r780": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r781": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r782": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r783": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r784": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r785": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r786": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r787": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r788": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r789": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r790": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r791": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r792": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r793": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r794": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r795": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r796": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r797": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r798": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r799": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r800": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r801": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r802": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r803": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r804": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r805": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r806": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r807": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r808": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r809": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r810": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r811": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r812": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r813": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r814": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r815": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r816": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r817": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r818": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r819": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r820": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r821": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r822": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r823": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147479424/830-30-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r824": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r825": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r826": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r827": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r828": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r829": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r830": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r831": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r832": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r833": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r834": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r835": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r836": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(5))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r837": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r838": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r839": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(3)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r840": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r841": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r842": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r843": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r844": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r845": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r846": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-7", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.3)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483605/220-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 96 0000851205-23-000008-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000851205-23-000008-xbrl.zip M4$L#!!0 ( "XXI%9>26B!+ @ /0L : 830R,C R,RTQ,'%X97AH M:6)I=#,Q,2YH=&WM6MMRVS@2?=^OP,BU&;M*-^KBB^RXRK$]-=Z:F612GDKM MTQ9$@A+6$,$!0,F:K]_3 &7)EN3(6<>73/Q B\2MT7WZ=#?(HQ_.WI]>_OO# M.1NZD6(?_GCWR\4IJ]0:C4_MTT;C[/*,_7SYZR^L4V]&[-+PS$HG=<95HW'^ M6X55AL[EO49C,IG4)^VZ-H/&Y<<&3=5I**VMJ"H$>Z/&GZ1H[Y.IL='B1PSF;RMR"CF^^W=OHTV_MQG':2N.# M..GT.^(_$81LH'L88]U4B;>5D=?9)*">>J+,8#F4Z9&W+W9JN[ M?_@EEOAO86F2)]U.]&8KVFT>+E\OV)"/!3-B+,4$3NR&TK(_"VX %C7%\UQ# M!SIC/VDS8E&S]CO3*;QZD(EK_#-Y:5UHX^#5:*.U3AOON(4.L-O1E%UE>J)$ M,A#5H)12%8D6EF4:M(=EN,P8SZ:LR)PI!(0'$7I.A(XX&^&.A&4IC_'(,#V" M SL=^BUUR$0LK.5F2EU&_$I@W84Y+9XE$ 9+*D^H6(,ZQ-* 0-$MPW#FG8Q- MAC(>,EO093Y^(HPH)Z$-C*158%HB[8ET0VS0YB+V M*\.433";8YQK"$]:>+ M:GA5YFX_V-R"I3*#0LDVA4('&%W#,GXYZ^6)N1VR5.F)G2'" MB(&T#I'>,4X/@]R0LKI@6#L39DG:5V7;SCK;7MY2Q)NM_5:T=VA+ZY4\3M#7 M:2IQNVUWO)8N&#?"VP/ZE7TE2&], 1])>V01E"W$3R?O)_N$VECI6V!<<0) M1JM@F-SH6"1X;-DV[) (H^_PZ'O)L(-@)W.UCH= C:O-:U-T608JHFX2[ M<"LI=&]*#P<'^H^UH(V-T( ,': M:X7+>4(,5U,B=;UN%%+ 98G#(PGRS%RO%NT_<;:QS7=F.WBR].RV9NI[?L]G MPD(K (^/'9]'=I7"6LP+N_D0BB]] 926*X6(I0N#"4!-8VD]X:&7R/P\E&S- MJ7*1;HU0W,.^#%ESZ%9+*J9&"=J$+%8KF?A"Q19]*Q/)C:0-R!!8?0#(:*;" M4K#S1&%]9/3TB$H( J%$\8-R)$@R+A0G5L>VO!#SH(D1(00O9@[XU1?4$<2+ M\2*YGVA?"7+[+Q*Y&S/F$H WY]J-<0SLCV5"\.06A3<%%6X!;:AY%P1%N=5W(^'SLNBXWE!?(UBTKMG4X$32F\&.RWC .J6\OLT+>L!-L#V)"BM([CPI"U M%T+BBEE'VCH\IR,IS&5C3%0>.;#M-4-2P!8\=:=W*3A*(.%+;JK&L^)&KIT@ MU9#;F_R!&,[#7"2>^KT^2EJ>HK"^$JJLO^_TK_[?*OH\M-=FTBM.)Y\@ =\0 MZMU'+\'\D50R VYU3A;$78O@F?,&F?\!07\I8;R1CB-I=-K8FSCK'V#*T4@Z M)\0]S-S7B.34GDC(YR?9!L1 A):(%O\I=9WYA?BSD!#?^T"1Q;Z@W_E>:?U= M*JT3A4P->I' /M7:5+7'4@"I90"_J7@F@E]11 Z9FX_)/N?T)XJSLZ 'X;\L M3L))QPKRXPD&6G'#?6M]IJL+0PK,MH.*/?$M,54-@E-E8J[&@Z)CQ07ER;4J"%J-< MZ:E ZV2H R7S6X@%PAXE=:AO[,N M^+0G,Z\O/^BPG*NOG=,CFNYP3!$(V40)(@^>T%R^(SPXJ.\U]^@UH4/T=7]AZU&T] MNJS->K?=?G19N^UZ,QCZL],V/!0"' XF_/L;:5=N<-4O59^S:+;)$4NNH0Y MG3\51?GWW6?P_]LI1KG?U[>57_F4=:K^JX+'WTR@@P_? _LODX_\!4$L#!!0 ( "XX MI%9*U9-X/0@ !L M4FLT/K7/&HWSZW/VC^N??V*=>C-BUX9G5CJI,ZX:C8M?*JR2.I?W&XW)9%*? MM.O:#!O7'QNT5:>AM+90%TY43H[I#OX"%R=_._ZA5F/G.BY&D#D6&^ .!"NL MS(;LDP![PVJU1AWTBDXF>USW C7QPU_R/% MB^G)L9!C)L7;BFRV.[U>2W1['3CL'$*G-V@U13?N';;B9A0E[?]$*&0#IX)SAR>9W!]^#-LL[*9 M@UM7XTH.L[Y7J1*6SH9CK;3I[S3]OR,:J25\)-6T_^.ID5S]6+5H_)H%(Y,P M;.4?@)*@4/YR$@0]P-5*9C 3/&J1J!>WJ1Q(Q]I1O;4LYZ*ZW Q18Z=S7(7; M+D@79Z?7EAU^VT69_ M69G_%M;)9/H5M:F<7%;9%2\4.Z^S:RV&*1]560R&Y& NY>[-3O?PZ,]XYCF4 MB=[L1/O-H]7?2Y;R,3 #8PD3#&J72LM^+[A!\*@IWL^U<4QG[+TV(Q8U:[\R MG6"4#S.XQ?],7GH;K=%[-=9H;;+&.V[1!JCM:,IN,CU1((90#48I32$T6)9I MI$$\ALN,\6S*BLR9 E!X)$;/D6@CSD9X1<*RA,=XRS ]PH!V.LQ;F9!!#-9R M,Z4I(WX#>.["GA;O"10&CU2>8/$,FA!+@X2*TS)YN/]K=P!*9 MH4')-W,#5M'7.!V'S<*XS!(,#1\$^'>L"H%[HI,6K%5%!TL*IQQM3/ @V"@U M]W]I>GOO:(28\,F[2C,*A1/0Z1H]XX^S7IZ8VY0E2D_L#!$&AM(ZS/R.<;H9 MY$8IJPN.M3-A5J1]5;[M;/+M]9(AWNP'VA?.5! =F. (!@H:5-:0=-&&/D4_70MI(V5M@6N(TXP6@7'Y$;'(/"V M9;OH!P'HV&#LB]LXY=D0V"F&V\="X8RHS6M1=Q>"%%%7A*MP*2F59P$0M#^C MF%S 2? ;R;+U01'K>1P_.H/3P<*K[4@C8WPH P=L;ARM5V*7[\TT^&KEVK)EZ@=>YW.P:!4$C\\= MGT=VE=):S N[_1+*+P- E)8GA8RE"X,;(#6-I?6$A[,@\_M0L36GRD6Z-:"X MAWV9LN;0K9943(,2:1-EL5I)X1L76PRL%)(;20K(D%A] LAHI\)2LO-$87UF M]/2(G1$*A"V+7Y1C@23C0G%B=53+"S%/FK@BI.#%R@'_&@!-1.+%]2 >)MI7 M@MS!BT3NUHRY N#MN79K'"/VQU(0/+G%1IR2"K<(;:K8"+/:AY%(1"6IBY4?#YWW98*Y056ZQ8#D*J/&-LTX07PM=\0,BPJ M%((91R"G**$I6-<&P&(TR1S3QS"_51Q0WUI6AWYD+=@>P8:4I74<%X:\O9 2U^PZ MTM;A?7I$A7O9&#'B4M3[&QO@%5]M_WYE?_;Q-]'MH;*^DU3RN_0@&^)=2[3]Z" M^4=28@;^V.H^K+ 8DU@B]$(.ZP_P"M3YIRU3\V^F93_ M4EJA4\SLB4'>JJ*CP;,M0L4_\BTQ50V)469CK<9 V3'CP_+)M2D)&D:YTE/ MT4FJ R7S)<0BPIZD=*AO\ZRQZYWI?/-4C@X0<&!J:%_%T79'8\I 6$V4(/+@"KW[0/*#7A@ZSKQ.S@\LW MBG7_1K'AQ.K8?KUYV-DXVJQ'&\<>VK6-@]'FI0]M^_"1O5[OZ86M1]W6D\O: MK'?;[2>7M=NJ=UK;"=3P4 AP0,#9G&=O*^W*/:;JM_);%BV3%(7H"N9T_K4H MRK__/L?X7RXQ2GU?GRH_\RGK5/U7!D^O3*"!I]'G<"MU[A57K]8M[Z9?"%_? M7?)G7?)FIX/YV/_>_Z)A2;DMJ:U).E:V,L@CIGX[*/A+*5W68/YM<(ZRT3L6 M-A/J&=7<,C2^A\/W<'C&3/ ,B/\-,HDMWK]D#.S*@)6B_%SIO6_,0K=^EDJ8 MW:%6[4-X0/=RPN/9I[YA9=UZ+85!^ZM>K#AN^,UO?>]KVAS'3XC[H=W M[F-8^:YVGA)\A]V<+^$#S N%V[QDTV>K&S_2+7_#)\/^X^63_P%02P,$% M @ +CBD5H?D T)=!0 \AT !H !A-#(R,#(S+3$P<7AE>&AI8FET,S(Q M+FAT;>U9;7/:.!#^?K]B2^;2M -^ Q+>FAD*=)J;-N2".[E^NI$M.=956*XL M0KA??RL9FC2$#NWDVJ1-)@/8JUT]SVJEE5:])\/Q('Q_,H)43P6]2-+%88_R M"^#T184?)+$71]X^;;6#AM]HM2@)2!RPMA\%]7T2_>TC2!>;ESJ%7@CVHC+E M62UEIO].(W .FKGNSCG5:I*'$LA56?'LW]=(ZDE9,K%HO.TKS@13ZL%.K]6,,634ESP?QDB05#V M<5X"/4!MP3.V NX'!NKH,N41UU /'/_YYT"O\R7J'"EKF:,:VKT&.48?,_4_ M86[B/_'XO5;\,Z9. ,'_'K3J]Y3 ME/T)](?CDW T? NG8P&=O#;WCZ,7T'X>@23_NG+_O%H4AO_]6;T'OJ#T$@" MSPN^):S_F16:)XOO2BI,&];E ME^;K,$^MQ17**I "$HYX8,YU:NU.6#Q3F$@0,LDHC"[CE&3G%N64 M%X7AC?^F)<7D8'G*I K)3""4&*D(H_K)G&(?9UPQDP<*XT8T;WQ7(O3K>^09 M("&_N4=+-"1' S&)!*N:YC<0?4+3C[41^^UZHU2;6OI5B_F39WF&WIJ6@Q7C MX!-N!I67\$M70$*X=:)BA<%8-6(B!* :,P&%#(H<0:/$:"4\(UELWJ-!:A.N M[1-;S41)4>* V#Z+%8/E"#MKT^!N8CO8*K9+EV\S$S&9XJS39A!6TD@JG!4U M1"A(7K#.ZD>7\B(79-'AF>W1*G67MB*IM9P:<]T+,P]B(I9SVT[S4KQ,V^VV MTVK63>;6F*XU776\3.J.3>JNINNR \=KMS=*/W NG;0RH'#T"@PVE]4ZI650DXHQ2UD)\@OP?]\ ME1(GB:_=G09N4>PGG,H(P< ?#IQQ(9C6G]';.D<:4G **_P_T"-;AM1C&-V/,+K_D7*"FVQ.367*[+@'*6<) MG@CP=*#Y!8-Q>59[C)['Z+F5]=Z)XGARR_'HMA8TS]:CQK5'F?MU5MM8T7R4 M/X)R91?^@'5.7 M-LJ"DX@+KA>E-8)>*7NI(D"UA,JO(T7%R)18XV5%'%]%IF2=,,6RV$BP!RB MX%VID C/53.]6673;04 -<= : 830R,C R,RTQ,'%X97AH:6)I=#,R,BYH=&WM66U3VS@0 M_GZ_8AOF*.TD?@_DK#)/$7NWJ>797;ZO>D^'I('Q_-H)$92FI;8].:E!+E"HZMCV?SZVY;PDYM<-S6YL*[%2(DEE4 MT=IA3[_!3T;HX6^])XT&#$4TRUBN()*,*$9A5O)\"N\H*S] H[%L-1#%0O)I MHL!S/!_>"?F!7Y!*KKA*V>'*3L^NGGNVZ:0W$71QV*/\ CA]4>-11)R@/0GV M_18-6,MO[;=BWX\\)VJU6W&3_NTB2!N;5SJE6J3L12WC>2-ANO].X%D'S4)U MYYRJI.,ZSN\UT_2P%XM<87\2]:N?E9DU8XI=J@9)^33O&$JU2G4ECD0J9&?' M,7]=+6G$)./IHO.T+SE)G]9+='ZC9)+'E;CD_S)$@J#,X[P">H#:*<_9"KCK M::BCRX1/N +?L[SGGP.]SI?(*5)6HD UM'L-# M?GA\>H*9>3Y^VS\)(3S=B/_GXG5;\-8:6P,+7+_IU.\IROX8^L/3LW T? N M'8\&)OAM9Q].CR!\-8)Q__QE_V0T;IS^]7KT'OJ#4$L\Q_&^):W_F96*QXL? M2BI,&,QRRF2)"'#F$W',(R;Q&^<[?'.)7[(0DNB)%O84-M_=:7F>TQV(K"#Y MPCRYW6>0,,DF"T!E),%9"4I PDOXD(MYRNB4@4J( FWAFJI[T"WAXXQ(C&:Z M ,FP+P78U9&0&;A.XP^(A31:5ZT*Y"HH,,1-H5](GN[NN/M.UZM74_-UF.?& MX@IE'4@),4<\,.ATHM1O1O/9=A=#U]\@S0$)N7\K)( MR:+#<].C4>HN;4V$4B+3YKH7>AQ$)%V.;3/,*_%RV6ZWK5;3URNWPN5:T57' MRT7=,HNZK>BZ[,#R@N9&J6.Y&V5?LNJUK'UOL^J7S'Y)YEENX-TYV,!R#S9+ MO]5JT[<\;SNPM@E:%3A,C1*S_47-KZT4"D(I;B$[7G$)[N>S?,KB]>P0Q8^: M]GV;H:'$N^#X_*&[* H)KW[YY,-6#OAD]K*SHWYJP'&Y:7BU\D MOW9W MRBF$\X([,4AA:$@DX3DGU&;LL)P=$<:ULYY"N:_CKIO 7IYZ0H7[ZR.S(6=F M$SY(.%N]T5OTT^KX]IA4CTEU*^N],\DQ4PI,E;6D>;:>-;8YW7S+\2WD&9Y> M3]@M.RA5"*\E>*='L/;@=4.#OX'Q_#G7['\W%,* MH2[Q+FN^455W+!-=3L6,UF(DMU2*&UM70Q% M,P(;RCDO<E8R:9WG7Q'%N0?*&KR/J2T!3/;P*]PN>#6)/>1L/:8O%=1?3&+2 Z MT%1E.Y*E&($+MG8O>#63F$G!N5(A$SP^S=1FE4U7+ALO&9>?U96GN7P]_ ]0 M2P,$% @ +CBD5L)GN=6LL $ :-H4 !$ !C9VYX+3(P,C,P-# R+FAT M;>R]:5<;R;(N_/W^"KV<\Y[K7HO".0_NWMR%+:#I:PD;9+.E+UXY0@D-; T8 M^/4WLR1F@1DDJ,+5>]N65%59F1D13PP9&?G7_SGI=BK';C!,^[U_+<$5L%3Y M/ZM__7])\N^/.Y\KU;X9=UUO5/DT<&KD;.5G.CJH[%DW/*SX0;];V>L/#M-C ME239,Y_Z1Z>#=/]@5$$ X1L7!Q\$0, [;1-#D$L(ECC17HF$$ BL@-PG2\#X, "4 )1$N7C21#9ZXU%+ZO[/>/[VT'T@2(!,/S=DQ_ MW!L-3B_:R3ISWM#T8GP]OGA@/!BXGKGKB>G5:X_$.]+90T8 X-#?X4CUC+L8 MV[!/$.3W/3&YX^H+;'J]1]-[V?O)Q8ON[_=.KC5L^OL]=Q+^Z69]!@1162\FX=9XKMT:KU[RY%WC MAO@*4U[T=32XLFWW:4@1T[9U;^Z;J0J\='$_6>< M'O]KZ5._-PKHD#1.C\+,FLFW?RV-W,GH?3::]ZO_ZW_]K[]&Z:CC5B,/).?$ M_NO]Y,>_WD^:UGU[NOJ738\KP]%IQ_UKR:;#HXXZ_=#K]USH0'KR(=[H!I./ MJ;6NEWT,U^L!H@:IF;S_9+3C_+^64@IPD%ZAC WH(*43$A,GM<>, 86T^5'- MN@(!3"X9L*>Z\=4N_;#>"_T[_12&,U"=K9YU)__7G2Y54AN:MOC[J:[VCS^C MG>,FKHUM>_VXM2G;V^WZ0:O:_+E=K<'MZCIJMK_^K&U^H_6]K9-Z8_VT>68[ MK<;Z20W5?G[&]4[SK'_6W/N*:M7]LWIC_Z3>W0*UZL?.=N-[6FM\.ZEU:[BU M%_YMU-NU#0$^H]9I<\^P5GLC;85V6U7SL][^>E:O_M.M[ZWC^MY7V&I_[#3; MWT"]NI'6SKX>V\V-5&]^8_6S>AKN0;6];S];C;73^N;66?UL']?/_NG44;U3 M;^RTMQOKM-E=GS[S/;R+]EJ-/JZA+=AL-$]:C8^=6G4+--LUO%TUN-;]AIOH M&ZQOUFBMT4F;W\7)Y\;6J+8+PK_KI[7V.JI__2$9IHA0E5C!<4!]KA/EF$LX M@U)0*@$Q<&D5A/]$@&] _WI_C:R+I/*G##='&^G0J$[3J<%ZSU:#GBL)_2M" MG\X@- PSS#@5B9&0),0IEBCF8-#;7CLNN!:4+:TF09T&3?B"5#XW8B[)O!%^ M&99$_A61SV8064!M).(H<1:P(,T()@IJD@!L"3"!"%#PI=5(AE>C\)?0?M^6 M-'X0C<$,&A-F"#4")-2P8)U'0DL4C'7' $30$,JGJO.?#4)B" <4*@BMY7\$H4, H"[;5@>FG5J\[0/8:PF@HFN>4\ M8#]1T@>5[B20BBIJ@NI7]Q!V:AU_V#U0 _0/74]DUW8W>=GN?--M;M%;= M"?=N'#;/=KJMS752/PN]"72MM[=.6IO?#[8;6^@SWNFXOW=.6WOV2"/"MJL' M::U]^+,>^E7;VVG7-UN'S4;@D;;YV=S;0K7VQF%K;YW6VBU?KS;/?GBHG11! M5"5BP<***E@Q0!))''3(8<<465K]0IJ/H2NAC!#K+6?>D&"P::L)Q]@A:9E# MAI5T72A=&\W3'YSA($'6)\YIF!"C;*)U^ 20% [SCT-OM$77-*U.'1M;P5Y M51@R@TWBD58)81(D.AK*C"(H)%/"&3:;KN^O.[\#YUT,_+CA#)\]Q@@^#+-H M2:!\)8L9?!@%3_U?2\.T>]2)L9#LMX-!9(QK[OG*R="&)MY?;V/R_LN73OLP M[(\'V;N0FQF$^[3U?Z_[DC^O3=3,>=,2>J4]IQ1I8@E1%GMC+:26:$8E^K&5H^F:Q.)&,V;@_,K#9F#< M2R?#'T;T&%Z,K.O4<#QPJU,"9!?/FSB_=OX]MG&KO7'&S=O4$9AA)ID,TDJ\U4);&5S<@*J" "AQQM7HG*M1(!/. 9FN<35Z.%>CC*;X M:5Q]E08!\C.]<#$7-CT.8[AZ:X9T:M0?/)%[.:?2A+76OB M_?7>_XI;, K23"$V+EC(4FNEK2-00D*)\URX5\# Z;#=?E3-DZ\VO.SDJ).: M=%1S71U>8=-P=;(N=*'Y1X'R\9GU_XQC?#2H_WXO?!VNG:1!7L]O6S/!'Q]W MXHK1]NC #>)] W<06SMV6SW3[[K)._YZ/_/5%W-ZT<-"@#9B%EEH#)# $\F] M8EI:&,A@&=,>B0RT$408Y@ -KH V.@_)/06TK\V HH0'(S)&@BP14$GF%*;$ M$TR@5HYG,P#S-P-P;C/ #<0:.^@%"SS E&(B&'O22L0M#M,PX8&<:(1K/' - MY)\Q \$1]=H2R*@3Q$,BH0M@9XSW%'FGT[?=V1WUS.'\T6XAX M4BF#7$KCC3*!+E8"&-B2*JRI5VJW>)W64CE2G(&3B M$!H2['U. F!H9J0PP#O)N?."4R#?#)EVW$BE/6?7U:"7]O:'!:&/#::;=%2X M0!@BG%#:<,&4Y)0!#QE[,_1Y%3MN(203GFI/E16..F("S;A0@8"<(*U-4$YO MSP9?J'9Z?5N; :L"D43PNSVA"$FE%;: 8^FDYGAF&+/8!'TQG?;ZQ(74&<9E MD%/(@PH4.DBIH\&MX,XZ#V:N*16;N(O7A*]/51H< *F9$@A*@E!P$[A"P#GO MB3!&F)>+:189>N<5;+U.&B,Y#E3!0;J()5J""*<<2*=YL$/?#FE>PS&8'YF$ M@-A1AAE@GD#IA2<.(<>HH!AJK-\,F5[4,9@??8"E =FD(M 'QR#($'0":VP M]15",PD8,51 &"A.M!<"D6 M M22HD9X;JE\O8*+*.74@JB=5.!*>/ H4081@(;0BW+ @=ADIY_F9(\SKY"O,B M$S2!2 0AS!DA$@6Y@=(;(0E5QE*"W@R97CA?85[T 8AP[R32T 6:8"P)U)HA MY:C61+PAA'MM#W!^)'.>*,F=)9X0XAB1,EB92"(;_ ?HJ+:VLB@-"'0V!+"'=:>0^*6N4 ST9&KA!;#.@KDY+PPDD $> M.26L0<0 J:4"E *H&&36F0(L5K]1!/J5"GMX9]*>ZIDT%D@:C@99!8Z;'N?@ MJ#\(YMC'?L_NQKD(7HXKRFH^)5BP:"N#H#H!"@ZGQL18Y6S0K=C"DH%SJD)+ M!IXP, %<:8VD!983P;$ $CKAH>44!T N57A>57C)P.>A6>^@ ) ;&=U@*SW' M0"M/I' ,0E H!BX,SWS;;0RR#IP^F&%R9;_DA7N#_ZVLC04"&"1"0N6XM@(S M;I ,AG 9PWG[]L,31"DOW.LUE8%1"8TLB@#0B&D#+<" :Z"U+!3WEL;#;\:] MAD+(< Q\>D"$(PHC1IT,C(P\\*RT'!;",&O#H1M]5.;0/=S6+$V'69Z;$)H8 M#[7UE&B&M97!91,TF!!$:T!+]GWSIL-39"DO[*NE0X*9P+5*DE@I2U*NG-". M$N \(H5BW])V^-W8%QOBO,#2,X:(%U!:X*U5X8_WC#A; /:]BSRQRN.'M?W( M-C$BM CEG!L6_8WL!44L(L@+1*4EV%*).?:0,"(-4$@6P=PM.?:W2B^P@8,8 MU13;8-(< 0[JT"@@EHL:?%6ES+@8GP=L4G+QQK#%;.>F"A0,0ZKXRP1$B& MO;1,@&*MIN4&\GYE1^[VC]W I?N]JM.C,JCP' 8.K(J%$I1! HA60FJ)F8BU M/AS!2!7!K,TA Q!PM" "&*L"+\*P+5QKW0PI'J%-3:+"V' M6>$%@TRL\>$8X(09( SV2%MBH%,"%L)R*/GV-PPR>(<]$1Q*%$P$BZUR7#$N M@(;:$BO/"MU8PC@*'00!)JE(862TD4YY1: XNP_/NV$U.E M1SYN:N$::\*HTQA)%T]JXK%H.WS!DS[>%('F6.\[VM>$.T49)8QA 8A2'A*, M!5)8071\8D5XB1#1&*A+<3QM)0@1503I]^ _+P\>>8G/5!!ZP*D M(<$Y <(IS#"():R0IYZ9(H2ZY[0>DA>!B9O.A#>*.\V"P%CA%=18$.<=-7BZ MP%M,@7E1BLQ/1CSPF"D)#9"4(,H4!\$@" "FJ&"D$'M3WG#^K^2(:<"HE$(& MS\\%*\T!J:3 &!CF8('EY=6H,S_989*B6'LF$$43;N*"*N($*2:9'" MJ.#&4.7C*:)$0%2$4@J/6M@IBKB@& 8W5%,K"#%:6*Q(5#<*N6 HOX4HP,N1 M98[:Q1GB)8$4\O"!P:!L,"7&(N68I: EME'U0ED<;L'SHT^]XV*I0&OTV52 MWFP\&$2*14^S*"J&,T4-41 QXTG0-D(:B@4FP0RP&%&:?YG)'7'F>/"DB&<8 M6FTIMP1SI:B%A"/)I(4&N@+LV[B;.)F;^1BBS ]$BQWK%@AB&:#4!(8@TCEA MD:%0,&UX\*M\ 0ZUR253%#E\JQ!D!"&'B30$22Z#):JEH@(RACDH0O+V2^=+ MSY$'<\,%S&.J!<' 6 (840PHR:$&#G&OBK#'.I? 4.BH&_8*.R24A 1R*CBV M2""*%5=6H@*HBE=*<7B#Z&"PLL1S3VFP[CVC0@@O$?)0 D<+T",[Q=$J?=[ MI3GY>+YP" "LH(.6(D(-U^:+ BL,!Q0,'8"R%(]1A MC2D/[*&]9M C50"#,J],460WPU%*J#!.*H6(1%!Z+PBU)#B@Q =U4G+%[[F- M AEL@.566NN)1T *YKFC5JM@;(I"[!U^VP2B))#$Z6#W(T*CRL)%-U]\?J*.#U*C.%:G=[8]'![H_Z(_W#VIJ.%3F8!RD=\&6 M^;-.EPQ.RX0TP__XT<6<=R!#O'#^\/GOY]_CT[,%T7&C.3,8/0,I(_[#BT&]SQC./0!!V-8U]N2>^TC?#QT?++ M'#8XYDE99H*E%:17ALYR+8!5DJH"&%A!D:8C]SD]=G:K%R9U/]4=-S&F/I[6 M5+L_^-0)9+ZN7*MQ5TS_R-F&,P>]?J>_?[J3[A\4)K0"L6+*&*4]M,3'_ ,# M6="K4"@LC2_"/NC'D&T: AN.^MUXI%=O-%!F-%SKV1W7R2SJX4%Z5!3:4<.L M#?@J44!99JE25!L.( CD#,(GWACMKBV)W[R]("337&E$&>9:\;C.(8PA4!&' M-3<04)G_E(4"H>3\DAD".AJ+2#PZ@)*@T(*@2>EB#4KIB%'%R,XJ%$K.CW96 M> N8"=Y\\"*P\1(C(PC&WF/N #1OC':OAY)SW#,$M0>$8R -) )*%?Q\8#V+ MB0),ZV*L_3U2W*KI<#1(]3B*UP0;[P3-7TKF3-J'FQH#95U7#0Z+HBX]@(HB M3X&&\:Q2JYQA %(=[!Y*!:194 "?'YR>:X[XV]G]M+=?=<-TOS[]GI M-6<7' S #S\;_08MGQ$,T,$IU$(398D)GH;2W >Z84T0QL$&RO$VVA@,F,36 MSRL$F.FW#^O?=IX?8G]EUIB7Y%X$%]SX=F0A'?8)@OQRPAX16K""&X>%1MYQ MPH67#(N@(CBD%F+&4'XU^._#.7.TM04G4C/#+6+$&"T4UL!9X[B)_\NQ\K^' MVK5_U]\2M>>#$]V3WITX<3%AC\ )2F PZ84&7@)" 5#!7].,*R8#=. \[P?X M?3AG?C@!/-.((Z.H]01"HXP/%$<$60V5RW/ ^1YJ__UMXRU1>SXX<3#V=^+$ MQ80] B<\ZC]SY?F6Z+V?'"B?71Z)TY<3-@C<,) [!256F#L@I=J M9' YB(5 68HXISF.^OX^G#,_G$! $*8U%PAIPC"72F &&7$.&H)= 9*)YTF5 MY[#8YL.!32,X@0RF*W]!>]2!^IS)!V$4HK@@I8X\5!J?UJKYAHGC+)WXL1%WQ^3 M(F4@E4Q #X0EWC%--*$Q-*KX'QP:PG@3!C!N!<: M8VZ)+D)V3FZH7;_;9,T%3O3N]CLN^OX(G!#2&@$$-T)3HJV5.#!)/"%*P8V3V%LA M2( %!I2WQ@0[P@7J:RP*< !%?J@ROPPEPN.N!^BD)H!X[(2G6!!,,4$BV/F_ MF4V?%UD)^E-I9"UP@A-GE("6.D: UTH)1V26-X;.\\9RN0,I)^2YEC>&'IXW M=F.;TC/RQBA&@BOBC76 *$"$(HA9[2QF%!"'"I #^(O=9/'R6C?,B%&+W@;X M*IE_BC@I8(!$S#GQ4FN*F:'(8R,@)L&?R;\TYH>"KR*#PD,=S[SR+D@BDE0$ M.U,ZH!%6,-!4O0T97!\/^D?N+4I@$#8O/=$ .1J,$Z0TIT@$=Q-#$8\;>!L2 M^"+T>Q7YTS+8^ 21(&N2>*V%%$9+@PT! @K)BB]_IC_NC08Q8O.V),\CB:P, M?CKFC@B!!. 22R8E,&%VO2Z^Y+T Y5Y%YCA#FE&H":0\.'-PLRE]4G':9J_<1TQC9X&9\.TIYZBPJ0&R1L3/#@%A"MP_^E#&(#A!(*G40<>&6M519[3DA!)//+H&_'9K0]V'6#X]2X MJZ5%1JIGUUWLEV\;U)4,7 $&RND!X1@A00#*FA0P0'E@DX]D4*+:@XH^RHRFZE0R92! M6!(#H&9,TV U>2\"%(L"Y+6M_0P(VS@]< M>1/DFP7KFG",'9*6.62*(.J_(.2.BR5PS,C9C)3?>NEHN+/[K=0(C]K&1+W6 MGENO!20TF.C8 @>D=9)!BXPO )LL7B/,E0$+R28,"HB8]HP83S"W$C"# S=X M3MS%BF"^V>07Q/SB!KX_Z$YJYJO!VXR<&8D)LHIHS1WQR"L(I$8V@(#0!K(< M;U'-BR@N)/\,*R "#1@! !+%K/*8"P>T=8XBR'3QI>LW@LK@1G&LE,4J;L1@ M1""E1/B*F8H[_W*/_CHB ::0"(',\.IEAR[56W#)%I#"*&A-+XE*%.'?4%1_N7MI@ M?RF@NZP[,>B/;U>>R.*1V:7SYQ]^9HY$EDL3;$U+"/510@5&Q#)$.<1:%,C, MW.J9?M==Y+=0\CS1]%>LFAMQ9+ 0 D".0&A7PV^+@/+@PXU85(1WB430-AJM3 M W.P%J9L4L0\WKM^Y/Y]59J**@7R&M'@ONA$6?*010-6$E-D91S[@G\ M.BF'DC,7]*Q0Q)$8R9$B_(.-D9(9:8H4+KV7P)-D-=?II+W]Z1IIH/&:[::] M>#Y!N//X;0HP L&08A10!0DB3@LDA:5**\0\4_2M"' .Z/LJ\AL/#G'$!USV MB*C@R")&9#Q2%%)$Q?1$$0 PS*W89B[1CCL:!]A50_=E$!/ NU>H>NM:+2)T M'-9"/5P0")3 >7BX& 1WA@(.#8 D6$L2Q3Q#9#$&/$#MS=3"/ >#PDR"(3UH-I= _@_(+JTPF*%ASP"]+WU-- K^<: MJGCH-3#2(4R"\I-$&:%%4((0*,95@31@KHB5 ]WG%%;2 &Q]EBI MW^VFP_BX&PRW!JZC>L^N\W=W-ZYW8:,_<.E^[]-D7_);E/MH'0-,G =$$T.U M!D)3J(@!)# 5-X7FJ6<0R3V]VHS2 W'#+)7,8$TJI MY/$$QO!%*NN%+U*6\7U$/B]:\'_OKC=>XM'#DTFC9R>U((@1HJC77L&8.^ H ML$8B6&BFN7&2=;@Z'*7F#5,3T7@TU8KK:M!+>_O#+VZ0&?0?3V@="SXZE% X8IF05@AE MC$!*<(^-+='BWF38MX@4P7R"TA#-8HWG6)J/2!:TB0;QP#J)BU"DZ VSQ.N@ MA/,&6@J4)I08B+3S@EJIM6<,,%"HC20OP1*_Q:8OY"1#4"M,!208..&451X1 M8AS6P5HO<>+W2"R^<3R (@1#YFTL="ZD5,AH@P4FP$(O;RJ/EU@]+\3:-'-0 M6$2=HR[6%J?*4\"-TAH#HQV#"&"2NT8 MMUH[#+TCV$TU$YG,&P8TOR"T.]9#]Y]Q>&C]./QU>V?"C1L6KU/( \D9;J7S MJC#L@P@0#U3XFW"N$9.<4L28 IJ) IQAF5F#8S,**J"W'ZNY7%E%K#J3/?> M=<.GO2]FL:_U;,R+'1S?X)[MGFN$QQMNT$TG)SA\=#WGT]&O]-"#N_)1=2;* MS;D[$G;7C!F,G?V<*IUV,A59D'UH'+-8N"*8O0 0!8,^XY BJ+P41&%F"L:7 M]_')IS#N@3*C*XRR$%Y] =EXPPQI6&"\X*![XBRQPFKE/(",!\M;UZJSU=FT->/*U N V=)BXDA MQ&JD..48*6PHH(Y0651N+I7N;\7&S',7JTE8&O2QME1:PKAS7B.K)"M$3%F$'0LD, M\T,GK*SF!EF@!=&,"\,H]=1+Q^*.E/--\G22.)A]R"M7Y&])@#XPG_'&K0\U M@MZG)Q\&;M@?#XP;3KX>.&6SSMOT>/6O\-=Y;4O+@(AKSTP3 )RD&H;Y-\'$ MAA ;\",&OBZ?&8Y..X%\ <.3 Y?N'XP^$+3"Z='HSY^I'1U\@ #\_TO9K:M_ M#8]4;_4O/7@?&IA\GK1SNS4UV \-COI''TAH*0XA49UTO_?!A#EU@]#@2.F. M.[]?]P=A*(GI=SKJ:.@^G'_XTZ;#HXXZ#5S?27LNR1[Z<]JZ[H]&_>Z'V-5C M-QC%H[:F+\G>-[D\'87D*PBA.)!1F+&1/7_Q=(PKV1C?C^R,:V)%@KLO@Q5X M]Z-ELW-K]GU&M\'Y#5-6Q4>CI>RYP#"1(?^U!.G2#:::LDFXM6+[X\AT_P6R M__X\4C:>P_8!5SN6+WF>,-H.Q9W%R?/'Y]="/_N##^0M\D-[$JV[:.?WP MO]<&J>K\[^6AZ@V38$^E?G)YF)ZY#S!T8/+UYV1@/#R=1Y9Q?1#S*S'__S7Y"!/U]ZDA!Z MT"1M;._4*G\%Y=/K]^KC[$3MRE1'[3@?8Y0 P2$,C9H'RF=D)@XJ3V.%BC2 M,[>^57HJ6A#6I1^J?3/N3A7ZTK3T"_Y^JJO]X\]HY[B):V/;7C]N;6#]MGME.J[%^4D.UGY]QO=,\ZY\U M][ZB6G7_K-[8/ZEWMT"M^K&SW?B>UAK?3FK=&F[MA7\;]79M0YQ\1JW3YIYA MS;TF;C7^">_JA#;6SNJ;35@_VS^KG7T_K'%.L>Z?730:MM.K;MQN+WWO5VKUD"K_0V'_I[50S^:>_^T:YNM3KWZC38[ MXF2[NG;ZPV%&K10\D<+BA&@!$T$039"S6EDB%(\V&03)U\P$N*3"ZAP9]18O M/(E1K]@ $&7X.H>NB0?U[%U-#0XKVSWWQT-Z1R=*Y&7M$;DB*'Z*/2)6(")S MU\1"KC#.'J.)KZM=?*EUE3F,U3)[-IG2V&?_76A;='02]>U5HW 0:7=KTOI' MC^29RK=>:OK656J[=T'P+SE[8HXL'N"^CH.+X :=TQUWU!^,EBI9!N0HO"#, M2G"@/NA^OZ-5I],?Z?Y)(:%P(]6;WU@=M;JU[E?:VFO^K)^MTV +G+3VUL^V M&SN=5M4>!EA$]WD5[K48?M[K-T_BN5GL-UQJ'H-G8Z#0;M=!& M>!\*8SQK@N;90;?6$3\_-]9&M5UP\CF,M]9>1_6O/Z@!DB$!$B@,3PBF,A$. MBL0:;:%#D&*L(XQ)3MB?=^'IN3S,8/5[.+KC_!P8^JD@F#'Q!8=5)BQ6.1H/ MAF/5&U5&_N#33;YJS9^!;Z^A75J[9=W_M^V&P?GH0^SH)@ MSC$RR/M@P'*5$(1<(CV""8OUT9T BE,VA6#R]B#XDL46B<&CR[=,0=@/^MW* MCXO_XLLNOST(B^^*]"W>$94K]$&>Z&4%F\I&&O1&8)H8*UX@<*QGT>#XLLF[ M"HD(S_)/SWY(9JT.DILP(&U"'+*)8- F0&MMO&$,&QUC_C#!!$%Q4Z(K+Q[[ MX0]BIH5SS8[;SZK4]$:QQLGOQSGH1]P3R3G423S])R%:HD1:+1)M%;:!!"O"IJ6!E.CH4/?DC:JZ2C824HS^BE_/$ U7HA#6T>MMJUFSY.I]5NISLM#\HWE@">-Y+>1TX8ZV9JFP4Q2C KL4KRT M &[=%$ 'H+."N"" #"<$8Y,(;7G""0<<,T(-9L$I(0GB$'-^RRNY;1;<$UR[ M-)Q ]%0+:#IE:B%&&_JC@^ QM\>#=&C3+!81;*G,Z4^OJI'LUL&^ZJ5GV?<_ M?BNT>@,$WUK96=E=J4P+=PTR"E]'GTJ]O_)14GZ0UCI#4 F<831 MA*CH)W'$$AE/D YF&O04_,([>C%Z?ND'@G5:Z='$6_[=B 5^,&X0@]0DE$@0 MQ"[XLUEXGQK(B#1>6FZ#)0TY S>)%&:7RIQB]KL%,E#$Z;6!4[\GR\ ?)AY: M(S1* 4^(5:(1 0N"KZ8QPAXAC4*+$/!+:_KCT6*==RYT_ERT._]KFMUZS]_ M&.X1)(0FB*E@AWE%$J49"UZPL0!Q(C4)E&$4)#@(W:"&%7&AY6 K#NZEJ7*X$"ZFO?5XX&X4IZI#H5=^),5A(R_!Q\4#=\C/,YG;4D!A(^0+QR MP81I+SJUT2M^F#OZ\(9>)&OY2K['9#W+#9R=E3%2@>B=OD@363.C#P^5U8>- M^(43\<@*Q^PIZUR8KP139/Z[DN0*64""'P$KB#YL52[/"UT/S'Q*1YUL9=8% MJ[YB.L&\S_O*P(-3NC)DVSWMZG[GW?"9P="\#*L^74C/R.7.L\T"U/P\2,,O MEWCTF%AY <:]0!-T"N>G$.E,&@II@D[6=N*Z3JW1:;?:ZV?;>[6?]>H:#K_A M6O4K;;;-:;T:3<^U\._^S;6=M-FNG6SOU;NU1HV&]X4^VO";"6UTTOK9%JAW M8S+I%MB.?;R]N JI5Q XDVCM@GLAF4LD+/^[Y([GXBPY]G1D]3*FS'8J,T*''Y]:0:^ MM;JN"<+"(YIX'[B8&(H2 1Q)F.) <,28LRK81<$3J:_M5M>^3E"X$K=@NE'E M\^=/OUYNOW^=<>J;('+NJ#]TI7'F@R_BRFWU;%Q9=15]6C$'+DQ'-^Y(_7G@ MLB7WZ+9=25E\!_^8+$,$[=&6T.HAEN$FWPUCB0]G]X&*!X>*'W51+JC#XA%,<4=L&]T3VYY9 M/R=W^6 /,U/GD;V:CY$L?+'\TW@P"-ISLJ,Q>H^N=..]];05UQKA+ZBK;/X9[OZ]?;^V+.OI'Y63T/_3NOH&VAMUE!S M;^NL536A;ZUVLUT/?VJDOC$S=54:H8A'P9IV,3O"QNP(I&B"E7%*^^SX^*75 MIGM*QGB^]X'?7+F_2RRGQ1D>+)=O!XP>#4EO9^AO 8?K_=])1LGOR:C/D]&G M!C]R&,.(SGSPX[OI:!31=)P/]$&*U,;Q@=I-F6SZ.X MY7/148Y)?R_B%F[XQTJ!$F<$>G(<0K(R#%&&(TU4/_N&ZV>=M%YMGM:K!VD-_7/8[.X=IJ M?[M9*1'5SFJPU6[B>L/@T":HM[? ]N;667@N;6U^1?7N]TZK_4^W_GUF& ([ MY6F8Z$13;Q/BO8D)%BYQ@F-*$(5(V3(,4;HXO]G0WP(.EV&(WX!1RS#$U#T/ MGK^J=((G["K*&-<)%D*,)43/?!#3#V;^6@D*+9EY8=A5G?!QFL$0(P>FWPTC M/UV.V1:A.1?4X'[\/4C/S]'!^>65RJYS6=^L\VDO*\XXC+&)__DO@5 8YAT] MS"[#/\]O^^4-=_?O_,:8<;%T1R^78GVL++0"D4[0>=[(M621=Y^R.>_WW!\/ MWF60@\ &02L4/#'! BW*ZUZ<.X\6%8LI7,,+BTI)N2"O^S'N_#.\XX=J\#?H M*<8X\^!30-']_N!T1H)H=E.&KV9Z4[%S1=O!9ZS6@N^XTVEM-D_JU7_"/?ND MAC8ZX=F3UE[MI'G6I+6]FQ7WC]+@,_ZLQ9S0S>^'K?8ZJ'5;G>W0Y^9>W&RZ M$?JPT:ZW#T^:LRON2T $TEXDGM+@1S(M$^4E2[RDR%"*-2!\:?7S;.U7^I9% M]S46[S NYM;\8N/:I9!,IG4J*;^/9-SPZ-ZD!JS/\C^>!PA%H&6);,9_3@>AC=;/(R2YYO]-;\@MKZ[*#;;V*[+1SASJ=W M,YO=3^<1S1+IGH5TIS.0#FJ@:"!3HKA0">'&)!I*F"B'.?<4"J$>>(;3+^I% MG$=_P^/N?NDO[[Q^YWW'."T:[& \5GW+5X:7VTW5P#VVA%&L&O7+A1Z?]E3/ M1)C*"FM.=H9.V[BZ")35GYH<_S%Y;+J?U'>R;:;A)],?#-QYR>ML(6=TTHZ'(XS;^SV6UN MNNC"-#OX*E=/I9Y M'JC>ZV>$&0\GR[!A?).326<H+-@6%[5@WLL!)K_*;V+JS#[]0?LU975Q[)(X^9ZMF54!_+E7,S"M&L M(- ]Z\CLSJWZ><-,+BQ,]VHZGR MYL-FM;,F;;77P':U=5@_VR+US=9!W%/1VOQZ5JLVP[-?0SL;W7KCYJED_;-Z MN].M5;^2>O8Z)$0HD#";&.)I([F#BJ,>*>( 11H-O1(.U4 MT'(ESOGMX\%B^,95?L:_IK3=R#:2]GN5<2^=4#:K%SUSS*PHE! M8*XS0&_<36Q_E$P;#-(5(""T!7X[^J_C'T0X+WP\D0IRGQ!!6"(QA(DPE!C/ ME*#QK&7(T3(#<824_^26@^J M]P%GNQQY*$8::Y$B])3S-Z!8D6#^)\*7S3ZNV=D1#GPKP 'IS5.)IFP2;JW8 M_C@RWSKOX=V\Z@$2O+@,!4P*"= 7"2:D@A,MPY"+$!/_C2^3,'@TNK M9=\E>N#48:)\$-(/JO-3G0Z7WE^7[2!E-T;\V,[FYGB\K7IU_=^+63R.<;8' M+0P]HH3SRR.D7!$4/P4AQ0J!;.[8(/ *XWC^!Q2M,'CWD_,YGVC1&=R_YOA, M/+^L[30F/+>5[XST!XYG8ZN^5O^TM?:Y$HS-[9W:6F-KNS[_D4WR"6?C5N:D M+VC0=X1(U4N\9S(GP?CN#[+$DDG>5>5@$#V"__JUBH%@:37X(.JF"GB,YGZ5 MO-OY"OD%ZY0<,HM#MD:N.SW(8>4.9BG)L'@R;%QD^>Q>YJ*]2Z-%EG:G"4/# MRKBGQC8=.?O'BY"J!-MY@NW+QVE+F;N;7CB>W=;+3L7-=C[N7LOKW3YRDW8O MSW\9A;:G\=",SH499J58W3W'NDG69+'ZGH5_B]7E"BI6?[/0>K&ZC(O5W:QR M4[&ZO!:[FRV]X(P_4&D:Y8M I6E4('JQ>TVCF+DU< >N-XP;5[9ZIM]U&5R< M&TH%&67@RM*D*TVZ!YETI9%4&DFED50:28M5NJ0TD@I#+X1N&$D?54?UC*OL M'C@7#"45;:7BX$,<3H'@#*'"Q5JR&48%4\RQTP52S-D<1\5<=<9UM1M4,(PS M'D=0JKN\48J6ZJXX]!+WQP34\*"RT>G_O%PN*1!JB&DDH%A=GL0M"C;/18T$ MQ+Y?^D^H&)TN(P$O&@E8*WWK?%(I"B\KC8W"T O#>XV-;-?20;]CW6 X+:55 M6?_/.!V=ELL0Y3)$N0R1GTZ7QD>Y#%$N0Q1-]?+25"H.O7BL?C%RPUCU\9K- M-"NAO$P:SQ_U1+E#IY3O.SE$\JL[=%"Y0^?UR%!3/;6?X>C_'E:JZ=",A\-8 MN"-:8&M7:D-? F_ 8SLI^!OOV7'#<>?F[H(2D?-':%1NFBRQX+Z=7M=V3>(2 MDU^1#E]CQ?-TE)7YR% V_- Y_QY!NM,?CF/1G37='X\J-34X=*/*3CH\+)$W MA^1$I35-L1-H25W-(*R1+7+TH MCK,PD9Y=(6?^;#+K/<]G$W:M.-'6(N6X),4O2;'=^'M]YWI-I2?08Y8XE;)> MJ@3YK7P;QH.-SPW;$H'S2,\2@4NQ_Q6;B)=;[RY)\4M25)U762+1MZ-X MA(SKI?W!%>0M43:'-"M1MA3M7[ )@B^WM%V2XI>DJ(5&@WWK73!KK^01E>B: M0UJ5Z%J*]*_8A%Q%5UJBZ^N28CL>A%G9ZDU.FPRME+B:0RJ5N%H*\Z_8Y-K^ M)%;BZNN28OWD(-5IN=$SE\3!\ W#Z?QW?9?B?G\E!;"TNAOF28U*OS2GY,'H M/H&_\SCC*]-[[4C>6>?YOO IR+_JXC-)(W]%F>S(WIL%0YYT_G(\KVUQ!S _ MA91S/O[XEYG*Z/PXVLK6A\K]Q[B^1L^V&NNU"KS:L]W&6OAMO=[8O2T##R0Z M7IJ?O"U(!AXX/9^V-^OK_ZY\VM[YLKTSFUIYZ6A]=_OS5C70KGJ%A)7MCU$\P#)JZ "2X^]@AS'L 5WWWYJ8>-0[C"H'Q2L_=?HPOJ+'IP MAV;8>N=TS.R7@MV9W\/>Q8-,U1N2>7/P\B$CF:#>(L=RT^B:O76J<5FCTX812MSN#\(4&V3Z1SY[+\_Y^.\YH5$TQ*165$]_ #J/&+T4S4Q M!?YP>R4K-%8Y'TFN9F>V,,ZNSOSZO%L"YS. <\J7T;C)&5/>'.ALD7UW]4#W MW+#DH^'4&.>NP.D#^:J;6MMQ+QH\VG''KC=V-^?Z,0,#E3P,;S8[_?>S!O;G MS;A>#D;T5WH267-CH$Q62&W<2T<[,08W'MJEP)R]V.?LAY0"#! 0RMC@_4OI MA,3$2>TQ8T A;7Y4HUX$$, D^T 6JI89]*NZ@S_M90$!N^IKHM-)_M*'7V8 M,LO&H-_-:EV$+NREHX-/XV% "3=8/S&=<9R]M>'0A?_;ACI9JDQ6M$-W3D8? M>N-N8OM9&#&^) A0F$N7B5(6K[#X^ZFN]H\_HYWC)JZ-;7O]N+4IV]OM^D&K MVORY7:W![>HZ:K:__JQM?J/UO:V3>F/]M'EF.ZW&^DD-U7Y^QO5.\ZQ_UMS[ MBFK5_;-Z8_^DWMT"M>K'SG;C>UIK?#NI=6NXM1?^;=3;M0UQ4CN57=/=Z&UW M_TE#.S]K9Z'-O7J[WM@YW-[\)ZV'SZWJ5U)K'!S6-M?/ZIM;\#/>.6AV3SK; M[1JJ;_[3;35VVLVS^N%V=>>PU5ZC]>YZ^-/$S;,:K;5;W69WX^#\F?"N<0M] M8[6S)FAV6YWZ9N@'^DKJFSO=6O40-1N'J-6V[=K9X6F]VTJ;>QN^=@I./C?6 M1[5=<%)KAW&WO_W0P>JD3-*$0F\30H!*-$4TP8':0'J/"51+JPC 98C(7^^O ML\Y%(.?ET&:V&GLDBE8>*9OW67&_>N5-2[!XN#B;$$7&Q3M601Z.BUI@AIED M4DA&O-5"6ZD=M]X* J#$&2ZBCN)EO,-N"OA@L M>MQ@9VJ-TO@\^A#G>]MO]OMVN-:SNVYPG!HWW.UW;(FE\\+2^J?;-B:DQB$% M<# O:=993X,NC[=%2BZMQ0=?>V.<:, M],Y!E%AN:4*"(YMH:U$B (? :6^)%4NKD.!E3F[#:N[ML<<*Y"O' ]\RR.3/ MDBM!9C$@<\MT,RQ@"3$@85#)A"@1\,4KG'!,"%3<469=7%? RPS.*W[V2B*? M/W.M#*[%9>FA4P-SL!SPX-AU^D?QE*GEK(:6ZP5CSX5F>_L5=W+D>L.XV:,, MOBUXY7="C^! 5R\)LCZ9_A*+YX;%Z0R#CQ+AI*()U=H%@X_R1-K@1@,'% :6 M6B+-TBH6RY2@XME[9?SMS5MM)7:\%';&ZC.Q$A3MIOVTN%H M,#EW[EEVVD-3:TH[[>C#E!J;$UH$Q%V[1H@2=.<-NC.2\A1207E5@% M!'!7/.:WLJ[17>=<)@G_W'O=BQC+R9]9-)__3=.X;@S".23?>REMDP##-\*D'C!4'C] 9H&!K0P0*: M!'<0)$1Z%K>)R$1C)2%PWAFKEE8)N0T:M[1G&>',<7CM%=!DJW?LAJ.8;3*' M^%H.,31_YM;EC$^\VWJ_US_W=TLO=WXXNG[;^.((*,P,3)3'*"% ^D0%($T0 M@1I3:*6A 4?Q,A4%7'4NTP3??%RLA(X7@XZ;)A@B#C-E90(X(A/HT)J:!'*@ MO4+64*&75N$R8?,*D)66V.\5 YL<;S8QPBKOINF 9?1KX8N:<=JO ND$6B\R M>$K@? 1P;LVPN2CAD%.62,,"<%*!$ZD#A'IC'5)88R;XTBK'Q3.XRGC7;Q3O M*F%BOC!QT[YRW !#G$^([H,.!R[.6@GR5E;\4R[<%/+CWB^2%V[;9A9Q!R MC ,7G&$.8^4[D @#94*)@T'A,J(46UI%;!G!V^G7N3?N7C=+IRZICE5CZ""S]>ML 1)AB20!-N*(H(9#*1 HL M$\M1, 8)\,8%+&6@N"7VRM#>6[?A9L!":7_-$3-N9;)Q"A'')+',RX1P Q.! M4/A*.>/0V0 =6E9 M7E[Y;P4#TOS9XB60+@Y(;UK@5FO*L/() R0 J24H45K2Q'B@!/4" M.$>#U\Z7,;Z=DU,H6,N?T?UH\_S\EG-)I1D,SSND\( VKI 0!R+9_EAWW"T: M/N<-N>IE_ACBF9X=?&0*?CYK 5VZ=I4C-ZA,[G4V4:%K:M^%X7:[077%ZIJ3 MCXG[SS@]#@JC%V#G0 W>F#ZG%8F)N2-S:>]\5,/4E(>V"@TXXDS&N3$(-4(H7V"45$0R0YHMIGMG99V/6U M#?&;JSVD7.TI5WM^W]6>O<(KY([W"";\L M.D7PG(?7)BQ<'W>U&VS[S,09;E_RZC2P6&:^S,D2:L^H1&,51UXIG3@>2]L# MY!.ME$V8DIX":*2C=&D5D1;A$XO'%R$;**^]QB!B,%Z6 MH( U!A\MN<6L0U,,."J205C"T8O T4V34'%#$3+, M"B:PB'#$EMG<"D6_%CCDSPPL(^X%Z67^&*+<.;^T^DD-#RHV/4ZMZ]EAML5B M&G+/5-D3<6FR*5ZL M_J4'[R_T7_E8^=CO]MAS-2;ZE<9$,^R]E^K<+]5YUKG&@:LH$WSD\,;3@*R5 M7G_DAI6@1RNA"VGHS_Y =2I':C"J]'UE=."&,8NME^7$JI&S%9_V5,^$CH0. MAQ_BT7[#E3M'.WTY02N]8=IU!G.@%< M/J)TZ,1X=/GX.K?L8N918*594!@*F#P-P%PDFI((3+<.0BQ M 3\@6SI_Z. BTG>D]EVB!TX=)LJ'47U0G9_J=+CT_MK@NVDON3'9CYVG65+U M:NQ[R\G/9OG3]F9]_=^53]L[7[9WUAI;V_57E[.[.EK?W?Z\55UKK%^[*S_O5[?W?J^7MFJA^_KKSZ*V4S];JL7(* _#FW8X1^W M.IDC5.VJP7Z0@!CGG58F&?9D197+Y4LA6P$30IG'6Z9NGEU>R2S?,XLDU'J05WWT9K, [K]W7 M+(0K#,HG-7O_-;J@SJ('=Z@X-OK=,??\Y[+/]N@NAB(?,I0)9"UR,#>5\^S8 M<.-@X%S2#?<=#"OK/7M/4M(+T_\!*T\%F-^UHT':J:#E2@R3/V!J'[.R=RU$ M\,OM6:\[.[,E:3([.)L=M'#&*\'L.6#VF*V +\MKXD&2^&[<4V.;!D?M[G.8 M"W;FS:M6[7N1ZG(+'>&K5)=[A1&59=4?M4I13\]7*9IGK>[&8:OQ_;"Y]T^G MUOZ*ZFJ;?WT955"KR]N1'ZMW-8W_O>;56_GC3W MUNEVPZ!6]7NWUMCHU,\,JJ&=&:L4AC3W-@[KFU]A:Z]U6*]N'#0;A[1^%C[O M-4]J>]]P_2ST:7/#7ZQ0[(*36CN,N_WM!\648PI\8CT3";&,)AHZF6#N&0KT M9 RQXE95?]:6B0NARWVQN5> ]"(#7EG^_/51)P^I//#TK17Y:Z-PC)B_#A?ESG)BRXDMUIWEQ+[L'II7.Z.D@&WD MEJAOT();.U9I)RY))\'!2H;!C0H&W+$;CK*DF])D>^T[7SH ?B7?8=I$$N^/ MR^=H@F$O&R(?]P8N=/',V;E>W<+/1ZM:K'T,[H2_5\)Z&[=;;H?_= M,$O5[[Y>;?Y@1D)G+8S'-=.$:&P3Q;A/@-1: 4NY@VII%2X+>GLS"&1\[$;-O.Z8WLSIOZ;F%ES_*]((B1 MEI!";!SC) *%MHY "0DESG/A7EWM!&V[[4L1GK<(WRK-HQ7#P00)*L.8A 2; M(]$ N?#)8&$0L98$Y4&7";HM@^7:8@ZK+;Z"T_8VS8<2@!8"0#>W8 IK*3:$ M)A3:6!L,\41S[A(KD3.,.V)4, (@7J;DMOEZ*^.K7.!:P"_>I>\-X<=-= MOQ*@=Q!KPO>#U9Z]8/BV/VUM] >[ M@9+;_E)MSM:1/CUQ-CES@WZI'A^E'F>4SI3<4JD(2KC1."%"\9C\IQ-@L&,. M6"ABA8+_^2^!(/JS>!;Z/4B<>Z2!/@?T*5'F<2ASTPAW M5'+,@$^H BHA"M)$$,$2:S$ W#MHB%A:G1&&RYNXOP%CL5!;1LR!ZNV[2E;; M()B$P:R[W_1[SG$VSSNTL(#VWXLM#5ZLN@>218I=B8MBY\=Z7PE+N[.B%S-OCB@P;>9Q2K'A1("2 MF@'C@8&RR>!#1F/*/+/8^Y55TL88-QD''@'?6AK./SN6$.^3>2VI=VX9:=FO M(_4/?74%IV^!TY]FY'X3;P62#(PF!IB3'+2*'I!"ELIH-(KRKFRM^/4;@QS+ MR//N"3D*_9LCK-2\_$P89;$$SX@$AA0&$Z2$H*G#B"EM#+T[_2M._F8[^6\D MF$5' .8UR,8NAT=H*MRJR-==+(,&;N'+DU*4'31E*W[(K?A@K<[PJ2"6$ZO MRT" Z;0+*RP%"&JL,IPIYEQ.&4)"+FW*T)):#PU$EV4T$ K.+ )GIBF_08IJ M2CQ@ZA$P$B/HX#AHR73:5:17*E%^S-N"U"NVED.<3[+4U\Y@;'HS>=S<>ZK> MS5.S=/T+YC\MA?76NC-/;T0EMCC_G69&O1*2^:R.&QX;<33B-6I![,%9'&P_C$+F5=7^5B77Q6[?]%T:2!IP>J/*HGMV M[=-.;L[(,YF/:!P-1MV\*S^O4O42C[IL"9[9W94?3G9>=/D38],@CL?7_^2> M9O:G?6NKB653Q6*O_)F'6!$_:KQ BG*%A4U7"9I;S#%Q,@2,J4,?"5DY_]'^ M13S^R'P*8(?!?$ZL)SW5<]/[:DY&*[]_CY@)+J?G+_XX)Z_=?G7'ZD=_3*XU09NL-5.DO!+*V<>7"O4,G2G5Q+L^ MN?/DXV?51U.&QMEG@CQC6ES[,7J&K_WL1Y?%XIE2Y)W-;JM_LZ7[24?V*F[2Q'=5OMHAO MUU']-GEXOS@QC97_ V79I0E[4!![]^XJPVG^R?C;7>.!0NKW)K39J_/%I)RN M&8W"8^Z4-2>5.PL7Z>:)T8SVJZ8\+K\(_SWN?C&]66?<[IQ?]M"@>M>LAH4W M*;_9 ]TFN*5Q-#9*SHEEGC'C:73>8^Z9%8E>?]R\839"6BIK?9__VKA<,&OC M%V8XS.ZA?TSO."Q%=.MDZSRZ=;"9KK%WN'>PBWG]'7>Z M=;"&.P>;K'/@#RZB6X>=[N[AFZ][K_;V=W?V/W?6WW9SZZ&]PUVT=?B?SYW3 M/P_V/NRF,;RGT]&M7?*?[M[ZGY_W#E_N;[]Z@SJOTK5/]]/]WYRD:]*M5YW> MWL$&V=OQL7/>!NE*RW(9A52!Z:&= X]+MS:)\(3SQV#FD4F9;1"*L]1HI[(6PDJD(_ M@@G%!?V:A7ZGT^A'RNL?TY M@M@+7MC)5\^IC>CM#X4I5YG;+'.;<^=S5PPU&X]OV,)T7D5D/=GREU\S&^2$.Z3WQ1X<'>;[7K=,W:'MG/]WO#=I;_X32.+J[!RX]W7N^]U*ASMI'1H-/0.Y!<6Z! M&9I>Z5QNP"G&I<1.Y/H"A*"V9O5C 6>M21>PH915^&A6(=[Z]%$2%ZP-%@PQ M")BW G+"&6#$O(I6^:A$7H6YPQBOK\)NO_+E5ZLQKY_OFXLFY.SU!E]-WX6\ M!EIN&'QW7/5$"J.&PNCY@-._7U3#S6>H+E9R6:R+6JSI>3Y_M$YRY% %JQ, MF(D\Z( ]2&VQ,(APK=5":'995$N\J'R,%BL.'/$(C*A<\H=BX S)Q,@Q<8*L MK-:S;G^.AG=HKMR8@HB-]>M-*]FE^GVOC(6%S%\':QX^S5&,"86!!TL2.F,+ M5AF7VY8C@0(+7F4RBT5;HCJ9;;J'KQ15?:3>L8(AB\.0FI\L&;T4"6.!,)V0 M PD'5C@$QO-\<%$QHE'&$-66,XKN+4ZE'S3-H2E^LC7GTB.-1\G>M0 M(ZV]J]1[?7!LQ_&X=S[VMQ=#+_H];_WN_HRG#TZV=C:^[GW88KN'^=S<>[25 MS^>E9]_]L'>P_:KS>>]@C71._7[GI<*=KQ\12X8?D@8(=[EP'I-@O4! M>,( M46NCR*W0VPC50X@+\Y;=8>D$9,(U\TI>@ MP42"P#J)L.+(1:<2(C/6QKP>V&RZT=>\M([E!HSF&'T%,!X&,&H6GF)45JD/ MV%<^_$"2<>=->B4XQ3QFMVL"#,+;#-=++BY])D13LVK?]VVWUPL^<98OH7]< MJS"VW,ZFQA"5\VF^Q)WB5YH[ZIS4:8J5/C"C$!#K"#",%5CD-2"BI52,.ZMX MKKA.EY"D%,_T(R4I!2P>!"QJ%(41(JC3%FR2$;#($UAX3B (%;F(&'$LJO8, M\A&ZH)M*4#;[B9>,!\-NN%,SJ^;!36.XR?D,GR13J #,O !F>\99&(Q%PA-' M003N@=F(P#+IP!$F?"12&9[/PA#9QNQ>R\X7I\D2 $1C^$@!B'L"B!H#T3%Z M3Y@&H4W(E2 =Y,Q&T%%+'G#ZSYL,$*3-U)U+018GR4UU[O4P')FN;X5O1Z&? M ]HYU#,XZ[;SW>'RXCVY%X8RF?^-L^E?Z_NJY\5:->7%,IHW+LU(\>,*626= M 20YAJ0D"9(,UV CVVUA64X#H M7H!H:V=6NS^;EJ]G#J2O\HNC 6LP!>&HI88+2P->697)L,)B^Z3M'CAY* MUQ^Z L@#JF-GT ?W*&I]I"=Q1<7GK>))M5]\K^+I>KWPU]N3O0_^R!(F]EZ] MH9T/[TF';/#.:7KN]4VR_>%E;VMG"^WM[)+MG5X:ZWO<(2]C9_W3QV@Y]8Y@ M\$PK8%8),(QP8"ZA J(B+9JXLLJD:E-21XAEJ/=15N(2K,2=W8\!!:J/T(T'6&R052.?3 MBK6.@O4* 19<.J8X\9XL3=V/LK":L[!TD)AA0T![G6@[EA24-@JH3 L$28RP M8Z7V1^/<9G\/^I]VPO!P\Y*Y%\HQ5T6;=IY%PYG&R;1%$AE@D5C0RFNPT8?@ M".58Z,09!&TC6F>O37>>E?#?(W6!%:"X;Z"8=H2A9.,2QP*8Q-F ,9UK?5,$ MBAIG?3)SE:0)*#AKX[N?\6I>P*]A<;[7P\%1&D"RRHYZIC]N5_0D]TTXRKK0 M;O7#N&14WU.^TMG,O\[SOM;W&^>37A(HYPI!FW6N(IQPVA$-7/#$57C4H+$P M8)G2",O$8[(O7N$VF5%ON^E4I618/U*J4@#CP0!CFK.P9+<8;1 D>,C&C4K& MC0^)N' 4)3.(QX!65J5N2_QD"_0_F.IM)RTPX]RWN1?,*)2LZOMD*1>3_7>> MZ[=Y,-OQ_2A4J0,%=>:'.EMUFA*$3AI@!*@D1&!"1E"Y_KHDR52B5CD7X\HJ ME6TIBD>E>%0:0E,*8CP<8DSS%(6]T2(80#A7S2&<@S$A@(Z<<>>PT]Q4B"$4 M*:Z5>]:]5X.!_]KM]8K_Y%Z8R?GT%DB9'Z2\F1'7H7D?H!I(PI1$0B@&357" M%2VU)9(81'-Q'$;:B)76C,59TA 64M#A7M"AYABAFL: =)I1@8'YD)VH6()W MEG+.@Q98GZ&#F%$5MWA&YET&9VSZG[JV=^X4^?7X36/MG,;PCY?==(_P=_=+ M\)?S?G:BHCADYXH[[V>P$F$LB5(!EBX"4P8GW*$4&!4(8:$YC@EW,&XS63=T MFDY*BFODD9*2 AD/"!G35"5:+WVN1\$M1\"XS(8,BA!D9(Y2[J*GN6Q.F]T] MAE-\(S]1OO40PW 8?*O;=X/#T!J;;Z5TW[V=;3B;Z\UJJG?,MX(X]X XNW62 MDKA)4#[:[(U-) 7E!L[$,2#*<:NIBA'YE56&=)NKI3U/7EPGCXVE%+QX(+RH M'1%GD5L2\@%0)('%W.N=" ),8,F9G= M);E-QOE:Q9#__P).5?]_?0A9)=E@0KT#H_:/U4YV!*(F\3K()4+!<5 MP!P,C@)\D@^.SA'O1.Y4G""VC818.AZV9*4&'Q=PSI;@8P7.QE#4 ISW )S3 MG-03HPQW$5"H@OU>@"%2@Z*4ID4KE5>Z DZNVIC-*^'HHX!I7'IBF1_*#XYQ2-/W$=[G#@D:Y[,'4V33Q[\VU/S?_WMS9W'C76NNL MM][]M?9VXZ_MO];^YLWNM'W,>49=%7N-QNJ GE7E; MO:ZQW5Y50>SY+XEPCEIW;]=XY"T*SYN*MX[,2:X =Y= 32-XYIP,].90R>;8 MX).E\OILI93ZW/.FE@NT8Q0%KU=6%6USLGR=K4ORR>/E)P4M'@ MIBD* M-P$AY@(8;@,P)R(HG/M$NNBMP4QIRU=6-6T36D]5>QP9* VF*.7@SD/1E(L\ M_ (\]P \,TJ>\+1O&(,P:($E,&D)*!XI4,^2<81#X%Y5593XC#Y,3:B.]U],YOS< M?#HIJ#1W5)I1((4K8YCP 820.G$8)4 'PW-W'B:CD"3F%GY2F(\8"(,4U;K' B"!Q NT" (4[ 2F+!H,18N$::69<1@_%' MV*"GV:>573V+_2Y^E[N=QGNZA*;$K^\3DF946K'$"9O$!LEI#&WU<8E4:%7.^<"=0!#<$",T:!,9)"\)SKJ*FA2N2> M9K3-^=+Z;9;4-=,\T&@,6RF@\9"@47/%1"("8LFX,

G4 MI3A:'BEU*?BQ*/RH%?WGT3@C!5 G&3 F+*A$;$ H+#7"EC,L5U8Q;ZL99:F+ MR^7^8D9F7L>N&VM(-8;-U ]2%M"9'^ALS'"X*.ZH]@HT=LF RG]8Z60B+=YA M9Z.@AE0G*"FM^WF;3EJ*O^61DI8"$_<,$[5Z,((ZFX0&,9^V9B+DGN^*)*I" MK=0L).A/W(32-II;LDOQL/RX.V+)7'F0%HE7/;E7+*$"*+< E!DE?UDPGBBM MP&A'@2E)P0:N@!BGHR2(T;0'K#)6/S'0=-)1/"6/E'3\" X*^9@C5M2/17O/ M@A/@K$@V"DK](L\\7E7-%C0C^=(L!-$\, MFE$^USNB5*@.%&F:N\)CT,XQP%*+X%5$W(B554YD6\ZHB-ETSE(.%#4%6AK# M=@JTW!>TU'PKE%F:8 6(S=U/@F!@/4/@:-H-$MN12(0$+5BW);MSX.>!3Q*= M#^37VNHM0_>STD'MV@YJ@\/#[O@PY,9;507 ](LTVM!W"5-:OW4&X]#"Z-^E MJ=I2.1_?[9MAV!_T$GR,SAL=\K^AG'4%]]\OYM2>7@/S]YUA5 M8WHP6;\>GA\\&(T'[G.[]:\?$9'785@MCKD0$C+-1R[&\BX/Y;49;@_?C)[-I*NUPM_O3W9^^"/+&$B,9;3K9TW+-WW M8"^/<]W1-/:3K=,_N[L?MKYN?]@\W5O?ZW;(V]SLZ"/"6"C+ DC),+#( MX\ IXTUD4AFN?LQGKUE&OV8REV6TG,M(6D($3NN&A[-N-1$4PAJ<5=8Y;JTT M:1D]0_5T[MH;K2,S;'W)TFU5^Q7^H[5V/-X?#!,.^N>M:Y?B*"^$T5S ;+/S M\L?KL%ITH\MA%:-J@>NOL_[YHU%!(D,Y.&F2389MSL7#"+RC0;NH*#/V!S V M<^W\&H*5M;-L:R?9[4*S!%:2, U,:0J*$0*>4L.CPQ1+DJNXSDH"G\:NLX74 MZO9;>6U49E0&F'8KO7L4TI>^A-[)'[<$L7M=B-O'X]$XC3.1UN_]1K'[+7@X M#<-!6:$+7*';.QL?J9.!V( 2IL5,TC %ZXU*NZNV3 @X(UM9 M3XU<3\I9ZC42(&(N *FQ TLD@T33H@HF2!O];=?3O3*M E+-7U11,.T,=8 0 M%<"$%Z"TL^"0T9@%:;APC5I4!:0:OIZBP#G3W:I<$I)H#M8H!-$*CQBUA.8F M\_W!SUG9+7A;M20JVC:XA)P+/ZGO?GDLJ>&-28GX7C,KKTY!^WO0SND$":)X MLG>$A4 , \8U!A48 F-=LG=D(@&4YKR$9$:3/Y8U06))-27,H< MP;W/AE+B-_/3ST\_)=N=T_2L![O?]@[_27.P=M)9_\1V=S[QW9TW*#T'V?JP MFU]_VSW\)V[M?/[(\GGUM/$#-=@ "PR#3O\#$XCG+M$$S.0#A@'+*EK*512$ M,(@I 8XH"LRZ1">#Y4 M1H[;F(\%Y"@@(@\FJ"D(%S[0 P42 A"PJL6)B M@'*L,&..QB3!58I0&\TS?#C;3?4PH#BK$>G4ZIWE6"TKMSDK=RO-VTFL^O'X0A$QDBL%#H@^C QQ1NLJ&M-_+*L&K:L?&XL9[-C@ 4/C.H( MAB$':8O%UJ+ DSVQLHHE:8L;)8-EC'N(7;G VF-8?_PC"H8QGWB>Q-(!(XJ# M(309LA$E \0H(7/WC(:LJ )KR[*L+$];6[ 8@G$9UG(NC@D2"!94^F@=R1D3 M%:S1F\#:C8C>'>*.C:T.T9BXXQ5EK$<1BKK=3MVF@XO16QV=8J 1]KDT9J*9 M2%!0/N)$$!32+OUR FOB8HQ0#UK: M ,P)P25V")-K\.!QU(/!NG'G0M?2*/,,FU[KR'0])"KBS%%W;'JE5.[]E,J] MF/#7:;XW^R_.9OL*[A0;8'X@-*-7$3,:41H%>"\3"''*0*3$IN/' N%%KK>BUM5(EVQ\C #V\YG^>-R32O.7=\>-S+ MV3?K(79=MY33G!O^=-9G]"GRPIJ :0#CL03&F 9#N0/L#<-IE[%:D5QO2K8Y MJ=>;:CIO*0Z51\I;"FX\,&Y,\Q83I(S.*G"YFSRCW(!"-D#:$R)W1@67#U!Q MHMI8UCO)%\?+?3E>+O6@-:@Z [C!X=$P[(?^J/LEM'J#T:C=ZH=Q:Q!S[Z*G MX([Y[4%XS2@]7'HUHSG)N4"JDN$OKHKCK&7)WTDFG3#>CCOF6T&M^:'6C 9' M,6+LE&& $FP!,RA96\HDWJ.M$#BBX"5>616L369T9:P5)RSNDH72CMOH]:_S MCJ+7#=3KFA<%44ZHYT"H%, (D:"U0$"S?)D@5CB5]%JWB:X[41:BU_/TGS2V M(<#HVO*@=W&G+%D1[\;X6BIW[D0:&Y44"BK-#Y5FM#42A*M (@+'@.UAJK\4^N75"7I7J5+_^\: MHG3#7@YGL_F9&TDEB]N-W>U7;#[[8FA M]NPU\&11NS'LO*#V@Z+V-%>7,;H0F0&; 1#F0(< S'48*6TJ%";JS9F M]0#$LH)H1>9_'YMTT_/S9E4A'X_= R+L=63?\DS4^K/QAG%C],;_=;W32>3\,J^7UX%FG=#Z.0=;J: MW"HZ&[M]TW?=["7-Q8:JSEC/KGW:R29Y&N#18%2E;3X?AI[)Y_G^^-KU MX_US9+GRPXG8T>5/C$V#.!Y?_Y-[FMF?HF(UL7SJ7.*5/_,0*^"AQ@ND*%=8 MV'25H+G%'!,G0\"8.O21Y*XR9S_:O^@Z=V0^!;##8#Z#B>FIGIO>5W,R6OG] MNX<_[/;/!\3R3-]VDF:MVH6MW9JY4$WQB^U7G8W_;;W8?OMZ^^W:SN9V9^%* M=MU .^^V_]Y<7]O96&^]VTE_;6UT=MZUME^V7JR]^ZOU\N_M#^\6/O;9Z_BW MS7[2^L%QNH8?_?O:01Z:X:>TXC+V\N\YV\68*]R\5.<*J]/8>^9H%)Z?O_C# M=T='/7/RO-NOQE+]Z(_)U2<8D&\P[?;(]SO[^'*E/T-GJWWB?IG<>?+QL^JC MJ;WG[#,AGBE%KOT8/<7G_3.PV6W^BR/W%Q_6J- MR 6;=!=/HF_R)&>+?/$>E)W]80APF+ZW/VIM]'WPWSW7#45U@U:#2S 7:T?# M;J]%VE7Q@!MT<;Q-H\7OJ.A/R>9B9^>:!+MJ=F@U.^17%LGRZ_-M[(4F+O#? MCOOFV'<3"?_W;02XI"U:7YC1?BOV!E]'K3@<'+8&1V%HQ6HPPG"SH$U:+9>9B[K>W.R=[![VCE\@_=V]O=W3]]\ MR[Z^K<-_NMOKNWCKU>[7K0^;)YW3WOZ%K^]@C6Z13;3[89=T#MSI]OJ;K[L' M;[N[.YOI[_=HZ\ ?;._\>;!%]GK3OKZM=7>:OKN?[DDZIUNLL_YGM_/J/_M; M!^GOG3[E6IWG]:#>H6];!]D/^?ZC8#Y8P72N3*.!:87!$,9 M!L.CXA9'AE96"6\+O'QE:IJ7WKQT:#>G"$EST.[.,0ZKJ*!""ZVT8-%;9;VV M0?KH%4-8TPKMR#G:D81VM*#=8M#N=!KMM(N6.1\ ITT*F,(.C*<4@L.1(Q.1 MY7YE5<@VI;2<87^X(CP'QZ-Q%5AHC0>M84CZYKJ]4!W_.F.-^?W\+Y>-A*/A MX$O7!]^R)\5*>$S99E6@%ZP9!5\=!PS]D:G@.'S+KVNVPW(?%FH>[Z[F?_LH MW_=US_0WSF:];$ESVY*Z=0+NF614$PF>2 [,!DJ(-*8@2C+,>2&FUS(W3, MVXC7,RH?!XMM('E9#T>)N7;/",L@9I::N.GXI-TZ2HHQ;E>9\SE7_B@SW5*F MZ7ZIS%5I%#2:&QJ=U D,"LY;:3#$* DP[C0H%S&@*)"RT4EB^(HX*&"4*K% 4 N,:*XY8 MS"UV-)O5.[;97*KX@AX[ERK0,$]HJ!$H0J5"@1@PD;%D:&F5>U5Z,"*B1*X" M0M&MK*JYG<Y[ M8B3N4__;\S,)K/7]]F3^-\^G_\79[!?8N07L;.W,J+PMH[')4E,@B4+ +.%@ M#-=).M&1J!")1J^L2J66CI(4]\YCI20%&^X'&Z9/BMLD+XZI!XRM ,9R0I6V M*/W3,4V%%=;3E56Z3)6UBTMGP2Z=- 4N/6#AR'?_GOC;OU<1@E=7T]$M'DIG@*LMP+6&24YK2;1(1RRG8>! M!2%!(19 >NNBP!)'Q!/I0J5%6_$#+9YTS1D\2AANCL@R3=F\P!810X'(D.-P M1$.6<[+I&.<,24I85=PG[1'%D?10ZOHVI-N>!E_U/6G]]LET^__.E&>4UOI9 MF.MNU*>Q)F,3J,_WH/4JS7T^B;/=?Y#.7Y(7H4E+@= M2DQ3%^QIB#*!KI$" 6-6@L6D>'^[LS>O_*Z GVN0JM4L!:'U^9:#SR;##JL'&BM\O&U9.LI[0,@2SPF7#N?>P+0 MMM+U3E.E!=Y],HPKQ12JE+TJL>E*\Y=26.$FRXNI9X0W3LIK;A)4'087NE]R MV=W"'1^<.YY+X>V%$,IF,[_-YE.=.G*L!%/!@B;9L:AUVFR,SXV4%>+4,H5P MIHZJS7B]OEFACH4Z%F5>G#+7^I(D247J%!B3C,$D1@(Y30*,=$H'3**D:F65 ML/:LO(BEIX[-Y!7O^XD=]H)/O.)+Z!__&JEH;*2A$:3BFE!#'9!>I!OG(7WH MCO=?'(_2K(3A>2NEDP(_MX*?SW4N@51PQ!H)GDD/#$L%RCD-40H=B5+":YVX MA*R7#KPY]I10X>,+%=Y1;0NEF*-.3U,*1+%30DD0(FA@QKE$*30#ES#:1AL" M"DFG21NS>;4D;EK7X6;2BO.C&MT2XEJ F^+*[!?\F1O^',PX7$<8"A1+!D0( MF_ G,M!&44"$Z)9K*)A[HFBQ/>EQ+53<$AQRHD# M0T-28F4(6$\1"*K")"$%:P!0A$1TA)L-I/3V@)((7[TY#$L%_%3P*49LCLDP3 M->&HLQ1)\$9'8#AH4-A:H(@G:*%!1V%S#4J"[WSVK7A[?B4YY M,K$HBGK/BCK-#HB3BB1(S97-<#X9C\$PYT Q*D@,*$BN\2]"T>B%]@&4_M;'6S\DXF4JA.85Z8-06+YH5%[V>/:*2+%^TI3A%GJ13I"#(O2)(+:;B$S8P M8<%'AS*"H,1F/ %J'"+1>VP9J1H82U8_85<<)_>GF.>!QO.3.55"B9ODER>U M.AJ,NB6;9''U8]Z>B:7 T_S@:4;MF(BMQAX'$%RS!$_>@)'I#ZR"E)1(9*3, MAW;:"-7/[32=X13'S=-C. 4^[A,^IME-I!);ASGX1&^ A00D1B$+6'.9-@FO MB&55_0!94D8>E-U425/%0[.P4% U_]OG!8->F*/NV/0Z85SP:'YXY&;TA>!$ M(1D,1,$\,$M9LK:4!&03/EDKI4 N5V^7,\XK-IW-%'_-(PQ#_3J.%*BX'51, M4Q>';(*':$$Q@8'Y!!I6F6P(<1-ILH9<;KBN>4,.%L[3(8-UX_A*6M(M9T;[ MK:/AX$O7!]^R)U<+[J69_U(%7^_BD+&#H0]#2(_V/$_%:-#K^M;Y S4/H)I M>+['IR2E%TE(KR,S_PFE&WS5CAA5,8N,K]KTBB M.%8Y#4IBAY'12.5:*T2V.5]:M\V-M76)?#I+AD#-<_@4!%H0 M7HDU$D$![ MN61DL9BS@7W"(DJ-L8PJC818666ZS;&FU.JHG>&:RY M_QYWAZ&T:+R/K>=T1E$@[@E303E0E";R*RE/O%<:(,)*13&6@>9CJJ+-U%WJ MB93HX:/WMQ4E?C EKC4KXRYZ*06(D(]N$&)!&QI!*1V(M40&3E96J6[C.U4> M;VC0L(%,8LN,CX<5&:PRH7)KU;F0BL;Z_YOG7DM6;5JN?O0RT?3<'W$BDI.U MOG\QZ/5"-:+1#WJN%I2Z"TIMS&BMI8)C)D8PQ 1@.#*PU"K@G(AHF)!IVZFH M!M9ZZ?QL):#XV+UE!5 6#2BUA"GI/,+*YT[..@$*9F 2K !#'.7B7=I'OK** M,6EK>>=&K27\^$MNE*-A#CR.3]JMHY[IC]L5'PK)/CC*&E(\*P_M67D]D<++,$E9Q!EH2#E@$S@7%+.8@(V]S5/?P M%S=+LUA(L]PL1:,?1J.GV8>AS'F;BS!381+G\#ZW>W,0%+>28&60=?DX*U?+ MX7-9ND+,9<#W/>!E=\/-3(3[[7A4%5_X]\S@[5W<;<:;1(&(B,ARL"@X22W6@G8U@M2 (!:&8JGBK5'/([6U,EMH< M76M+!@K-\[L5*%@0%-1K22&CI4 0;#9A752@B<]) UXX))31%*VL"MTF=%[> MMN9EJ'@SR0@?N<8#IIS^1U=K\^B:#S8@FL^]3_=A$J.O?5;$X$M!W?[9MA&%5_ M_FG2/C;YQMIP:/J?0GZYV7>]XSS1VT=Y]!O?PM!UTS?+>=>Y[F\SSH'HR+7V MEH-)H@=&L *3*"X8;AVE1FMLY)C8E;/Q 8>.7 M@^&E%+;CBTH&[[(("B#-#Y ^SRC&GD099"[93'VRM3W+?>DX 1&M5IQ(X9Q: M626LC65#ZC:7>'&SX\5%E1](E6O)^5X+X2T%RF).SH\,E(X$ L5*.*Y8C+DG M$T5MAI8C4KSL'I2)2F16X;O9J=SWQ3/R4)1B.ZZ?SWG!H'O H,[ZC%-^AI-H M5,")3LAA$4>-%J/$TE0A>LF06 M!)#6H)SF[B$)-@*.B KK!#6Y3@3&;3JCP' 3*VT]@HRHY?*I_"0C:E:@\,D7 M"6MT1M3+15D"IR_8<,J!I;D>!E4?").B5O#IL34G= M67QK85==^(,;C*!Y3T(GW0;X5O;C^'8EM#,PZML]>C5M+L MBC!5'6WRBWQX\4M2EE+#X=Y]1F[$#8/61Z] M'^O%=;2K9<8M&SYU^_TR%L M).KC9@9#3"C^L:NJ6(X-@;3W=;*D(M(2VP .^YCM10':2@M>*X$T9R)MC;FQ M*FY365H9%J_5'2'%<"8#<0PYZIG"1HM@*&>148:M";*"%%P@99D@99HE,1(0 MX<* IU0F^TLRL#(G 3C+!%,F4A0SI(@V%G5WU.,X,K9\="BD]Z\E0C>DJF?S M^9RF2?"#8]L+%W3U;A;EK+E[>.;TKP7.RG(32:MQ-#9*SHEEGC'C:73>8^Z9 M%5R3"O5O$/,LJ-\0U)]1#"L*'9RS"B+*?390 GP=M83 O.848^15+C@M\K&\ M.NHWG4C.7:,7[ U\8H ^>PT\64"_,XV7#N=4!AR5B$P+8X2B6&BOB?0T!XIX=1[8%:J#.@2-!8BX3OVR"@J?,SGH@1O2U'O2;*L M^%H9 ;^/3;II^MMWOZS^3_KC?.!7KN72$@S#B7ZN_H\=_GZQB96?E9\M[<_N MN-5@]+.]AN2]9F<_M(QS@\-TQY/L@^\/QKDAV#"]W6]UTW@^#4VO=62&51KJ M>#^,0MZ"*H4W:2\X/XZ3OC0:IS>J@W?/KGW:_?/!/,MF^=%@U,TH]7P8>F;< M_1+^^-KUX_WS??#*[R9(A"Y_8FP:P_'X^I_E] M-2>CE=^_>_C#;O]\0(R<^4!N.T^SUNW"5F_-]*UF^<7VJ\[&_[9>;+]]O?UV M;6=SN[-P-;MNH)UWVW]OKJ_M;*RWWNVDO[8V.COO6MLO6^_^6GN[\=?VW^L; M;]_]W_^C")9_M#;>O-_VK]M]A,.#([3-?SHW]<.\M ,/Z5%F!G" ME ?N8LS5[GZIX16C2&/OF:-1>'[^XH_S$Y#=?C66ZD=_3*X^@85\@VF77K[? MV<>3E:_U,R)T7OP3W^+DQA.]>%;IQ11!.ON,J&>:L6L_1L_PM9_]Z++RF5+T MEZ[ZX\\X%7,?JWJ&I5J:L4HAEV:L3)(E&2NFSYBZ_N.b\4_IFEYW$&Z8H M"D&5HV:VG^>6I94?WH!)]DRTWOVPJEY=-C^JV3P< M?)V._B[!1*RE$6;N:WH5-7MMNAZZ_=8+<]0=I_>>\M2\#6.3WO2M#3/,N437 M)W0_A=E8<^[X\+B7[;-JI6PGNVU8O4JZ=#0,^Z$_2M96]<[?@]'3GJR=P7BB M4%7=V_U!+_'0T82*5^]G7^?XY+M)>H)[QI4HQRV M_%*$RTZWWIV'R_[YO'?8V=\]_.=@;_W]M[WU-VAWQ_&]#_\<;G_89%L'&Z=; MZ[LGG<,W7R_#99W/6X>[Z1Y[W>WUSZ=;.V].]PZW^.[IWD&ZY_[NSG\^[Y)- MMGO@N[5P&VOG76.X>[I[V#SN%6>KZ7^UN';P]V#_:['?*? MN-6=A,K>H6];!^FY#]Y_Y(QCY@T"XJ@%QHP!%8D"&[R-4D>)@LJ'CDA;S#B# M>:=HV6-)-GB2N02//E5@7JA6X=F$))\1XX)9M\.LTVG,\FGFD38:HHZY?Z$W M8)"@$)2/)G*I1! KJY35*R\7O"IX]4CQBFM-/=,N.N,26'F-,)&>&VIY"-+2 MN^!5(6!S S,\#6:&(^>%50#%K*$)7D2!= :P2@T6E LQI1+D0 YR0!1BD&E5ME M)$$9J86CB-.554Y4&\LYYU\60&N BC\M0+M-M0Z/&=>!JY"@C*F@C'7)5C%: M!MGN%-EYSEAF$H= ?F3R**VV@_SRI-XG^:H;^:J!SLW]6-ZU@VVVP M[:0>TPS"!.2P "&4 ::% $LX!6M,L,YSPW6B:8S=V?HL97H:QD;FK]@91L_4 M<_UXF&;K3$6KO)[JL[.V[J.+ONY%>6^GO+7@GN11,Q8):,QPXB4^@-*& L*) MJ$1IDH1STXVBNLN@NK?QC@CD3=)'I6V(C!.BC374(TEUT%92\>M5DG]!B8OI M,3<-KT6\I%/&Q"# 1T2 21+ )*,1I \<11*)%;G95AO-:#=1^I8V2\&KM&_R M1P'?(ILBFWO:&.^O?4#9&!=JM];;, ECB" $O#>)^UHJ0;&T/>H@B3 *)[M5 MG^V,]=2VI6^'TEAOV]MP=#QT^V94\[7=Y:# \B/5 [G6\D1?BN [H'HW&4'! MG1OC3N=%W5^&%-.!4 .: )E596V8QLC5O'-!L4MGQ: MROI0OK)K-+6B%$51;Z>H-=\89=0%J3Q$J0TPY058KU$RI",A@2A-9)CE&RMJ MVBPU_37+K,BF:1"*>7!"Z@2>6#+*E$W0&;AC2 8?(C+W :'% )L;OM925VG" M5D6L 2QY(D)&:C")"8%P2=!8^T@U7UDEN13T'/*[BB(7D'VBLGE@]U41N^1(R*;(ILKG7%*TYI'E\OYVO^8/CT;BJH[TSN"SYEZO] M;?8GM?XJ1[&=SL]\FUM)C;KC\"X,OW1=.*, ;X,;?.I75REL8+YLX%T]&40Y MBJ/3"!2- ACV 8QT"HC"T3#I!":YZ;5H\[L?%BQ84'"ZR*;(IIFR6:1)7/;0 M)=I#9^2-2$LI=3:M1L6!>:Q!22L!RX@8$0)C:ANXB3YT?<8 M5R;Y0RK[Y Q03BA)H^KZT/>CUF__^A$&),VJ5'"^6/"C*HSKYR,[OW5N9)8Q MX4)C4='8GVML%WV=8KU?_*M_F/_K/[T]TOMB#P8D_9KNGJY]VU[O''36MU!G M9XWN'NY^[>QLX;U7:?P?=K_N[;PG>SUUTOGZT6#-G&8:HI<8&+(15*0:C+58 MTNAX\$G?T3,D44W=U<0@)%-D4V13:/238+S5>X8 B9 M&122/T?*4,M-$$BY: @"$7+14Y]KSP0CP+HD*$28\-XGCD_:2)<$L*8K;0'4 MYLIFH;D)!5#O"U#K7A,:=*!!$> 6>V",^V1%B:I,A"8>\TBI;A:B/HD\A*JX M33]9J"7CH'CDBVR*;(ILEDPVB[1(T^ZQ66T>N4]?(5!S(U G=8O4!&M]#C-I M9 TPYS$8'C%P2J6D5@9+R-& MY5IGH+#.Y?,# JL< N&18$'8@#%N(*K^Q#3UW=%1SYSDP88?*WOYYG)^LRR M)_[-)YS-DUU6Q_UA2",\#;[UR73[K=]Z::_\=ROMU.:+Z?:,[05(&R>,TO;8 MZO:_A$F^7;O5#U4>T-A\RW_], ?HOC?ZJO'Y=SW/S_;]]Q@EZ?Z57K$ M3 :V^^^".QYVQ]TP2O,X2A]=/4ZW8[X5NC"WDE$[:^.M%]_3A72]7OCK[ M!W]D"1-[.YW]]/[)WN'+PZV#MP>=5[MLZ_03V3K8S<_"T[_Y%MD]V?WPG[B] MOO8Q>B,LQ32M#VV!Q5SZ14L$ 5'NE'*6ZYBKP"M>/XI7\H9*N*[(ILBFR*;( MILAF0;X>2JS&'%,7A&3:6F-]8%ACQEF(4H6%4\#$C;=CX8%SYH';TVXC);D4 MW&I02CI@G%,PU&"(G@L:9*3:DY55WF:D7E2[8,!R8T#CS<"" ?=B"T[B<0D' M3M)82.?-1ZRL0@8A,,0@8#9WOE%20"XL'!EQ"I,&HD!Q'3[Q;Y8%\,2_^202 M&U\.ANF?_5;:*(>A[TY:XV&Z6.^LR)*Y.(%=LAY+HD&139%-D4V139'-PY_I MF8-'[9IV.]>9U=F"GI"#%Q-NL).IP=E8U_I^YY(H7%9JN32JB]U\"[MYJ^X[ M$Y%@:BT#%RD'QGT$ZQP#JYGS BL3=+*:*;]+_XNBYTW3\_MKJU7TO!%Z/L,_ M)CS1G!,*AC@)#%$/)D0!5 5#@XU:6MX@37_HE*H'T],_3:_J76]&.>5I[6C8 M[;5(NY7UK/7;<=\<^^XX^-JD![Z%?B"?-3VP7')!>,3P^-\[/AZ5^+$_\MQ+YXM)[!3N<$U15([P]Z M:=)&&_\][HY/"A#?%HA/INU%H:TAGH!1-@(3G(!.U@0@+5&DSB(7<&*1K'X^ MIX!P >$"PLL#PDY+FO"7AHB89U:CW*Q (AVLC$[>"80+59X?0G>FJ7+D'GL5 M+$0N!# 7<:+*3H#(#EQJ(V?!KJQJG:BRKI=(+2A=4+J@]-*@M%*8!BZH0"(R MK*.*+! 2!%><8DMM0>F&H/0TC_8(66>" \28!T:Y2CR:42#46*:9C9ZHE56. M99O/R%QPXE<9IYE=6!6LG,=Z]5.:< MU.;1XF6!S"? :JW&T=@H.2>6><:,I]%YC[EG5G!-"JMM!E;.R#(@03N4^"MH MJ0PPAA-:4I?^2)16$4F8S6B)VXR)-J4E5'>W_(C?Q[FVRGD9BBM580[-\%.W M7]U^ZCR "TG1AA/%7_T?._Q]JIC%E:O,^EEUQXOY.7O*-#<]?+QL^JC M*:F=?4;T,\;YM1^C9_C:SWYT6?E,8?5+5_WQ9YQ>?\]?':MZAO&O77418Q7Z MUZ2UB+&FK6=)QHKI,RKIL@R6/)-:WNBRD_RP\R],,)W(BH?.IK&-3PV;O1== M/(F^R9.< ?7BZ=Y9GE2KHF#7/E%=-M=FZJ:O#@=?IU/@EF B+EN*5IMM[B$( MW7YKTEGT24_-VS VZ4W?VC##?AKKZ$G/QIISQX?'/3,.OEHI52IU]>J[?.KJ MG9Q._:0G:V]$<:\4@F[+49GBV.J@WUG-#BX;_Z1 X"K <7#FT8MBBN#@/@.1P M6);\_EM6 9J9WT^LH]13C@+63&!NN"4T&"NY%TQB7OD,,284E_S^V8[#[-PC M6VCK] W;.]S@NP=ONWL'?G_K\&5WEW3VM\@&Z:R_[&VO[_)IQ^'>J\[![NF; MT\[Z_N'N3J_;>?6?PP[9R*56TS4W3G=W=M'6A_>L<]"+6]U)@.5*.PV%&<:& M2=",<:"O]PF'4ZC5DAZ""41. 1B\!<^L-()$$YH[Q+'P8D\WG*@E<% MKYX,7G&+.1+4*QDY4PAKQ[S6"&,7N)8LW@6O"@&;&YCA:3#S24Y!! $64Y? M3!!0W'LPCA,6L*2(LI55C5E;(5( K0#:4P$TPKAD*CAO"&((4^N(MDI2B7QN M2%4 K1F 5FO0B'101&(',FH/+!F18#6U(&BR-(D0@G*]LLH%:2M5 *T VG(# MVFTRDHVA0GDJG0R!.1.L]%$R@4R".$HG1T9F(EK)2%X$M/%I:.,6&:6P!&H5 M2=#F%*@H%1!GTVI0D@<15U:9;&M61[9?34@NH-8 -7]:H'8;3.-,!N(81$WOW/FQ.QH=5T',04P/6F5\C;(.)65-,SQY?=1+-WD*I;UO M%[$T@1@I1$":&R:DTI;XP'30E"KOG:Z*,)+S(HS9_*0_0:]\ES_-*/B<,!3Z MH[-JBL.AZ7\*N9SBGR>77WEM3O);:U_-T%\-=&[VS_J6%&R[#;:=U&.:(@@2 M-#: -8[ HD!@@S(@N?="<*8B)PG:Z)V[D93RJDUC(W-7[ RC9^IYM;50E==3 M?;9]E,V+=12>E4XG=>$!>Y$@J"Z"=<>"D MDXI9+HS4S=L4YW1JH-D>N+?AZ'CH]LVHYG^[R^&!90&IZX.>#^1NRQ-]*8+O MT.K=9 0%F>:#3)T7=0>;B58Z+$)BZU4"KL5@HI3 H[$HITI+07/L0,F[M#0I M';\;E\#PD(I6RQ\OX*#H6 B\L"XU* MX< BDA9'[PRG#=Q$'[HHY96F#)-+0/[^^N;/'W_8/=@$^WM=#YO[WQ& MV_D^'_*\K;'=T_WN+E8GG:\?I0F&(),D2B,"YI$!PY"$@)R7A&O*HUI91<^0 MJ#O06D=A>)'EE(5ZZ5&K.I<\9K]SB0D4V139%-D\)MDL-&/A@B%D9E!(_API M0RT[P5B=]O@8(%JJ@04M0 L1 ?G$_A3G*G"7.#YN4U2O\%"2$YJEM 50FRN; MA28G%$"]+T"M>TV\,,X0B=4(;RR*F2;TCO7'"R*6T#U:.+? M?,+9/-EE==P?AC3"T^!;GTRWW_JME_;*?[?23FV^F&[/V%Z M''"*&V/K6[_ M2YCDV[5;_5#E 8W-M_S7OQ[8_WQ-/XJJ;_IW+=//&,#[B\?\:]#+D_XJ/6RF M!=O]=\$=#[OC;ABE&1VECZZ>K-LQWPIQF%N)J9VU\=:+[XE#NEXO_/7V9.^# M/[*$B0YYPW?)/]W.^INOG5=;Z;KIMZ?[G[<.>OM[A_])]W!T]\,&VCU\&[?7 MUSY2*@775@,3)/$.&Q HKSQ0JI)ISC&CP:^LLC::46NYI!"5R%V139%-D4V1 M39'-PK(1J.8L$&*YHY%9Q9167H2 @]2$&L.:PP838=Z.A1+.F1)N3_N2""=: MR^A *98X7:0>K'8(=&32,,,4%H]X9;'6SL*!X%)_X-Y]$NMO;X'IF M-.K&-(H*U@>Q\@A>>!-_R^[$?[>R.S%[$Q/^MBH?8OK>CSV+)7VN1*R+;(IL MBFR*;(IL'CP+Y^&],=G6E2%8ZB[0W)N2O:WG!M MG^%5T0I+S+R#0)P&1KD#10@'H@@7$G&1ED/#]/U)-'5*RS[]L]]*:WX8^NZD M-1ZFB_7.+&QSH25/H<-3B>X5V139%-D4V139-"U.N1@;>4(.7DRXP4ZF!F=C M7>O[G4NB<,FF2Y1R_GQZJVX]]P=GQ0@OBT0GTR'8Q63 MW#,,F#N<#$IKP7AL@6M$-3/6=0H(_RH(>QN48YXC0P@3 M%"GKF/0"842Q,5'>!80+59X?0G>FJ7+4$2F5$%I2BH 1JW+3;0^"$$/"P5E/Y5E,8N830CA$K!F":)(&,=G=*,&^ MY_B9"#A-,*;($L\5D2NK@K;YC YQ-P^@%> LP/G8@?,6N"D=II8&')6(3 MC MA*)8:*^)])115NAM,^!R1L(!%<)QGK#2((6 4:I *QN!6(*U+W<3ZT?EXN\$HASRO7_7TQR^5GYV=+^ M[([H@-'/X(%D>-C9#RWCW. PW?$DZ6RK/QB'4-Y]/0]%I'9GA6 M>W8_C$+>S"J%-^/@6[';-WV7!I(&G-ZH*DH\N_9I)S=GY)G,YX&.!J.J^?OS M8<@Y=%_"'U^[?KQ_OJ5>^>$$BM#E3XQ-@S@>7_^3>YK9G^)N-;%RJM3IE3_S M$*O]EQHOD$I;!18V725H;C''Q,D0,*8.?:1RY?Q'^\/S81^93P'L,)C/8&)Z MJN>F]]6TV2/M;.]LO&OM;*>Q=MYM_[VYOK:SL=YZN=E9Z[S87/N[]6XG MO;&UT=EYU_KM?6?M_?IF^OS?]8>YV<)A:&7&#!R:X:>T+/*F+;ZW*'+B:C>> MW RQ;GJ9AYO8%G[>FO#OSO%ANH[[GG!S1!%!RCB?YDOKH#1E0=N8V!PRQ+HJ M;YB>YPW3Q+Q)C6NGYZN.S_;':PDOC_OC7)HLH:#KAM%.NM.?O43&%TNLT=:+ M^F;:4RT\VJ7[.Y\2L1XBVRO_]/;3N/=_O!/^O1E/NS*M]8^"J-" MI-@ #E@!$BX& - MMI+1J%=:(5DK1UEOA\=A9?7=\6%:=R=Y$[HBBM:E+%KGPCCGW).5,+6.TV>3 M@9R=\:SD]=/!-&+]S]YHUD:MHS \[([S9FS_/WMOWM1&DKT+?Y4*WHE[NR.4 M3.Z+/4$$;6S_W+J%KD=',';9 MUJ[&@^KO8]#V<=@[J=[&H\%P7&\G]0K\RNKL?P2COUM3:^#<8H"!#;$_@G;D M%X5!OE1/>][GWO9Z5>B.?&\P.A["%X81/-;AI,U[L1_!S( W@BT2CW)/[/G$ M'@V[8& _"06!W:4#<_]_FG%DK=PMKH M@!LF/8"7](X#_-F=;)[U8F(4U4O(U/-1M=D'F>E-Q^1L2& D_D]VNNNOG$0[ MK&(_/V0K^GCHXG#B?S$R+87.=]HJ'>?! $?=H]F>WD-\@J$.C ZD^V+0S"5 M[__S)B\%>/WZ#'T,8T D8?\MWK4T' M?NWW6L*^-T^_F]BSLO+E4WQ1\LZ7+XMV6Y&TC*!.G_JS*:]6#T_$1Q: MRPV;-*.&=AP=]\;U;=W\ [ _??U,",?[PQC1(71^/S-#=Q!&4YEKNOVZ>[AV][NQ_^!L/Q M[V^[!_N3R.K!^Y./M/UM]_#EUX_T_8+A^)'^\_GC:>=P]_4_O=TM,!RW7AUN MOZXCJR>='?AY^NKPX\X?![L[8#@>O"?MO4_!1,>8(0C,1# <@TM(.T%RS4#0 M44B+39PW'&5(2AKI!:.&*[ SDQ8QZAB5MH0+.6\X/MSDUP;IR>3?)SS1%#P$ M(S$U,,[(1Y?KJT5$P"P:,6F$T,+**,3\1,,<&P;7E,&<$Y' **>*<^X(X]8: M-3_1,!/5]Q.PZ EE19&F+>JM7,3_6V^#']F<_FW'; )?:6Y_OU9 M]0,(PN1J#7CGP7Y: MFQ@K5^H;15A>[=%;^98<.IUY8;&K#]8FW.=ZWXVK??JG=L7'.@($YO1_#7A[C2< 7S*+][M'4 MRIYX0./SY=731PS/1ONO-W]LOZVR"]6?W'Q^:9@']LSRF1A"V4Z;40K\[>WQ MJ![\N6\-Z^E;ASG9B_FI$[>C[MC1VK.JFRH?A[4O!!XGN/9=6QN6AW$,O=Z//^C5 M= #.(@L71&#JWY_-_:P#U>$@7/"*:K<\/W5IKZHZ$EM;TO (&,+XQ?:.:SNZ M#FZ?^='5U(4&:IDTKQ[P2Y[Y;>K=3=RIA4=,Q J04XOJ"<@H?*T6S?UV^\ MB*E)C]IVZ/>N=PV#&I!/*.>3*5_6E!;X+&2BWYF?_"U M JB,SL-'\+7M+W'8SX0PHU_H5\U^O[W;?O7V]VFWPF3< 'IU6&4"?PM"4$M= MK^J""^S'L_W)IQ[Q_QY='J.Y$#+ZJ?>RW)^YW>#WDTE@Z=M(8'%Y&PDL3=?U M+>6O&I,/>EJ9JY\8-_T/;AWR?MUW#MX-7A0I[H]4?>_O#^I+WC MOW8^O/_:>?WFV_;6'MG=:I^T#SZ>[&Z]^?IQQY^T/^R"%_B&;?_]"=P?RH04 MR+B85PX&N6Q[H\L!K5J6%XR,1@/3(E'EX0_9RMJ;Z;HT/U/]5EOQ@V/H6QC]_NPJ3OWD[/%I%V8V8EU5"4/8LT>C^&SVR_/9 MJ4?=?CTD]9>>3Y\U-2RS-3I745G/U>3RU'@R9ET+ENVGZ1Y4TQ=/3:OUVK2: M*Q*=7.-FW1A]Z66\3BZ]]J/'$KZN"/VEQ_[XFF"_]M3'U5A^IOT_SX>@!<\0>]_06?%T>3W;K]V%S8GCC=XV)^!.^J/LA/^ M)F07'-H]N6E"++_]%;_$7D4NW]7LL0[BQ1*<>NO$>EBV'3SM2^:F^L\W_:/C M\U&B3V^4WO<'9R-2?3\:[/O1N*6]]G^V2 C4SGUI:SRI37:%B;^TAU=: M:' % )W/DIP2'&RU-"@"2=)V'K1W=0)_=&BNUIH M)N;!*QBQT>;XA1T.<]:G=D]78@7>K_JBDQ5X!YOXXT[O8/OUV\_;6W_N=W;> M=COTG^['TS\^[T(;/IYV/H,/RC_NM$_F5^#!\_>W/[3Y[NN_>?OP)0'_%=KU MYT'[]=O>[M;N09N^W>^<[N^W3_],[>YTL?([_ W:\JUS\/Z353)PH?(J9:_ MA144?G,428DQM2=S>B>ZPS!U%D2!2,61V8$$WDH%L]4;"!_N1L*4NLW #@L-J'!MX^[6CJ M<:(1Y--3$%KCC,5"8&(ED4 S[JJTL_G%=GLYIC8]L_1\@=M6=./SOPK_W ;_ MG"QZ89@(X8T.B%@N$,?,($,=0T93F90@6$EU:_Q33F%J&HX%9UKFO=XPN"[@ M=MOD&/?!Q@"^#0OD;G%<0BHW O."0T,H=M@SAX16 7$5#+*"2B1U%%S5IZG% MM0W!14M+5L#\V,#,L;+.41-P4%PKIC%8D3J1H 0#'7UE7Z HY?O%\8)3D)VX M0 -&@6B/N(X,.9;_%"%XDN"?P)NHE!][DFEG6-<7G52NV^O]FD]PU=C*"M*/ M-"D2C8GR)J=E@DF*86<3-SI*0G"AGP;23^?%19_@/=_>>?-)6J*#QAH9)8!^ M&#@&,(T,?I,T1? 7/$]-C$G<4ESTJ>/84@J]RH>R2L*U(38J%S23RE,#/OZ5 MLZO%)W@ ,)_.@]F2"-Z(VX]_.89 VP3EC> !L '_;*\9&FZR#,;0\)@0U(>8K)>!ZZ- M9,D$J7&I9&TB_VPO21=%;H(QFB!EDT+<\("TQO"/\)C*:(V@L8FAJ1)BOA4< M V*9MEI(PC%W5AMGF-3.8!LYH_:.??OB$]P(S L^ 1=>.<<3HASXD>=Z,B>U M 6QCPE7TF'F5#\PV@A^X*KWPSZ_QS[M%EX!X9:BS#&G), *[ MD"!#%$6,J(1I7GL@;V]Q6PDM-@W'UE.ON(Y18L6EQ]JS1%W@GD2KR5VX! 6O MU\'K@M6O!=5,@94 TV81CX0BY\%>X(1Z1HC'UH"](*DI6'UL6$V1):X5,12L M_,""CX( 43!-@.$5D6!)(.>\MU3QZAYNH M3,>[7N6XY!2\GQILN!AL/]\!:.=];:S51MO.FY/VSD?R M"5.IF.<>@:&-$?<)O"[.$THL>0_FE3#I]O;@*-F6IN'YMK86OS:>BZ-U/=R> MS.$69-$0'1BR,$^(,^V1C@3<+2TB]C(R''V=O:BONV=7#!\M6P MW)G7P2Y1347 "!AW>D*)#2(@Y01QGA"?)&FB#KZE3&G3?((+A\3^VC%D5XWV MEF<4+[MXV<7+OF\O>S1CN).BYN]*S>\MNMJ..26MQ8@&[A /-B&MJ4.,,>.5 M3E[;VUNW6,SVIH'ZCEWMGX"Z@/=ZX)WWMT7PULEDD>"8(:Y2^F(?6>_OOQ^K%X!#>=U)+EWH^J@XO.52ZLL-8#>/18#B.H;+C*@%% M5%\R1U3.CN"SXR,@KS$\,EAHX.P11S $M9L%Y #/R<)4V?I<=7AZE67X2YS> M.VI5MA_J%\%CAA&^%"O?@[N[J9M?.JHFI\^3]>I,WNL17S["LIDC'*(;7]@V MM>[S@AOZ\^&&P3X_Z_M4(^@[CYVT_S^?1 M\?39 P==^I+%MH*Y@:N5@YF+^5G0G.'@L/YX,!P.7'TF7*C <,&4Q^%H-T#&\?QR$\*=4?U-.>']N;J9FK3CA=K]JV;_=B%L6J M.X*1&8&TC;JY)?GM$:86=!,PVN35YX,U>?<(/NOV;=]WS\4OO[IW'E^;M 6& M+@SR8T:#5IZ-$4CM<'1Q<(^&@R_P83T>MNJ!N,46O*([#.C(#LQ5B+0 M'# $PO1)@_K+HR,P($!NZBE>KT"23ZKC49PT_.*3X7V9)?P8C(3JI!M[(,;' MPR\@V7EFOMAA=W ,K3HY@D]@-I:)OQUFNOWP&H_\]N@0L\(), M+EGXAC;/3Q:+;_">++LPK7GU.8+'@R(\!I-J.".=R1#;:A]@"XW;&\9::&:S M" _K U_4=M*D(3-BLUDU=J%-TP;LQ7XM;70&?70.H\T)C,;[,&VY_^WZH)@)6V7[L?IG D!@ M^2I_;<0X0YU[-9;,;)NP/#\KC"0 #;CZ\ M,+P7^:T/ O=U'Q0 C$@7(-(=UB0)1OMHPI1^ K@-(;O8 38#U5_,*ZO Y8N M?-/O9_'-W^S5O ^O[R\9A"H<#V=\.]X'U" P'0!)T.7N((PJX!/X\B;@J#Y<;E8^;$L[VSLOWU4[V]#6SKOMO]YL;>Z\W*I>O>EL M=EZ\V?RK>K<#'[1?=G;>5;^][VR^WWH#UW]?)CV7:IU[[T_%GU7_^ I<" M869/YCRDL0,O^Z,W\)\?.'*Q_6X6N0C=[2W/VZ=_?/YX^O)D=^MOTCE]M=_^ M\)'N;H7#]NN_R>[A;K>S]3>\YVTO_L_;D]T/X^<[IVV7[\]:._\ M^;FS]9ZU/[S\MGNP^[E#/W[=W?KG @R81!\2HM'FC M)(TT9P:)9)43EC#'TB0 !30B.Z<,)I/U\Y9\WW*M M\Y8-G&B#&5=$@F09)430(=%HDCX+Q-VV-/J]_K=G6>V"9PU=W4YY-.9D$J3T MPFCL9 _K"0LG;6]^ BUF'=4"::]#/L,I@7!R&-V@8EV,0BB;%[9[9[?E:GLB M\S[+?)R7^>[Y+$_H.OV:CZK9M#*> WP7=&OS^[BJTLZE[6 M@:AS>V<(MGN._/7LT2@^F_WR?!;(ZO;KUM=?>CY]UM1(RI;5?*H^Z\#)Y7-# M8!U/C(%I''#ZYNGE]?K27$QRQJ#?I)K/4:-3$_J'B:6#9WF1*9MWL7S(/)UM'9/:BF_L(5RIY6M??+ M\T%;T<=#%X<5(Q/?Z+L1N*7ZG*:5Y63.O&X.8TIOF?QR"@,\.?!I9PW\:?IO M6:_O-/NW7-;_=7>]?MADY_+N7NNL#I*L2V"C4<<#YS:PY$,@(G GA;ERD4(6 MK=78).T73:U)!O/PS\_PV>?=K4ZW\[ISN+OS-_]X\,<^F%3=3F[WCH?G_ F? MA_WY#.;'P[=@?KW]W*9O,+RAU]G:[[9?O\3MUV]HF[[J=4[__-P^A,_IJ]1> MLKU)$@1FR?F\20)'/!F)C!0!8:R)L9X3$F7>.!FWA& +"4R[")!JWC+CQ3C/W16(K5Q3R M2%>.M"^IXWAD>^PUQLJLQ[M=#_A MA04#2R3BA P6,1$\XA1^TX1ID!J>, ^4&6W7-C@19?NO)[0WT6-?X5@G6W.N M:3X#=9.EC3<+&CQANW!Y#4*Q#N](#72Z2\*3A& )Y"VBR.K9ARL6GGS,K-,8R[*PSGVSSN(>TBG$8%4 XS.2?$*Y1MI+ MAACABCOJE"(\1_=(B]W:4LV'CNZM:K#LQ6!X5*]R>93G4-S8%@I.*HH9T0X; M+KQU)#!CN%6Y?LX3<=M[8D_6I8X+/]T:/RT[NAH8@SA%4-3,@',L)7)"4602 MUXQAS*AFDZ0MHWCUK*(2-6N:;6,2391[K!QS7(KHQ.U?*JUR7>U7;IK#( MP['(@I5C*!?!2 VT@2/BS"7PK3!'X%)YG_5$B'3B6V&Q0F&V52VCJ]?DH=SZ M&"XLLGQDFUK=V*#1^3@MKJ(54G IF<;1E*LF%4@D?EMSC6S MAK'DD),N(FZ=1II86Y?M:2N]LBPGJ$F+,5I",7>^G@SPEW>[[)5HS#(*DD90 MX1P'YG%<>:(IIXI3*XV,48IT9W9,89EKL,S+15,E!>N48!%9KA0X2]8AK4D" MRR7F4V^\2\FL;4BZN "W\89*";@)&)TJ9I:X<2%O64E6&EP: M_'36ZDT(^N*VD&65W@.LTBN>_X-IVX^+-GD41-*43Q"WR2*.$T46RX"TD@RG M:''*65!*9$OALI]8DZ*+JT9 C5FP5PCH(0EH(?2HP2=38-_'(#40D-#(1B:1 MA$^YBHYY(3,!Z99Z-#MSK6I@\A;7[ETZ!4VDKI5;U=<9]'UAK]MF+[]H/@E% M#).<(YJD0#QYA@S!#%&26$@I*IVSKTR+EN K:#Y="ZPK%/!<*?99N=6 A7WN MB'WF;2<%ND2")8Q\P"ZO*\;(")N+69WDR6@;$@/V4;S%^8U+Z.^%"TIAVNK5 ME*Q<85KAI[O@I[V+UA&,PV?V":>HD[46$2M(]NURB3V12 D<5< 4$P>^G: M M*4MQ6BE.6[GBM$(D=T0D)_-$(F(^H8R@(*E'G'N%#/C4*$EC""=."1[6-CAO M47);^SN5,-"]['S0W J4E=OYH+#1G9LU$[=+"J^<]P89(X&-8C#(.4ZS68,Y MM0EKFA>"X4T9@QQD40NB&4H MP;0&*5(('LP:QEJ"W3CU5:K='EU4Z=T &@ ?]&^0CFNN-WAC^\M2ZT%-,W = M,%?:6S"\A$V1$\,UH:[87RM FP=+ECQ*B9TD,2#,BC+%'GA1-!<^Z=#LSR'%_*FX2(5-)GJ\(C\^:7 M%-+F(B,4.26(2R^08=$C 42"P>!63*N:1VZ^UN#^@DHK9WV5!I<&_V)@M+%K M#8#"D;^E]0:K6++2F,4&?PWZ>SMQ>/CF?!**4KT]I?I^T3AG.H9 B4_UO];EHBO=L?#,>9 M+S?[H5#GG5+GDJ6>EAH1O8L(2YX0-UHCG:1"B26L#',Z8KNVH3EK&;*":Q5N M'\8/''=],)$_N)U;B+P)1+ZP9%9QZK$S*!CO$0\4B)QQCYQ*1,=( MC*NW_ 0;F(K;.CFA ;1:&\K_'N<,"OP,W2\;L[YUC@\!2G[C/_#AK">'=KC7 M[=?MF0L0'AR/QMUT JRZOCYF'&!5Y_O]X!":#G<_K^SR8LP?O0&ZVH.F#&$X3B=O.AJ OLJW M#J./ '(88OAS6/4&T.?J:Q?:X8];GJVEDO)H: MN1?_Y^W)[H=PY"B7'?J&=T[W3MNOWQZT=_[\W-EZS]H?7G[;/=C]W*$?O^YN M_0/:]PT&39VV=][C3]K%8&72B$2>#V?-.^#P'+ .0>M\!E$R<6V#MX0P+9#4 M!7U:S_AU9EE)*SRWA$J?0'D;;;Q@H,"Y\H%1(:X:?"RS?-59_OCMD_:,>F,4 M@KF&6784(RTU1=%%SF6BT42UML%:DN)+9OGZ9-H"FAD= 9MWO\3>R1QS?F>Y M?"\@ C-,L;8^2,>-B=HP'HU+3$ILJ?.?MFH:()B@^?T8CGMQ.UU> M=0)R,P#%V^O66GDGW[,#;?@#=-?G)R8B[8//I]M_?^*2"BF#0=;D#6JQ\O"; M%$@+K#A.N>Q?K%41<'0$8ST&!;-VF0J4#Z\"=T!1)=#:@Z]@&E6UW5R-C@^A MD?"0T46SX7_]?YH2]1P4WTQ8$! )&MFL+,_=NLLQ\%LWZ\7!,30WC'Y_=A4; M0=:QCFFKIL['Q(6HS=.C47PV^^7YK(2@VZ][67_I^?194X]$'"TF_?/P3RX_ M_]H-X_UGQJPKK+(+/8VW3U\\N4K6:^]ZSB.:7.-T77%RZ66\?OFU'SV6T'7! MY"\]]L?7!&-WT5C*?^VQ#])8ILT*-=;0*SWV)]FBGZ:"%V]=$OGSM<-UEZ$N M;A %H /NI_W/#?X$./QI=6T#S6(7@]'(Q&=???]\&W[9V-QFO;[5]> M4/3DAN,O^/P'2U ?ZWB\LMVIT?F/[1W'[_K_2%>]3+=E?':%N;[9!H!7D)!? MKZ4OC6QT(Q][@>I/=G*\\2K;EPON MW/K,V@>]@]T/?QY\//AS(?O7WOG(=@_^9A]W.MWVZ2;O0/\^GN[QSN'NY^T= M?[+] ?IR"-<.7Z5V=_'88LJE95AZ%!WAB!N6D#9YZ^Y@B.(B"A],/K8X+QJ^ MK0*X!M6T%F8JS'159O+^^/ X9SI#[3:<>PS9=_HCYIS:COU6&.EZC+1X!C(3 M0#4\H2BL1UPZ@YPF%$D='8U2\)B7T2U6E!4N*EQT1SWZ;87(*$"<:!$3*2">A$'6&XVB"4(2&1V+,;MQN,66D%%C M]WY:^5/B;G-ORT>\)XJFA!FBO L40A 15R#I61R95PRP6FO.1$!@WU$6YC(!NV(4O8Y6B5,7S4JMA?"%:(V%Z*4P?DHP!QFVP2"MPA*2*F@C O$DTK[T#::#/"\A7 M N37"7<\-,KGPAT%S==!\T)$0P@*OA]VB#I%0&-CB8PB":4DL-/"&N744#\5#1U"07< X870@$\)>M=WBQ)68FXE!)9SB.*UCANK*"&YZ@D M:5$I&J205V[3N56YLPQLV77PUV)7%Y;C/K+#6&ZL,BTEDE,:&3>>4Z-,Y,0! MN6HB)5.8E(!5TU5G9TDQ5$A8$6$D\D[DXW<90R;:@(+24BGO(L=Y)W#9(EPW M*(C^ /O[%4R7@-5*8'PA8*4XH3:E@"2U%'$2 M+))219#%IY&6G>MNJ6 E8% MY(T+6#TTRDO Z@9H7@A8L60D2 M)8@;@.$2L+H'#"\$K%1P06).$>.Y=H5$@HR-%B6:6'2$$I9<;75CUB2K^[&7 MKCSJ0^9O3D$R,>$T9]@'#FK&2FR-(@Y'FO=%_.5#YDL X-ZH:$G%"M&<&)4\ M\CY8Q)4+R!DP+)376F,F?#)J;4.W)+[Q6JB2!GNBD"[^_WU"?,'_UU9(8H5! M,5J . L.6>4)HHX[3V'V@S:E8&6U0'XM__^!45[\_QN@><'_=\H9:;U%P6N' M>/ .:<\"HCH%P20)T>3ERV*QOK04K#0,Q W %$ M":U8H)H*9I4-AM[ABI7"-E=FF^T72S8\$8RKR"GBR>53>FE$3@2&%'R:-$F4 M&;RV(=F-:^-*VN")8K8X^/<)\ 4'WP1/A1,::>E;SJ$&X#@R]W[ M+K@'3!@X\&$Y&P0*)6N9IXI&TVK!U.EC/KO7 4KIX M0'=CT_?-6VZP*G<^TGVB.X,^\K>P5W13-C$NS[C",QY[D.\G^S8_=4/$,QMX M4DD(S7B20FN=#*6):&QP5*D4^33=6FE/+97O#CP-B>DDO( 1U?GP+DN1!3,3 M"7 QHJ-:B+S,!Z2GA6^>BSDLQT+W@>%YC1XN)%]X@YD-$ M7.>3=76*2 MG)3>&,V'6-I@6+<&;I+/+R2UXGEIHD;6@2,1-2.*NPAN@UO; M$+1%S8UWU2YEQD\4U.5]F-QOX"R[*=A*&X B(NG?R\@GM?'1BC#!>&(4)4]?4-!'T>.L.6$2BR3 MT;XVKJ4L"W_N<=O/6SRRYA&''2.V"IB',0,R*R)S3"B@)9><)(G:L@/H2I#2 M0FU \L%9Q0CR)H$!4J8A=3T#3O#D >X<'FCQ+)U_+X'QC*)?=_'^& J=+6 MA%DN"8HJ,<2%4$ASSY 24C(1)'$IGW[9(KRD_AL/\@9@O 0$[CD@,(&QS?OW M1H,1TX*#NJ82:6<25S%:P24A1XH2+5',70'VVL+YQW5S)C3U13)>];>X7X_,FLN"*4;"#D= Y MK$4,RVB7R,:@M-#$DYSX+KO7KA+*KQ75>F"8ESJ6F\!Y(7#%6%+1"X\"I09Q M[B*R G.DK30LL.""SH&K)1MGE#J6AJ&X 2 N8:M[ ?&\3F:),4P^8R .87 , MI%#-F&YZPWAP]"P+RVC0ZX;ZXL_)=5DPYTZY52WEUG]=-ZQ[6V/RL(IF^6!< M0]$X0Y)U20E!'0^;8_>4%4(OA%X(O3F$?IWH[4,S M>JE)O#-&7PCM4F^T8BHB+(D%1L=Y=:+ B.:3J[T5G# /C$Y:2BY2^K6+$@NW M%FY]?-S: &HM,?5[8<]Y>]AI!7/E(HJ11,2Q-\BH*!!6^5P H9ED9&U#*M-2 MO%C$-TD!_'N,]V=8OO#%:8?Q^5>L@[X=CR__RH6>^0BX']X. M$9F?S2[-#2'X;&8GHW3AW_WAK E'=B\B![;69]#TT,)GMO?5GHS6_OU=1PZ[ M_=G#-5W7\/[K=GGC/V[X[XWO6W3W(_5SRJZ'ZL7VZ\[+_UN]V'[[W^VWFSMO MMCM50UO:V=YY^:[:V8:V=MYM__5F:W/GY5;UZDUGL_/BS>9?U;L=^*#]LK/S MKOKM?6?S_=8;N/[[,D&8P\B$\K6VF'!.M,&,*R*U]0:T4] AT6B2_GZN#^UP M#P0C UU^;Y<<'(_&W71R7[EL>D'O3EG@>T4K,,,40V^"=-R8J WCT;C$I,26 M.O]IJU:T!!-TKG&_U['O_'X,Q[VXG;YW3;;[;_I?XFA\",(PVLFTM .O_:,W M\)]74X_VXO^\/=G]$(XSL1S!E M>KW!5U G5:T,JM'Q(0@D3,NH&L/E%X-#$+V3NJI,/1]5>]FK!&-L-G=5#_Z& M>VT_5,EVA]47VSN&O\%"JNS,GD+P%QJ!551USR<9?H=OS3^JFJF%RHZJ0:HV MCX;=WD3#TE:5I:KZ#;XXWA\<@Y2'T>_/%O76)93S/<[6+L'N3\<0M/MDH&;Z MK%;3 ,J>/1K%9[-?GL_RP]U^#;+Z2\^G;9@JP:PYY\OE,_HGEZ?*P9AU*DU& MYC2Q/'WQ5'6LUZ"=LSHFUQA>5X1<>AFO7W[M1X\UZU+\VE-_?$TP6=I:VOKD MV\JO]-2?E)I<\T2EVW3P]0V\IO/R0'*5KDQ,Q[OLS+R3L#Q8<6[+5-F8J?X[ M4V*OX)U7.#'JI]62I@D3^U.'Z;*)?>2R>J7):8JH_A5'V;*#MQ%:M>'V_NJ.M VE^U\WH;T'\\0U2$JPA7$:[&C=S/A>N1'K[[ MDW-*;[R([-Z3_\N[>?7D_[*.K?BJN."DHI@1[;#APEM' C.&6Y6S)IZ(JV;P MYXJAYO+Y+R;!WL'Q7%G4S%O/KM$.>$:$3KR#)Y#G/_QS?W>G33[N?.;Y.^W3 MOVF'=O8[K_\\[!Q^/-G]\(9V3C_S]LX?W?D\_\?#5[WVZ3_[VSO[!^V=-Z>= MK8_L(WV)/Q["^P[^['T\^,BVH?WMUW^FLYK7"P?'RT1Y(H$@D&>)N'5Y"VC* MD:<^86:%%D*O;6C2,DL.;5OYU>R%MII*6]2V6LGE!EN *:6L5DHXI3!,FGO"\ AB;QW4@12&PIA+8RO'7C+>VAW\- M^GMQ6 CK%@F+S!.6Q3QX84&L'4] 6(8@+94%"91,$V%)PGYM@PG3T\WA\?@S6.P);35N&E6^0E,<]+P3%//,U'C6**.&,)>,EZ)+D$ M"\O'8)-;V^",MHBZ\3%"A9T*.ZVN?;6OI)JTX-%R%:V0 M@DO)-.;6)@*&EJ96659RQ:NMIQ1IL)^04[M8#\.B!?R*32&+CTGN2#ORR /%#D M%)BCRDJG&9&$J'P$&+E)-*^ NZCSDH*\9Z0OI"")LA83&I!)V '214"6DH " M#2YJQQ.U>&V#T9:Z^7%%!?%%G9?DW0,SP&+RSD=(WHA[:6#B#AXC[ (@&@2"3(X282I#C$R M+,&'SVDOT.E-.L"WX'J5='I)&-U[*&XA822UQ#ZFB"S.!<^8.61,KGK6V-.\ M11*H]:RZM;F%O6WO(5^TJNOB-O=BWY^44XZ7L1&Q)$1&#=5*<:RC99)A)G&B M223I8Q-R!(_M:-3[XJ3NQ?3 >]$^> G>1' :YWP BQJ\"<.0-Y-C*Q*4(*!G/P:BG AEM$M)):2F-PX'D%$'>G[\)5:D%W"ND MSDN"X,[Q+!:4MI!26>:0=8FFB%EIS@)N0 BHUQ6XF :0EQ M7J#(HD5&^8!X$@9X25E$C#&:$Q>H U[B+:W*,H'5 /QU3(QF(KX8'[<5[Y]@ M7#&AN> )29N/AY38(FM]0H$90E0,T7*2;8]%)Z(4#C8,W"N'[1+FOY\P_W1K M16&9R3J<22\1%SCE90(.F41D<(QY:=3:AF[Q)2O3BS9O(N!73YN7*/]=1?DG M&$\.&Z:Q1"X*A;@C%!G*#4K.&$HX#5(%T.:B://&@[MQV"Y1_ON,\D^MJ-8D@H9&P#+40NDF4A(<1^QLR8PQMHW/G ^T*MQD*/ M=P-H 'S0+VL]EJD[P7\!?PE";2:D%]( @4A)*/>(T$E1IQ%B0QE I2^ MU@![;"W+QSRTC'B$A]4\2L!?)Y[43,272-.-,+Z8!)*)8C0,W(W#=DD"W3F>%X] 248$+24,:$K93 ](.ZH1 M]I%0EA3\/Q6=O4JP;I[.+CF@NXBV+>2 E"9."RZ1Y-@B3D) EI.$=- B61L) M)ZY!JOF1KO1H ]Q\]\CV;I "6+6T\S481QI!A7.B2:DL ^).&M-CN?+9M27%&@_(F7] MXR!^2=G]*L07XO=,T8BM%D@9&Q '2",;>$*.1HN),B+FO9IN*657T%[0?N.S M'@KX?Q7\"X%]:G!0FG,D5 #P1Y^0MIP@FG>*]P9;(VZO6*> _VF"_[((?\'N M=;"[$,2G5!EE +L.)]KPYNF^=]EQ#^7431%@]L M4)R##N8(IA0#D)5'SGN&C!8R*"DXPZ$Q3G99Q/'$[RP"\,3OO.DJGGEE_K/O MN<$PQ"&:T- S!KP5!L>@I*J9(I[>,!X*>J7RU5 M_?^Z;BKVML;D8>V@Y8-Q#3/(&9*L2TH(ZGC@W :6? A$!.ZD,+0)2XM*[=*O MFTMP?;Q@+@6O%'':($6)0IP3@K3R G&KHD]6!)-7L!O=XFS19IH![?[,^E^K ME[HE@#]PJ56A]D+MO^KB-I/;RU&&=TGU)W-4SRSV"OY#CH,_S*G0R #A(TFD M(<)J+TS,=:J6N'..6U7MW2;&=>6LZ"AX")0DYJW,&4%MD M6,)(X!!2$#)IG]8V.#8M+AN+V8TW=2YU&X_H9WWR_V=.':N9 M"Y)X< 9)'3.3.ZB./?XRR$&W5G_,1SLQ,%55\XZ\.D)=#^GCT:Q6>S7Y[/JD.Z_1IE M]9>>']KA7K<_ZY@X6ER;G1LZN?S\:S>,]Y\9L\Z)R,;5M*QD^N+)5;)>VUUS M SNYILPZX^32RWC]\FL_>BS1ZUR8*SWV3LNARL,?Y\-GMTSU$JOME=NNC?[5 M9WQ/#:'[9>,_\,_L65-X3VGI(NL<'(_&W71R7S73M-YWP?;M7CR,_7%U. U M/AB.0 \[H,LS95N-]^VXLL-8=?N5S=I^IFRK'JC5ZFBJ;JOQ +XZCL-#>$OU M=3^.]^.PLI.;XK?N:#RJAK%6Q_E6N%KY80S=^"7V!D7A:]#;W[V*STO'X& 8-+NQ7J3?X.EJO_K CN)"'"EY6 M06-Z$WW1JAIG4FWVH,D61@#^?E$/\((-!3+GLQWU%=3;*)ZO1\&K:4+UXO^\ M!1,I'#G*98>^X9W3O=/VZ[=@#OWYN;/UGK4_O/RV>[#[N4,_?MW=^N=P%]K1 MV?H#S*&/=/OO3Y)R[+1C",M($)^+SF#WYST:'$G,>:2A.- M7]OH#Y:$+>8^R+0T&?P\W-\36::)>2;^:C.%^FQ.ALK6=+-Y-.SV)M$)VJHR M\BMXTE;T\=#%X>0"(_45NE[M "7'^C'7(1S-))-&&FUDWIQ8NV!M_'!,<%[V"+]PS&Y?(/\+A#P(;_H^\VZ$_M4_BY@N%5-/MC<_Y8WH+/41 MQ-1IX"-'D!98(9.C"7,IZ&O,E0D8-'+P3]R/()( '@D.7;QOO#&-%AKGFHCNJI!K^I MGY^SW/"Y\"F;&3T7?-RI,]<[@6:,X3FC[(GN#WHAOVP4O_-Z!^#!@=>8G;18 M-_]+')Y4X J#7.6;3M;/0I8_\/'-P_OX8/15+P:'\+X+T]!;JJN[DWS+&XL_#='B!LE%ES[O-S!S13 M\ @&/WN:\\YHYNWE%'TI0]<.Z"(7+6U6CK']4KO&@S'<#_KC7\VU92[EN$OS MDD].^ _:WT#X>9 D\%PGDHQ'W#N/+* !">=-(,HE*O,"%J);H#F7F!\@1"L@ M!E=/3S\U,>CL_"TZI^]S7UAG:_/;)TH!^O5*L283%I:IV.T M^3AUOE0@6D FHQR?[WZ)O9/6M3CLS)Y\NTA44V::)$ER0F%BZ*Z]Z7^)HW%M M>L+G@T-P3*;L]6+0KS/2=3KDW1A^Y+OJD-XVM*!."XS6J_]"6X:S=,F,\>9M MU=;%G,Q"HZ9]A&_,,66KZL=Q_3S[K55]S9'!BU;Z:!^ZDVWC.!S5&YBIYU7\ M?\?9F+?P@O/BBFI09WJ@>T?PA=@?P>#6+Y\SD"=ST3D^A 'VMV!Z?(^T\Z$> MO>C9T:B;NC'\<9(+JO/L']M>>VJW;T&C=S(*=^#]?_0&_O,3 U7[X#-N?P5' M$ N&I40T[YW#95[#0K!&'KB.!T%#\&*MBL \1S#.X^%QSL(VVLM)@^Q5UKYC MG9@#>1S5J,KHB2E-@'_FP%49?:-9VG%JEDQ%'21\1M8($(1J['7/9>SR\/MO MM8<[.(;.A-'OSZ[B)(I)_OI>:T8(QNMX4I%[W:(1*M:9O/VB$;TNC?BEI_[X M&@AY:6MI:VGKBK35K%-]*[5CUZCP^<'Q*![H/@[OLN[67*GL]G_UQL])=1+M M\-+341YKU\'JJSY"QR\_%^:Q]IPB]D1[#L[=$^TY1^*)]EP@_41[OI.#EM_U M^J:[!#;TH*\7@^'18)A+.)<>]'7%JO_%HOYFKB9:/@:_NIKH"KUNXK[,UXB_ M!B<5Q8QHAPT7WCH2F#'<*B5$\$1>5[0[_R=G>)[!2Z.#5P<>=WF%[9W>_??#/?F<'OG/0YIW#MFAOO87G[9'V MEF>=PX]X?J50^T-G?_O#1VC?RY/.AY>DL_6>MD_WZ,?3SU\[K]_P[:WW7SNG MGNX>O$WM98>>82N,M1BYR"CB4N?=J5*./3'GDA?6IGS>NL\%9PSAB/ ;@0NF1YIPA$T.($H/!*,3:AE8MQE6APD*%A0KOD K/ MR&]"AJ\&Q\/"A7?&A0MG"@:+-%,^XKE'>;Z9&%XYF83LJH0)&, B..E426 M.O",:2#",DD53VL;M$5I\80+Y17*N^7D\/E?A>=NE>?F-U/'0D8M(D/A2>6ZO=[E MU5F/Z33Q:Q!3PHE):XC'!KP5(:W"W&-JHA5:]$^;7\B M4AIK8T(B28EX4!QIK!T"+Y0'N$25YFL;NL7%C6-RMWC8^&UOB5D _DL +W49 M#8;ZZ3S4E6/@9QF+.%<:<9M4#KU+%%@T06CPRI)>VV M3A8/32Q0+U OE0<- M1CN91[MCQ$H2)++:*\1=X,AR[)$4F).\IX"G(F\HT")B\33L O<"]Y)=;S+> MV3S>6<*:B>A14"%OFX49LH(+A)57*@CE322 =]72[,;QU8+W@O>20;Y/N(L% MN"N"K2("20^:G0/*D2-4(9D=]VA@YE7*1=8M*HHU7^!^5UG2U/T6 SJ-PT%! M]#4C<1<2I&1[IWWZ"4 M4GX-QOK"4FQ,C!,$!W I> 27PC%DJ(J($$>-ML$FSW+-I5"F0+U O:3\5@GM M"XN-)7;4&J^15LF!W^$= E?2(!FMXB#ZD=0;+P#<38%[@7M)^:T6WA<6U"JE MF76@W7U(''&%$[*4.^3A8TYL3(*ZM0W54OBVZHP+W)\PW*^9\2NI@5M(]DUW M$/2(NZ<0,XXBIR0E%HL-2:R8+I@NF3[FHCF^45_FO*@#=7()FM 0T>#G,R' M$,> (^9,4F?SHK\6X3>NMKU%,/\DVS<[DP<:&W^,_W)GN;,(5;FS"%6Y>L*PY#&.2K./>8T::Y(*/7R!>P7NI:5@[J"W4M@C(;0_#()<'S5ID8.6XDLL0Q M%I0R(M "]0+U4M?25$@OUK5(SSP8Z0$)$C'B3#C -/&(:.Q ?0>IHB^8+I@N M=2U-1/-\78N0V)IH\]HQ O^H:$$Y*X9(D$Z%A)D5L8&A]$>ZBOW= !H '_1O MD-M[Q#5U%%0/#BJ8$!)/%!LMP7$4P5FJJ1;D(7)[Q;3X-3(Z64SK2<.5\APC M[:1!7$:'C!("@<> B17!6DI*Q6Q!][WE]0J>KX/GA?R=D)(2%BS2EA'$K23( M\B 0=EH'JYF6&O!LU&V=@%:P_(2Q?(7<78'S=>"\D*,S.NKZM!OKJ4(\(]EX MKA!)VF%NG0E*9#@WJ?Z]P'E5X5SR<_>$\\7\G)0\4.61%EJ#&2X23GF@GIQ?PZ1[96E M=\NH1QI!A7,\9VZX\D133A6G5AH9([B1]Y6>*YQS9<[9?K&8A@O!T&BL08FZ MA+@)!CGE/2(,4^6P(+DOKFHGQA=2<9SI1:Q6*F(+C MSRQ&)AJ#E/$^$2Y)(*6(K^"\+*U;.:@OINT(#\*RB(0'-X(+QY&Q-B AF$W" M.&WP[575%*@7J)?4W7UA?2%UE_/P. +,K4@YGJ\5,E0P)&545M*HX(^"]8+U MDKI;-:@OI.Z8D(181I'Q6B*N$\O;RR;$/%6*P55IB@5?H%Y2=XV%]&+J#AQR M*DU4-8@1QTGFR)M%//CHHX8YMD5]%TS?7NJN /9Z@)W/SM$4DK2*(:\\0SP" M5G7@"@7NC)=.).%\TT+E9:/5MWUF$JMQYWT)U[=*@GWW/#88A#M&$+I\Q MX- M6+VP>F'U.RAI*L1^,V+OS)OK7#H?@<&1] 0C3H1'5G&.@DXJJA -S^8ZR7N7 M+=EBI!![(?9"[(78;Z& K3#[#9E]WF0G>1\XRB02W!O$.4](Q[RB5<9DHH1I M9VEM0^N6TL5B+\1>B+T0^UU4*Q9>OQFO;\];[-A$9SA+*'HM$)T\_%0/J%DE3K 1S9&U#*M-2O!C>-ZFK_OA'>YU^W7K1,WDD]Z[X;_/9F#RU/R=&@G,!HDU M$YK\_^R]>5,;R98^_%4J>&?>N3>"Y.:^N">(H WFTM$2;5MN#_Q#Y(J$M7"U M&,.G_YTL26P2-F"!):B9:UI2567E/:Z7V-WV.N?;[<&OMT;C/JQ >W_WN[Y+[\614BM-4&1 MSHZHG1RV:MNU\X//>Q>UB_>X1M^UZKNUBT- @?K)%NS>=^W]SW\T 1':\=\? MS@\_AU-'N3QH?#F']YS5+OYH'IS4+@!IH ][^."BWCD\R7T!??OS)W'0>9=J M@%!'6 :M'6$HL11 [U82N>0=XLG##UH;Y]V8!P!EQK"5D=@'JT6B/!F>N/#, M&JR(B@8'Y97B9*V( ,RG,.O#_BBN;4[G'/!\ENZOD^^M/3!>CA^^;?.)2>:C M;\8P:L?]=$D\;T?]/GQJY!W]>LEGZ_Q( /,/QB@4)0&B,5XB32E%U"I*(\4P M\S/D\.R ,\-)2L"Y1I699 :MP3"&HI>*83."U-%N]\X ]XM_M+KP2V\$KPJ# M?[Z9Q=N[,+J$^TO.-.8O,**V/1W$-],/OTV=VUO=LH?E0[]-VIJP*VAN)KM= M9C_CR[^=M<*PF;GC!AY+U9.?HU& ?N,>I*_;\IA0.QU::T5H_#_?0APBB^KHCB_UB9:Z+X>WYP\>GL M 'X[;!RVZA?O1?UB1]2W:Q?0/OSF+PZW=\[WM__X+^I=:8X_7.J#X?YS-XZE<2E9%AG"($7$7*'*6,B1R M4FB*@Z=$KFTJM0X_K+K2_^-=N1KFV%7!U/E+^&(Q]>>SLLM _$>&YRX4_TO"!3LTW[/Q\%+2]:^?%)>GN^][E_CV:X@Z6D@ MJ34KYF%C)9TA'J9#R."EMK;*JK!#!]6P6FJ67\JHD52]>DOD> M;E30\!!HF"W S'T2+F%0^0Q @R(6&2XD*(36) )XZU=VS3XIRNV/E]ZJE4U MN+UK=5N#9@S%<:_WR,HQRUNT:OF$D>ET[^;9KH21IT&<\UEAA#%&K$\<$4!3AF1!69 #AR M>4VZ/"!4$U04(JASCQ&FEN(THR1>J$ID&;M4U"U3KA M*QA4L? =^HOM/Z\-H7_VI.^E(?3RB:P50B\6H6=D4Z>L)D0&A%VTB,ML8>'-#:-^!"^.#D[^9^HR9J M%W]_J9WDN, =<7!Q3&Z'74#_Z/YV[F?]Y.!B![C0AU;],W#"BR\7]<_OS^L7 MQ\#)VB?[VW^GVLGQM]KQD>5):LD54LD$Q$VBR ;%$ N":*:DDE'>CMM1%#/E ME%'.:AY)T$Y&'D*@!*>HL;@=J#&>Z$>$[/SX13<[)B-+BF#I F6<*F6QM]J! M(&2-3Q@&\AVJO\ZZ3D:#82N=/VL82:,9B[>]#KSO_'\&1;N=9"R,_'!0M^-<;[P>X+T/OFT'@U9JP=OMY1/=X\DM&\5; MZ(]M=:>/=&SYCO*GWNFX%\-> 1, H=CCN5OE488?7^PAS PY MPM &OA]S$QMW0_)RK>36(,]A&?$PAK5)V,-Z'A],YEF>PFZF*OIL# _ M95LQSINZ81-FZ2PW8KT'D2Y'&H%87I2Q13!9<=I2;G@2@C2>W7RAO+4W&@Z& M\)KO+-]TZTPB0#JCP?A>N*N994@0+];+D7X%NBZCFT[M>6X$AII)#,9KRU"JC!29_GV$ MMX;X;:-HC&V>F%0 7![,Z.OER+:S^S<9#*>)K_ MZP%ZYZ-X]/<4T)N\^FUO<$\U%+\R9KZ_O46. E?48BD1EI9FQU&!7!(>$28P M#LE+J4).G,(,70?BG-$B2S)XR'([S2231AIM)$_!:1>,BRJDH#DFAI7+3:?+ M36&Y6;7B-;)CZ58X%WT".1C!.4.R1C3+FLB$)&8(LB/B]A]@Z<\7;0O(+KEXPV?TT&69'@7,1I[+$CJW2R.CE0 M&9)%7"6)=*XM6OI@L*B9ARD'LN.8KP3B5$O^_26OX2,+2^JYTD@SP1"'648. M=AMB,N0<#]*),=)@]5"DF95C)D+;60M0Q8XEV"S3GL7VUUB48%-*?6U0Z\O[ MSYHMW[RAZ,0VO E0J-L;9JFR'WWON OR%C0W43H&@S@LIN\JVB".MMJMX?EB MD0W$SE\*;!4[_;XII+%#:UM'S$EK&>?(:QD1)Y$ARS1'*F'AN8@)8PFDO:Q0 M5BWR#Q>Y?G:4<. V'X4[Q23B#AMDE,5(6D^\T$[!A*]M,GT?\)JQ8#VS[?+/ M*5I-+U4>F5]AT*QO'6DLHS @!0L5,.)&<003KE (VEKCN4\DW#.3S-/9 MPN=K]^]&L(SQ!R)W-L?9P22QS. Q:64(GY@&I7R1&6%^@_&8&8U,]WK6WFS+G% M3BDV37.A3$0DLOZ"L\'MPW U"5_J!* M?_ KO%*_*VA-#027=+V?WI54G0%N-3RD'BF6C3VD.A^^')R\ZQR<@,+4^03W MO\>UQA>X_["]O]V$?_#Y9(OL-WYOW_:0.MS]T*I]/H0^'9P?-C[DW+7?]AL@ MQG4^\?U=^-?X]"KD6AESGL\AE7+:..XZ :D4^!>0()#*&F!8N,J*%X'%M4ZQS M-1M;M+IAESV&5MM$E+AQS+CC/,)60, ='+ M"DRT]H(%P"Z^3NEL%=A*ZEH\=JE*ZGH9V)7KH%;0M3#HFF,02\*)* E#!EN, M.!$>.:P""L09:SF+@%EKFVQ=D9_.O56)7?> +EV)72\$NEI?*ZEK<= US]8E M3'1"640X-8CK@$'JLAI)[CGS*1B%388NSF%52UX)W8QE24X;^5K+7Z@-8 M6:RX0K&%H]@Y H8VBIE1!)2Y)P-ZTK.ID5>70GL M'DXX5<:;*B?9:N8DNR_,5LBZ*&3=GV.5XSH*[F- .F*0#P7U^9-#1L(%[", MJUO;Y!P$1%&E*WO*]#OS/8AO.1#_JDCHG!M@$@1_VH^#'%_^U;9'\;+XYMB? M>IX7-=P^:N<'6]T<6G0M .DJ! A:>5! QX(@Z [PJ:(ZYD=U')_7CH\\D<2Y M%!&C7B,>0T(6IATY0KV,)"B:)"B49EU(N9CPG46E6*M6^X&KO?_^B NA'',X MVSL3XD828 ^P[MCEU%<61V]LN=I*W!7I?D<>B)(,9CS4RRB^>8&+TS##T!J' M&#;MUYS"XWP:N5BFZVC:\<7S. 02Z@#^ &NI=58^>P5>]W+NP ]_%@7:, ;]]-; M>$'N_@VB@%WAWX11_PS$-I!%7ATE[.3H.\MS=*/1R$DG$4\N(F=,1,$D9@*+ M6"2@A&'L AS:_DQ.L!RD7:;"SUAGBVX\RT+>L-\"N,P;?QS"4ZZ^!P#KP5.# M:?*CK;().[@)S4T[**^6D#I&U,NT2Y=)E>)5<'FS-;@./2 =@IR='P !<1S_ M_2."HU%YIZ1G1#$.TJ"51@?-73 @DG#,RV!/(+AQL.<-RO/'W6]SR6Z_['.C M!X@4SRH:O),&]SC08)0A>,5 ^H/I!V%0&J2=4P@ "BN9L'(.Q(,$?'P^$:Y/ MV73&H=%I;TQ>\=MIJW\CL58/:*J5Z:*"GR58^N-OM:TC3840 3,D>0)&!'P' M6>(LTL13E5Q>_5#"#\HK/XL^,+T9/BXQX$I>@YG-Y%"JE:W^8%ADIC4WK:[WUKY:KH[?,'J1M:Z1BY8#S8Q$&W-%%B M(>";3#*"@C-6-QZ:[^1#!L7]]&D0MW(>C$K&F4]:[TGM[$A%P!!O,?(<9T'' M1V0MUX JTA-K%4[$/"]\L$,X.U$AUF+DYM3:U<^F?"9P#<2TM? MJ13^;ML6X*?XV(PQI^H<0%Y(YCW42B:YML@WV8TS][\LD7!-SVO6$ MKF-;F.L-FP\SXXVUPQGHZ)RU'S!'6CJ!2-)4^I@D+,7:IMJ0,Q)^)HSO M*N\/@(UJ21>TI!@D,BI""MY8%$WT>4FS1$8H"@(D 4$-*'4R+ZF>6=)2A_\Q M5/R,L7]6HIJ3B_R>-3CTV@_M],]?@$$]3P&&7/'RK-5N9\;9[@U&_:5)5K;_ M=D+U)^\ZA[LUH.K0R51\V( V3IJMVLDG Q-B% <1 M;ZVRS.6;MGL<+\WUWO;[YQF>+UTVCB>+/"EP\$)RW%%I M'I7CCFU0O?@<=WA#,+GX''=L0ZG[-?M"G>BGAIJQK'%YRCV5)WY%OK/E\WI= M4$JS)?);79I*C5,&N1I^J8]DGQ._U#].GKP7 M]5W041J'7PZW#UO[VQ^:M_U2#SKU=KWS1[O6.2!UT#_JVW\WZY_?=>K;7_ A MW%_O?/@"?>?UW7>I-L#6#Z9Q6"^4328VFI*B9&JE^8*;>*MGJR::FBK2JI M]6DP?DZT/?-!!UBT^D?O%WZZ#S'I[?P[=/2>HG>WC_ M\R=1N_B]76LT._7=0V"PS?;A]A[TX1.K?_ZC=;@-?3WYD&,0*' [RRF3','< M2=!HN$-6)XN(3MHR(SS3[O:AFHV68V^LD(G#$Z +X>0]%M(Y3SV;.56YFOIB M//>/.%W[X3N?[W3M70M$O?@GL)APFZB6J:+4KZ G?$05*,7",*2H)(A;$Y"3 M1B(LE/ !:RTLON>IFWCF4[>M3@_$E8MQ3-V48,<.J65Y[=8@^YA.@Z7+P[9\ M(/>(X[;QR)[];$U(\IBS-4$VR#V/JQYT"L8W&'F:([O[U8]ZT9VE=U]^1 VM M9:\D=4^=?;??&PQ*4?3MY#B]_/)W/E)_076U[CD;6]Z/.J-V]IPOIV&"?R73 M?7VS48_#^U#&#S;,%*U!$(G?GY-5OG-!=N72;*#&ZON2F9AS+%H[9GX_C+[9 MA7<=MV8/QNYI9'F=AM^7;]>5D7DF'99!>BYTKDV,*55.XV"-L.F^=MWO*!0E MQUH)>^]CU8VQO??DCY,#>B!JG]]?')YLL?WM]^S@;A[0+)3 M7WW[_<5M>V^M4S\Y//GR[7"[WJEM>U[?#LWL*'BX_7>[]OG=E\,3Z./V'JYO MU[.]]]M,/0[B@B31(NNSO=<1A4RD!@G'@")@*2W)=:SU.B:S!3E6S-S[=-;< MJBIEA:AW#/B0KL*[2KY\1K8U>^;IJ("MGL!&[D-;,(SBYVR* H- M<&:E!SF2.Q0C2Y18H; B.36"H"N8>G7%*OLNLSUADGZK&'LG]+J#9NOT;D?; MU722_6E ),Q*Z[UUB02>O'#" [UJ2_)1I$_W=I2J%.IG@\3S684:*X>UCPD% M&CCBWH%";4P"K=KQ0 1Q@M-K\/*+H>[?;6A5T4*J-2BQ>[= M&;5(>9FP%1A9"^R?<^J0<50B&H7E+N1RBW)MDZPK\[IE@)=_DEKO=:'OG=,X MC(4][L898.%.U:8"BH< Q8SV$B1/$GN%,',&<>4UTAPK%*,+,FJF&;<@ 9G9$+(' M'W=5._8U\?%2=ZDVYT,VYXQZ8@AAC"B-J.8<\4@DLA)S1#E5GG/B<69V:+R%E3'<<_&Z^;XMS)O M5?"!HZ1%SOYL"'+>@0*;2/8VX<'E2AR,KQ.S@BX*#]J0O]BP7P'I2P+2A^CQ MSX"DU1'ETV/KC)+OB4_1)HZR[Q[B%)0) %N!N-!$8VT\D3E7#%U7=+:"PX// M*"N0JT#N54N+U;'M8O%LQB[B16):V(@,BPIQG;-@,2L0<3EG.B6PIGIMDY!U MKF;=]"M9\9J]X%:6JG%FG9\.I+[6]3DINQX1D?URWGG/3 9/Q%8:K4X<%/5X M5GSH=6SW#K+6/T'5*QI67Z5\^)Y9$YY0D6YKX%("J3]+-YAS:V2A6C5#4:>^>UQ@$YR@4[5(H< M8><$XBE7),22(2-M2%JYZ(V[,^?"D@:Q53'!%< MH$[$,R!<92I^#LP[OX5Y MU#%,D_"(*@&81XA#5K&<4P&@AA/WB!M)D&8T(JZ8,TPS1H('9,/K5,V>@BVI-%>E)'@1P8@_ M#U")^$"Y-YP+GI/!"6=,=%%P$[FW]ZXX6"FY&H# MU'!DO-3( GTS)R7&TJYMLG4MJQ0!2[^CEVM#5VK#@C?OC-H@I.3$:8VT=#*7 M"H%]JZU#W@<=G5,R.IYS!!BU3#SYY1_$O8J(_9^&H*!3P!(47\TQ9SX91KWF MC*7$5,3$+TXQJ'#F 3BS-T?VYR$(+T#V%R:;)WS,I1TI$I%'K!BGUI+Y(?M5 M /TR;M*'2/[/L$NK /H%[=O;PCUQ3D2/-1*P?(@3[9&QTJ&$DT\T*JJER@.5@>@"\;,&1-*)$IZ M8P$I+>6(,Q.0(20AZTF6/S5@9S9PTG5.9CW"5U("+6T/_QI:>"/\-[2^;D[' M51]U8-/XZ1Z8?+V57!,S3+&V/DC'C8G:,!Z-2TQ*;*GS1]MEA@F"LU/]--7$ M37K_Z)LQC-JQE[Y#^>]&PU$_7A<>=KZ=QNX@-G+'&]"?W]L]_V4UR;X=__WA M_/!S.'64R_K)'M[__$G4+GYOUQK-3GWWL'/0:+8/M_>@#Y]8_?,?K<-MZ.O) MAU0[V3O/@5M*8^P1-2$B'D!]TH('Q%(^8B-!8@]S'@$93F'6A_U1-CO!.D\) MLV/[QZUN25ZW3KY/1H-A*YT_%^ 2D<.QKY(?CK?3) /B.HQ@"!B7@U%320R% MO48-11R3P]AS-@>L]HK6)0T5MB2BXLP.LC$J]=KMWMF@^$>K6PR;O1'T-PS^ M^>9RXY:;X,X9RDDC,M'=2HP T]*VIX/X9OKAMZFEK]4MAUD^]-NDKS5A@VWQBSH07+S&AB(IR\>'R5;)1\ZA;:C*]ILB$IN_,RWB"/ MO"88?=23W^LL$1NN7M/L&>$+LY[O6-@^B M[1<[\#U4C> ^T[264S&,NL.')!ZX[U'%LEG*/\2.;64JR."7 M6EF*FYOWM0KOJL*[?K:4$W$)<\6P\81K8K)_'PY)2DZI=$XN(N_AK)AV2>#[ M(.5E\LY ]QITF6:[1G>^[6]_POO;6_#O/:W3&J_M[GT[N&BV:B<[W^H4WO]Y M[_RV+K._^^GB -Y3;[SGM>WWH,L:K.#-\)I1KS4,YH5*B%+1?,?%(A5^+0R_SF?QRV)""!,L M^[\SQ*WUR'CAD& N<.=5E(EF_&)XF7SA7ZX@)BM![$7A5[,?8X5@BT*P^MM9 M!./!F.2#0\HE@3@#C=,QIG)8?\(Z49/,.&9P83Y;E03V/013E03VDA#L76]4 M&U$ !O=6&/40C)IGYE(QR2@2HIQ(!-00D75& 489QP63)BBRMBEX9>1Z\DW7 M:,9^M&D8^Y6@]5)P:BLO9P56CP&K&S:MXPOX=Q1EBD%9A[A(.F=V<\A0'Q&/ M(1E&E.%8+ 2LEDB5,\L4__7_U> M&/GA9]OOV^[P?+LU\.W>8-1?&D_]^MLI)M0N#BYJ.=#DO/[YL GO@3U:;^TW M?F_6=@_;!_1#NWYQ<'[8><]O>^K7+J"MBQQHLD<..^]:]>UP4J-[HK:[HT-U)J+S1WDF/E S9$W?;MGTYZL>^ X,=II&>)^KJK M^RT"'Z_,#U_['9+^A4$$=**B%;EVE>V>%_WL9QT&Q1!^NPHA\+W!L/2U';53 MJPTM'!>G8YHMSL;SUXJ#P@[+Q^"AF&\> #LKG!W \Z-3F*=F:S#L]3.VE.T- M8'Y]YW5DS=B- M6#$X!;::8*_"MRZ\J]H_(U@- MH D'KX76OW1[9SGV 09XUANU0]'M#8NF_0K#BQ$NV"_PM]6%#EGOLQ-V,1KD MYJZ-.-BAW2@^-UNYDS"UW6-[''-78.E!I0*)8>;E\/VX;SLPK]V0OT!7!W&P M#@_Y]BA#>9%[_36VSXM.#^0.>%/^#6Z.7VT[$R=\S3,T;1 FJ3>">8"E[G7S M# Y&IZ?M5NR/7S%LMOH!G=H^W)H)//-&6(3N*,$' *,^O'MX12K___^G*5&_ M#:84 .U?+E[1@B93BCX3CSN_'%JRK7:.1>D#54%KF;@R^<)TP6RLE[T &O[: M\A'$K#:,K7\^H148]*C?A];RZO7@TWC![.VF-XJM;F$#/#F(DQ7/CV32AN%# M]^'G/)Y>?TQ@_3@8M8=%&=H2BV[,\3) *YE7YH% WRZ'!V_ZVAIDTH2%G!TS MC+@?)XLS[F>>(8I_V_(>D"9,8VX&Y<_DMZ+7G4QGM^32Y4:;YH#YV(P@,V[, M ,\S!);MIUOLZ,^6=:U,0$L5//8+6-)Y[>Q(1J,CC0DQ!W/)H^-(^@S/-FHS\?P'%UN\?G$, M_:Q_.=S>^5;?_J-]T'D'_"O'^7]H'6Y_XO7.WTW@>:GV=A++?\V$(IQA+D2) M--4.<16ROH49_#&<,8:3261MDZ\SM:@8F&6P12\I>/YU*6Z6$NDU/:LU&&1Y M,HSZ4PG_%%[1"U7EHP4(Q0_'I,^7*[-7+DP%0P^!H8^S,"0C]L0[ABCA%'$G M ])$:R2(C\E);X5D:YN"_G1AW>KT_D>[[=W8/I/K)V01;HZ^\#K**CPD0]PS MP!,R19EY00U/' N0TL^1"( M""##"$/OZT50J;Y/RP3JPJYX&G=1Z8C&LR YR.:XZ=]@;E$L@[&- MAG<_,I/>Z6D2.\#G"G4I3-%LW^5QNHX(M>/]@LJ?7+?V/:9 M/1^L_>NF*;_5G?9(TPT-G7[H/&W^K^O_:_/.LX(GFMY[>G6\W=^M[_Q?\7;_ MPU_['[8:>_OU8DE[FOU//A:-?>AK_>/^GWO;6XV=[>+=7GVK_G9OZ\_B8P-^ MJ.W4&Q^+?WRJ;WW:WH/K_YQ'/4OD3T/PDSO4O.UU.JUAJ1YM=W MXF )G6O.)RRS4^,'G;WSS+)JVW]WZMO9$>Y=\^#S :F?[!%@G>W:2?MD?_M MW#[)S,YU!R=_?,E]J'\^P/7MX[/:YW?-PY-/M';R24!_S_<_UX"UME.M4,H)QR8):Q*')3"$ MJ11NGWQ>6X?RG:[.HF^]+D:W],>[\K3V+7M;/K>*!HW&_;7MOXXRRST%I8=R/\\ M-Y.]84KWH.RW-;ARP/D&+RG3066GIF$3&KZ/Q\$R[.]B *_./F>@M!6G.6BF M-YWQZ43^S^#&YKY:MMOK8>\$"[@"T]/._[WFI'0*(MUHV.SUHOAVEEKV+SU MW'B-[W @*P^R;MZ?4PUW7":YB2/7F)*NX>'8%_&:@TH>T72Z\BW=7.VW),K2 MX23SF?Q3/\([N^5/UX9;.O%=N>Y-&[JD^/G]GCO0RQDON[5>^AY.MM>U%Y;O MROZ"Y?N@^0&PN_'436A^?'@'\YN IL)T)X"HV1G,DL]E.>-IGUJ#^7V>.AM> M9R[#\].LG<$&'"_O /:U;UZ;A.L35?I=C@;C'DUR2$_6:$+8;WO'L%\+Z'9K MT(3[CGN],/81O#D%F6+RP%M VE<#O!I3/V:GORM_TY),XK?L[UBN9B]K:[F6 M\^5^V2C>C?K02+_3Z\>;#-26WG;C,U.0\P;PL=>]L2.F1#@=T^762P\CI1)J M[UZ &^ZP)=G=\#I='\\]D/6_)\QP[&)<3D$['I>8V?,Q9B >%""2PLSEG=$"V33 Y, - M$P?C;A9ALL_RJ#^F$I>]>TOBS.03QUA>$A7,WC!VQWCJ8M.V4^ET"[1P#.QW M,+Q.J=>\@8'D\AH"I,"RCV\"-E&Z'E]R;%B)8>F">Y:AJ]V*7R?4D8F^/771 MA"ZU2M?C"7'&#N $<(M+AV5[Y70[]9*-I:-N[G+V#H;=#/29KT^M)>O0_']& M+> U( C 6,8NLR4V]0"[QJ> MZCA9Z) %%[&*!!"GEQKW896OY:FK#V@E?YH MJK_^.P88^O%6]O9N#9=1AV6U2[/O[QT0;WFMX=G!Q6&G?O+^VW[C7;.V??AE M?_?@K+Z[1P\^'S9KC=\[,]ZXNP??X'W?ZA?AI-XYH/7M'5'[O'-6[[SGAR=; M^.#DL'G8@3[N'F8=5M3?'W$M+-%2@.9J#>+>$^08*++"^9@X"4K-!HA(YXVG M"EL>"(_!.JL,,38QI[DRVM_68:]6I;BV+(]07G_\XIL=U8$:(JR.F%$8*#?8 M&\$\$50Z@8-99F7WF@AW&2< ?!=N 5Z<'?F[_KP J/IRG1U-Y-/S,<_*0'Q: M0G*(6;(>5ZD +I[EP#%3.NT!V@XS5EVAUCB8(X/3+5_G*P[:AX&-E:@Q.W#C MT\$!O*C;ZT!+PXG0<[/#V?5JC'V7 'OM%3.C P%F''Y0!CO;A!_.;#]?AE3?RD#C06P2\%\+-R$ M*VJ81-' Q@[C'>_RIDV#.+Q4T6[NZV1;_9OB\:1\3?FBB6"4]X:+94Q6WF5A M:JZXO?GRR_/>&4-..2:0D9MC!ERTKO"_U"+*AZ8Q7Z4O9A8 \_5GB=SQQ]UO M;_:O[ GOQO#P=HH.RQ2O\RLD!%X_.W*68R=)0)XFA;C6 FDL%(J21D^TLMRR M^\?K+!%;+2W%)?V7<3JE"G+-M#3+*EY^' ^7&X0^0:4END$Q?Y*R4'>_]-&= MA8ML93J[4C.+-Q27BRRX=6<2'+,<9:?NZ2'U77>ZES3\^;XXWP]K6][::_=< MW:G ?I_L;3?\BV9KVCRDX,U24GJ]-SYN*9U;_LXBY_UGY?NCOD\^K)<^NY\^ M;I<3N_.?$2@#[7BKEMU/E_!;H0F:CS3+0'ZK.WL_(*^Y0$T>&,/R:US?RW;> MM+)CB+\7P[I2MH&DBNT;NN[$V'S=UOGF/F3VZ,R=]VAC832\7)U\H<$6.Z-^ M[X6%HCXP-"#F'/0W/;"$EDX[;@/W/'GK5"*8,,,#KG7J[Y:EAV8B M! ()*E+KD5(R9Q7T#AG,(S))::6E$$'2M4U&U\4<9ZU5"1%8A)__,Z5S?;'1 M5"\J)*K"O17#O8O;N)=TT-@DBJRB#''F!'),$Y08+*4G4I&0 /?$NJ"FPKVJ M],;/BDI!*Q^9=C1%Q95.1@*U$:>("(1)2>^;0*B"C.>"##(34:]M(HXII&C0 MB!N24S%;@UP L%>&>OBRMBGQ7+_VE=_ JR>X_&P:L^437'XZ=U"%0JN&0NPV M"F6G"0D+C[ F@$))6V23B<@G;!S6QFJ& 87X.ID3T[VTF81^+K_':[[SA:9H MJL5O.>2H^"L.'F=V6]Y<3 ]4/SO?NK?53ZVX<=*K0"7WWFG+'([!1^7S_]^[ MKD>%XL^"XO4YR> 4XS@EC5$V&@"*.PDH;@6RF(HHE)5!N;5-(L1<87+I]<\% M)H:J2JHMQF158<:*8<:,R4KBB"4E"DF7(N+$*] _)0B")%G")1:,\K5-O<[- M;$ZW"C%>&V(\4%> 9:X]B M1MGH0$_PH!WP)"0RU!GD+,ZU622-@:QMFG6NEVG_OE 7H'^/NL<6FND6[W)5 MJKL=.5?SC.N!.D9SE&[A#4[2446!4D/BA'CK$V .Y30X8J--E8ZQ7'AS(VLT MC/WBRQ$HB5HI"9J%"AYQ+STRB2FDL:(V<8>U !V#K&LS_YAKZ?6,Y3M8>UVH M,2NE5*BQ:JAQ<1LUK!+>R1 1\=IFU A()Y!25 S")N]BQ'IM4ZPS32K$>/6( M\4"]9E;.2#2R& $M3/!<1>N\($82'0AQ.B12Z37+AACD-F(8$:BR(B&JM$9< M"HTT!36'VABL !5')9WE#'&'G%'MX97:P[-T]S"G!)E"/(G;9 MIACR\24C2.3RX"DPBFU95X^RV?.(I75$655_B3\LO"KG?CF(W=?M+W%R>GX+ M:W1D0ECKI0J$:QLUM,!H8(%8)Z.J-(REPYI9?PGGL8@D5[-2 O$8"3*8!<2" MLB:(* *GV?=V1:T2U=G)LEDE*LQ8-,!VHTLU*&)RR"ZNHT8Y%3YHU3A >";1!4*7'O$N$5 M8OP"J\3$7\*;Y+ 3R%O/$5"$07ZU M@U=M!\_X2\ .Y$9X@C0W ?% ,3+61\2])=(P')4A^22"SCF)J/PE%KSU?L_I MFP?-XJ_<]=?M+''L3F^!#<6:2^>4IM1QR50.W))$9M761X:2$"8'<1BD'8!-8#IJ)PSP$[NVR=:Y%JNG8%1')LMFDJ@08]408\8D M84BBGAJ/(N<6<64H,E)&)(GUU-OH2W=.OLYRL=P*,5XY8CQ0H9F5,:+15A!J M*#>8VZ"TXRYQYS AF-C *H5FV1!CQB3AL&6@T8 NXW5VR$P2Z>0UBL)K+;.? M7%*EC,%G98QJ_Z[4_IWE^-7^7;7].V.0R+2I'>5(: 4:]BH[; MTM&)KQ/YTP:)*EO'\M]936PUL:MU9S6Q5>*>AX@W;VW7AAPCMYUK*/5?MR^: MM[=%.NNMXL#L!3>12V4=B'B*FDB(,5IP4AEQEDJD@]]*<:X4ZQI[Y[7& 3D2 M46$>&$8F2=#)C,$@TXF$(BR^%62L'F2&0!69&_8L.UL(XI84J> MKWXZ/J[R1?NA6:+9*L/C/L1NI]5UK=?MCN:[M[W7K6$F ;L1*@2.E=1> Y?1 MCC%0:1W53Z!DI-:W&-!%[/Y7H-/..WU=,PJJ/II3-*5'BQ2GAQ?@LO<.2!F)!3"AJ0353T MR%"*$97>L$@$\]%5>%'AQ6,M$C/RA3;!:ZR5UTYP%X)A T>E!NG @C#H5)H ME@XTZK>%#)Y(8%(GQ*FSB&LED=:>(>N"YIYCR2Q>V[RC9D&U@U=J!\^)B*]V M\,KMX-MLWSN*50P219W3>QI'D)&1@YK@I,QA\9+'M4VU+LELTMP:" ^>WZ5^XET;R=X<\FB9W3W!#)>0!95/!D/3$N<4JXH95VL3PP\^FZ M-8+!7'P[HAZG9*Q&,5F"@$%D08$')'SDRGH@+L-66+NHCDN6SAI1X<4JX<7Y M#;RX.$K$!T,3SG%P G%. G(Q$22$S4&TW 1:X46%%X^V1LS(%TD*@H45%C08 M[FS4FF#":0P\2>MEK'29I0.-^@TA8X\=".\-_0^KHY[5Q]U %J\N/OF5I;W9$=2RAPV[1S'=L_ M;G71L'?ZYM8V/!D-AJUT/MERF__K^O^ZE&W&+[K6S&3C<+JA!#1SVANT\JO> M]&.[).??SEIAV)QNK&L/CD?S!E\]8MV@UQX-[W[D6A]]A$W87PPJF!^! LT= M(?SF'%S_V^Q/NW!JCR-R_6B_()N@AV]L^\R>#];^=7/N8>(GC6NZH>']#QWR M#U;EB6;JQPI3.55O]W?K._]7O-W_\-?^AZW&WGZ]6-*>UO<;.Q^+QC[TM?YQ M_\^][:W&SG;Q;J^^57^[M_5G\;$!/]1VZHV/Q3\^U;<^;>_!]7_.(X1;6VT, MQ3I00X35$3/*M>" )T8P3P253N!@+EG-9,O>*IN'&P0V?)H)NC^*:X]"VB<7;DJ2W^N.A8E, MI/UX;/N9$Q7#9BP2K'?Q-2]XT4OE+[W1<#"TW?(.>.H,;BY)-'._07%F!P7\ M+_7:[=[9H/A'JPL/]4;0N3#XYYL[=_RUZ1"E+%GRL"NVT ^QG_EEVYX.XIOI MA]^FH8NM;CFF\J'?)FU->$EF0+=MZ7FRQY:-1O,J$GKZE'!_?;7#P[X'GB.]PLTU_GJR.50B+C2TL#X"NPB)];,8X M+*UC?_9\J>96&_^FU'3:;[4+NEY<_5\V'STY$*SD%,[?,-O1QXZ+_8*1]3QY M=+$DMEQ34&VS:ILMXS:K$L)5^?.J.W^2 (A>!??ULITWK2&\P-\+-RXM'46] MERU$ ^B8'<:0SRO^'<-Q/M"X=@[VYCZH_&C7F'NTL3#(KSKYX$X^4Z*)7\ _ M=WROV^NT?-$$DH^S)WB/HOJ5&?U?_7AJ6V&LW,9OI[$[B(/Q-]L-16_8!,G" MC_I]0 # A4%B//>%W'X>0\?;GM1;^R='30^?#G\7!/UDZWS M@\Z[=KWSB=;@N?V&%[>=]_8;[?;!R8[.^^P'Z_@7Z_4?KX/,G M>M@X.#LX.1#UB_;=;P5?/6W_Y M(H]7#\KF+\0J0]E/>RQSY9ETL&4]T>@:DY% MSDJHK(3*9Q(JI\X>K5C!\0/A6,P4/(O>4(D%8M8IQ T/R'FN$?&1\4 <)[G@ MF:H$RU<)9Y5@^0R"905GCX:S;S/%0JPWS#!GD%"1(2ZU0AICCQAV! .F1> [ M:YM<+5W"G>_'N)4_WA41];3!-?LI@>(SA$&.-:!&[N3 H,O5_S8ZSJ=Q?]D@Z & FK;H MQF'A[* UR%_S.][VNN791'DJ-?'%*TJGBD$11K$8]LK;RDV2PW%Z);$59ZUA MLX@6WN)S9'#LG]H^=/'%Q]Y0N(CU$T0<:/JX.(8?A$%TA3B@+8\A M\V?/91X\ZA4_M'&&).N2$H(Z'CBW@24? A&!.RD>D^'S,LW*]20MI7SZ0HR> M?W^!OER4_:'0ZXOW]'#[/:]=U,[KT*]:X^]._:)&ZA>>SZ3V^OS^[+!1@W]? MV.&)OZC#>^K0Y]K%'JO33]_JGW-[GUC]HIEJ+7Q^^PR'<6\I8P+!TD3$:8S( MV%R-R#(=C%2$&+FBWD$/W7>_.$_@"T/-GSW^63'4_.FS(2H##<1[;'#B1B4K MG0D$:Q&D=&E2I>E!9T,5:BX*-?%MU#22NQ!-0B)QCKC7&AGEX),AC'DF@ &F M13@BK1B$O1[A^=J11B5!5Q+T:DK0E];-BA\\C!_P&2F:!*LIM;E.#P4IFD1D MHV%(:F)5%,YB05;3$VK%.- + \Y*B%Y*(;H"SD<"Y[?:VUL^5U0G1YBT"/B; M1-PQ@0SP-H0M\X8KKXGD"_&Y>BX@>[FQLK?EX>QM\Q2>^Y=MK&;UQB64_DJE M_VUV51K&OFWO.YB%,B%-H_SJ:N)*K7 X5+*%%=:H!7"PD5#X8S1S7CF A<29;Z&LD MDNPR7.P7'KA.(KD8K%CHC7)"0C*(OP?=R M];G9:P/B2KY?>OF^ N)' _&L(9U;9IEQ!L&BY$SS6" =1';M],I1JXB.[@E\ M.7\A,"YW]KV/OAG#J'W#=?E:29]=V^K^V1L,]KH?AW88\V_[Z5VK:[L>-O5? ML5\>.'7]:T[8=U%[?Z1D5$P%@ICR(Z) C5*.(*3?64*!/]:L3]NUUQZ># M&4#[\=CV0YFXKQD+V"C1EPK7M>1\K2LJF&;;\]>S[:4I%4#O)Z0Q*,[L(!>' M&N<%'*Q*0CU@,AMXS&@>FE&/Z7LG_'I0LWB#/3(]V8^2GMW]TI](>J;TTZ23 M>YK.FGLGZILCTBYM2;KI+=--;\8[Z<564^X#PMQR-5FN/$-WY(N;%'H%@"TN M.6EQR5X7DD+/K-2,-)K]&%$'[FL.BIUNN)>)[RFV#.4O?,OZ8\6]GAWU$II1P^NW>>OJ5E8+^Z&R^XPZ_YSFJQ5NC.:K%6Z,YJL5;HSFJQ M5NC.:K%6Z,[YF?SUPMUQAKW312L693MO6D-X@;]7CN3+#/=%O9UV7NGL5\: MGEYXP?IWO3Y\G8[;GQ?',#OCR?GGKR@B^L,3R.5S2EA0E=&'C7P9'<#^\0#' M@X2)%30)[ CA) 4;O<1$.!F"$)J(N8>Q-ST0,IC"I[M=$:;'L?O=J]_JM^/^ MNJ,."KTAFK3]0GP6CD7]PI,:?4_J%W#/R8?._N>_6_O;'TZ@'5S?K;'][??L M@/[1G*GYM_V%U2\^71QN?V+UDRU:WSW(]0,Y//.M?O$>'UQX7M\.)P>==PGZ M-#_ZCS C.-I,OYI[#VR#(L$:92$Y5\U%RM;9)UKLB,U\(,Y"QTTRQY MP=$5A+X%521=)>C[:9+16TV"B)+CY*S5D9L2^>@4^2@@'[NO M[U4%>,\ >/7;14X]=T(KE5"P B,>)4:.6(^X5<)+'8EQ,0.>8HLJ<_H+46]) M]XSE[WD/MKHC.W94ON9-,]G'G&ZH[/YRVANT\CUO^K%=;J KKY?_7KOQ MX&3Z\=4CU@UZ[='P[D=F#L06 U+F7AY-1-ST*+K^-_>QW/W,!HDU Q%,.F@F M&N&((-2K& EA'A\IMC9]J'EY(GQJCR-R_6B_()M@6&]L^\R>#];^==-OJ=6= M]DC3#0V=?N@\S?/X>_KI_;'X6\[OV_W=^L[_%6_W/_RU_V&KL;=?+Y:TI_7] MQL['HK$/?:U_W/]S;WNKL;-=O-NK;]7?[FW]67QLP ^UG7KC8_&/3_6M3]M[ M:+.6>YQU/0>B;XHG=/S_$K[$[BN_ZOH\GW+2/?@]<\S,16NLEKEBX[TXW#W\4NM\(O6&I_N[[\\/&UMDQJOS M!/IPLH4/.P>T=N'/,U>L;[>_'';R_9\RE^6'VW^T:]M_ U<\^%;;.A(*]#GG M/3)&4>!^&/B@H0(%X7%B+MF$Q5@6 AR.82O+(\P01HDT2BG';6)&ID2XE2?@-P/WWJSESQ(HE@BCKO I6%6<>*Y M)T02[[1Q:T_M=WR-\':^ 5IT;7M*=(/?SW=C[[AO3YLMOP40O&0EP9^?%L_K M6T2N[\^+XDB(*"R21JX##S:/3J6?RA';^9U"4%;W[YZ4W M(61DG7+8AB%FASMZ_M/?J:!AW'X4\PD&NB$TD($.25Y:3W.$9\D(J_\\VW1WGVYY70]-401)9#$6B-.0T2:88PHBX0HZA*Q=&U3 MXW7.Z:HGI'@I^296!6VK8F //+KDT6@B&&=*\62<$TQZ01/SFC!NPX./+BNT M_;5H.Y-6CDJI?2R9QAVD4G EJ MG1)4>)18^4YB#:12^1@<5%+MA @'GX%$'(DW1= MF5E$6;;]_0+$N)4QY.[V8RZI4[QMMKKV*:RY]\+>.=.U)-B[@+RXU#M..4AN MAB?GM-'>@0#@.=9$&UE)E(&2)>A!A)2);IM4VNUSF6"[+85=+<2S#*[0^; M(,MM#5J/$^5>MAK]TZ*E&N,LPMFRBG/-4!:RY5 MP-PY^)\)"6; RZ@34;P2Y58,469$.4ZQ"B1()$ X1YP!K%C %>2$Y7;7^_ %'N"6J)O?8*+E4IK45[0#XFNJSB"LO*%>9X0%I./,41 M(TFQ 04_6F0--R@D:G5R))$80,[$9)W0JB;7+[ MS:X.!Z@"_JN _V5>BRK@OPKX7U+E_^,0! O;#\7I1-XLX'LQF$B<51J *@W MHHW@T7J-$P\>8RY(-%3A!.,+-K"D.*^,X LQF73>?SLX^="J;;]KUBZ^\(.+ M]^?USSNB1J$=^HG7+MZ=0#](???]C,GDU+?WR$'C MRP6H:^RP<7Q1^UR#,7_"A]OSTP!(H&F M&KRN-%MU(_A+L7&O"MQ6>0 >&G3*O))4,(LEUTH:[P5LP<"),Y31AZVK3%FKA=ES$@40;'%(DJ#L?0PBLG((U)^(: HA.XE0$P6(R'B=\5GOP:67 MD"M_Y&63 AF.G/F@3<*<,TNUQ%8GHA462HM)L&HE!:X.HLQ(@4E;C@7'R.#L M>19 'G1.1X"51(V* 7B( BF0KPOZTVX*E3]RY8^\\I;6U?=>J_R1*ZYPC2O, M2V'@@H*E9189ZD#.!&T"N>0-5OMBT'TRA^Y\D>N$/U[ MB#XCYS.KC-7:HD 509Q;CDST'%'O Q4D1:EMY8^\W/[(X/AH!CVBG>C=FJUVX4MIF!P'W_4 M7SZV:R-(ER/PDQ'DJEM%JYMQ+ ;X4*S]U8^G%@@X?CN-78"UTB.F5V;@\*-^ M/W;A&<"ZX6"MF!3I@MDH:;[TZOW=MFW7Q^)C,\9A^:SMY,I=< DZ\%\/2C%& MDG5)"4$=#[#7 TL^!"("=U(8>K1W/['\K3UM#6'R+V*8KEN>D-U^;S"X'UKC MU43K1WN(XW4,RN(+8/YUBDQZT"U,VA; M+OY#%IS*0 /Q'ANL$_D2/@F+F:;D V M:="6C&#(>JJ0LCR?L"HG)5_;)'Q=*'W'@@]R=;[2WW',:B<^GR4E;$&SW[U\*\-LG\Y2/AX"BM9U1W"@:)?OIP,C/BXYM=8?P+W.LPN8@E)(1V>/\V[!H9>?..1T'/"A\ M/X;6L&CWLAR_<;4T8T:746K0@B: N$?=R;"F82K3WKL^WI'VUN:\]^.+S6MQ:Q)O#F[ZN?U7\=N,Y0\^F M!'JU";>F]/"NUW];KO:?L-A5 =KC(ZVEQ=)8I(AWB,O@D,%,(R<5)LX'F_-\ MWKL [:^&IA]$H&5Q]0H:9K9^D3G9U];PO+R4;QY>Q9$4I]"E'@C&.9ID'I=[ M1+":7I9@-4[$8X+5E-E@CXS_^FZDEM[@XGYU9%]N;,)4DQI+55/QJ9A*3C^3 M"O-%V3]?D@5S42K0=7:WW1NY(6C^LTSQ99@C3W8N@-F='6YOG=3 MPT:SM;^[PX -"NC'17V[=K;_N?;_V'O;IC:2;%OXKRBX=\[IB2"9?'_I.4$$ M;; O_;0DV^#V@2]$OH*PD#R2,(9?_^RL*H&0!!988 ETXHP;4%4I*W/GRK4S M]UY[8CLR?__!U1]?ZMN[5W7Z9[OQKM%NOLN2"N'L\+0-[US']:LM<7#U,=7? MX.\3PHHR2H^U09*JK)'-(G*1,12]H(J2%(,V:YN*S2OP=!Z;B7.*V2R^6VTH ML9 @LMN!==WF%1UXZP\6_3MC.%]IM-3BL8X$A&;!'G!N)3) <">RQU=9I*?#:)A,_#4%S#'N:$V=;; CZW&L-(NJF MU%\OMC$*M]AWH6&M1V+.LHG___8K06P,5NCT$'2Z MG$0G[;*?%C62&FO$@V?(6>*14A(H$L7$A)R4_1/@M'CT: $1Z?:6UKVZ,*\M M&' 5WCWW"G7S"1^9=2OMQ8?]/1-\-Z;MLWG!F- ,I9@HD$MOD,91(>R5Y([: MK+D!\+V.\1+F"RY,F.$,X7OY]SS+6IUS6_;NR+E6U0F]M?^=?LPL-49/ES3C7P>^-!7GJ;L^O0]]6/ +D,/F^\: M._];>]/\^+[Y<6M_M]FH+6A+&\W]G;W:?A/:VMAK_K6[O;6_LUU[N]O8:KS9 MW?JKMK*Y M)T02[[1Q:T\=$[%=Q8)4,>U_7&[U>MG3R/[%=JOOV]W^>>]5!T,TMXY8M#0% M29')R4)<.H*<4PI1*;C3PC"*IXKL3H_36K3(AQG#@59!$*L@B,7T&%=!$*L@ MB-F#(,96O%?@HN4K][_ W_[XTCCUM''U >[?X?"$5G/[ SLX.\ '<'UC_^!J MW$6#)?)[@FM/8.G-D4V6H^XBE*X*".QP'%X5CV<5V+6ZB!@QKE73@3;'@W-K<)Z6V4* MSS"SIUS=;QU85O&[K^*\X%<>6(ZAU19T61'OO8*MN<'6E/")Y$74X)>AH(#U M(,^H\AU[<4 =H'_ 3Y* MB5JKF(IGAJCK_PR37,@*J^:&55-"+!+U$D; ("DSQ5(F(D>,0/ _R8Q/OJ!8 M.N?GK:(LGA&E!N>]3IS<2'D5C&FQ\"A!3[ZWEWE+L[\"H_F!T:V("L^;^\=' M6&JN'59(&"(1EPPCYT)"S)#@O,C^>5S;-.L4BQ<55;'88#3_D*]E(TB_ H^* M0*\Q,*I&XDWA6/O+85S72XOI^B4(5-(A'ZD.%)@0]3!"'!N&;,(1B<"TH\%X M3_W:)IF$GZ7?;5I X)E'9%?ULJO(KJ?NEE5DU^I\X"G1>EH(5\HB,H$KY!*G MB#/KD352Y(@N98(2AFNRMIG+=$PAC L?PS7W.?J$,5P+J]VPU:_9VM=BS.'U M"@&RT *FM%ZIC)4R+R>PQ,1*A*33'>0$SU"&K\0RTW-88;A2, "RY,OCP *- M^9:C*&I=&)I6IVITT;1P7HH#Y:]OQWX.P,C7=6+M,MK>F!K*]+"Z F>8#1+K M+,P$)!7C:(0C@E"O8B2$>7RDY-H/]9*>/9"J1MCOM:>N+WYB>_&DVX8)U=_Y MSWEK<)F+A><__F'[\7H?8%$BFAJM(7 ?\X/375'?_@C7OOUR'.**9PUD&Y$)V6/G.>N!1$L<*]=7,+X8 MM@9%D4(L+&'.,\6X(%K'%*2-B@6BI1%T/ )J;P#=BXI>+Z9I+.82V/Y.J2$X M&48Z)@4T&2[WXR;<;K)SRF,%AD()YK#$.)X(4 +EL$R1"KFXFC7WJ8D5'5M[ M#]1Z)FFP7_XN911:A=3_]7\T)>K???CB;!ZN, ][87NA ,-!5GX[;P_R,8X? M-9I*>')4QZIX0JW[M8)AN'$ =I1AMOPDD\5^[;>UCWN?^FO_+/751D'\SAO> MEW=LU+;ND*X;7WM"[4ZBVL_0TQ_CJD5Q3R.M)\QP\%.=E$Z WYJ23CIH,IVK M[C;>3D6[8HJ-SK"1&,X_+B>P;RMW-DPZ%WO-5'S:W_IF6^W,#MYV>^_@WL%R M""(^-WC63P^NCAA-3F,:4$Q%41&AD%'&PC]1T\C W1!Y@X&N$R*G"R*6)E&S MPTXO(BJ/<[?7BEE>B-*5%ODU3_*-VMZHI1?Z:\7E8+@7K<%)IAKQ>^SYK-16 MDICXGW.@'97*!6#!ES@HQ?&&O&=\-L)<.^MVJF\MA?:J)H6"-,'4.8Z=V -V M=%G[%O,$!,99NX4A@ X>M;ZCDU8(L?/[JS&+QC:812(N&BTU,E0R6%:%1E9B MC@R/)()=1&GYVF8"HEAA=A;.NX\+)4&33%)P(2/G@ LD\*@CA^4.:ZWEK%SH M,>A0_/-WEECL'+\OCM%OGYODD?X=N.P%."[]V'EE, #C+8X8C(1F1"'K78YL M3#A8\EHP MU>\S$AU\<%@;GK#C7#D=#!/$RX0)92'9>XRDV)[>R5]16$4YS+ @9 1H%DB3 M&<9JV$>H\\[5$0V)!\,)@I6:(JYU0%8(F9=&!932$$_5VN8@=NX8]4(@\S:X M;M0RW1B'U\(P5O!:]/O!)?BSS$BP:!2C(XC##$/.P4^8&HU95"H)8,9%2L*, M^$I%L=, Z(S@JOQ[&N[6PQ MHM6%@++OQ3SK6 R_7-_LIIO1?>? M[@*=L8Q(SWRNF&P1EP8C)R-!4E"BP7/1T$KR5]W>O9_?8AR2:4.F2Y#YQ MIH+!8']@!DGQ**15*_OX=8#@OQ]Q)BCUEB)-&$<<*X%,P ')1+V2Q++(< 4( M#P7DHAR(/VG%;[$$Z'1KF\9G-:Y>RV;)=W"76_T3X,WN\MJ-O=XB@E_.6H-! M+)SC3.R]S: MCM7VU,2,'O%1^EM56NI"B;8_/X)_X(WC(YP"H#3F");8O)>?P#O5UB">1(@" M$#4%]J)$VZ?N*5<3\J<2EF?*4!;%$=JSYR-KP1Z3C\S4AC2S)0X_*!^9;U#% M'O78^S\3C,Z_L72#TJ5I+-\ 0K0LC64;1L_6LS\(=WM =>A[ N!*N8 %B& J M#U@*,9;?6IT29&Z4$.X,OGVQ_?&Y^"4&5'3)%C3('L?BYYWJ"*/XY7T^QECU MSDWO?(RYDA&TO_AM6.+GW+:+W_=C[ZRTK6LC*TCX*S2PK6&D3]$QN]!/K4Z_ MY8O?_LY'8#/-Q6?2S@ :\:P!N MNA2/WKRH'*&1H2T/]YWU[Z^KPU./&N\;)1.3JU0$]_ SWO\LB@SLD7W.P?P(N5OWR<'OGHK[= M.&MQX[MG]/[L>%$/5WZWBG58<>6YKPA1I$FXM MQ8DJ1(-AB O@R%J3B"@G5AHGJ(DV"W13.BE-\NM4E!Z)47&BF+R-Z&<_ZU:\4]$X'+9_2[_?YY#-OGO>N J_*<;#2RXWI8 M5CSL(3 \11.%\QB(5AAAPG)?]VB;5&VQ> M&W.+B '+_HR7OH/VMMM+L94S6KN]*O'M=6RG_7(Z]I/[:=7 G>9 7R:1A(#PL8E<8A)11$W&K!;:(NT"212D@P-#@"<3YXS_Q)%S=7V MV7*SMY^=[RLR-S\LF"!S/# M"37(2F,15\P@$QA%P@L? I9:<"!S0F],D4M; M;:@MRC->37#AO8J?+SFP\(%JEE.IWKP$+5>!A8L+\5,""YU2%/SU"$PO><2M M +JGL$=& /A'):+5.$NH,SQY:+KPBIA+%KKST]N&2RHLI$6(-((9)0@0)4)1O*I(BH!$,KGON2PXND!0 M.2<>NV#X\J0JM>['(.(>#"+7>6(C*6(Y.XQ.%;3(26(K?)D%7\@XOM 0HH-E M!!F6$I UFG?D/$&6:A\Y#LRPN+8I-P2[4^AVQ51>.5-9?(_O.G^R2)U<>7YS M1!0VCBC1B22::".;\H#JW0 M$YG7_MGM$A39X9Y2?V*U@?:D<#HRKJL-M#G#Z+2L Y&BIY(B@YD&&+4&.1," MH*KP.#C,9!;H%NN5#T0?/YU]\9O/$P+1TK/7AK[U4.+SPNV\C6+S:?9L? M"$_LOL6@L8I$(N\H05Q*@ZQA!#EM%=?: A>D1>8'7_JZ7HL/P@]YQH->:H&Q M:5%W[NX&H+MV[J9+T:YV[F;%IHF=.V%--!%39&T^9N54(*VE12ZH!(L2X3(" M-HF-&R_[IW;N5@QIQ9">O*.0Q1UYT+:"VVOM[,DR:V/OS*<3 2=;3AG^X M#@R9G"Z;+$V):Y-45&N;C*T+-IDJNR),+SVRKJK\E97TKU,DRHJB@VZIKS]E MP[#V&[E;_W'VH+N9ZM:N=A6?>U?Q[\(6RACLPA3VN_E/J\W&I\/M*:FU'F,; ML]"Z4%IF&4"&P,.U2#/L:# ^6.JS#*!B2^CGSA\'%CR>[ZD1;^G(^!/TRU*M M N_GWG'*K *,GP2^)_8YDQHXLTQ@1 MRKD13"8BBLA'IA8A\G'%Z5:<;DGB+G\,>:N]V:?'NXF]6>DT%8E(I*P!'S\ MZ(%7'Y&QRBL?M<:>K6TRN2[Y$D84+0[+*S9O_U641MN\M_!:1N#J"U&&W]_9 M I2KJ\KOD'_6=CNUW+@"=:H:D\.-VV&IR)'B==56;K]F:U^[O>*F;BHN.._< MONUFKS>G3)Y%N+[5&=1:G>+J=)Y%&3:&]1JG[!#W8@VZWI^W[:"LH&F_?FU? M%MG:G5Q<$\ B?Y"N%1YJ/?C#\!7&6S-6WW)BI8??JW*?MIP((V-9=1RG&RI7 MO?O:[1>]]7LO0MM:WV)5[*X"\I$;*_/$-[=8U^^VSP=WWS)1HV@^5F%F,@JB MQGIIY-^3WK )7X&](M>+]@NR"5KXNVU?V,O^VK]N3P"P_NKAFFYH^/Z'OO)F M4?KHSM*&3]13/UZOBZYZTWS7V/G?VIOFQ_?-CUO[N\U&;4%;VFCN[^S5]IO0 MUL9>\Z_=[:W]G>W:V]W&5N/-[M9?M;U]^$-]I[&_5_OM4V/KT_8N?/[/:88P M-D?*Y=DYY;$"OD$)YBYQQQ,!,J(&972!*N05GP1#O)+,,D]X8LHD M CR<18TI+$W!/KVG-Z5E6V^K5OF5V6IQ,WJJ57-9F\7]2 O541]F)8*\^6_G_-WIC4PM9O!;#>P"5@/[2 MJ]0;ACY! 5>V(N45T.;VBC*^=0O?TSJX^N.T1_/,7)X$O&PP?J"T_%0Z>99!+F@S:2I^"T"\9%%5+0'!/# M"CRD0SRD@(=LA8=+A8>3!;D22<)2AE+$%G%&*-*1",0,5=1J)[SU:YMDPRQ! MC=;GFU:SH-,+X,#+HI)2G6N%UK=6B)U0NVS%]DLK%K$ ?)<_*;X/AW&[&L45 MOC\8WZ>E(TBB @L8*6X(XBY*I),*2&D6B!,!4TG6-O&&F 3XA2>\\Q&D7W1. MNRJ+\<2T=05K"P]K$[35&^V\M!9%ET]'M7;()@(H%X4*,-*2)I]A;4H%PQ<# M,J^:FB[']NPU-?W6S7%,[=;@\H65E%T 6CJ_%*K[\/OOZQ%<(?A#$7Q:$3-E M0[38.P1C#@@>*$$F8(E4 E,W-'JOTMHF6T):.A]=TT6GI:M:NT],2U>PM@2P M-D%,&4^$@O6@Q&DN+:$5TIQ1%%5* 6N67,[_9).E&5\,R+QJ6KID.Z:#V#NK M_=;JU'+R8_]N;9B9HE4693U;U#36^V#XY::E/A<63RF<9IUD(06">)=6B>,[O MK0%\B9\A^>*.(,%[$B$6)&.D=ZOAM0O;KQ5(4#O_"MZ7K0UZT?9A6M=:G?Z@ M=Y[1H79QTNW'DMCDZP&Q^JW^H/BD-3@I,D;\C1Q$>6&57EGFHFPL3@<]<)Q_ M=!#^R]_GWM:_BYW8L^WV99D,Z\][O3QJM]^EUNJ/IZQV.C".K:MA.I"W_9.; MF\"=;L/Z45PYDF+[7_]'4Z+^W:_]T87%)(__=JL'?=?M]>&!50>63[2#6B_V MS]N#X2-\NUOD'I7Y2U^S:E*M6V;<%DE,M0!-VQASYWYYUS_6E*9L7/_R=_DA M;L3)UD^"A^^>N5;'#O.K3P ENKW,MD;OZJ9R(*?9#CS@K-L9YK$!5YL!7 KK M:IU];;=NMP[("J"9#2.YW=5]X]]:?-T+P*C<-XOS%K.;U/7*$N!AWW)V?*][ M5HP46%/W#+ZL!J,ZR*APU@VQ??,Y##O811[7^ V0K5^"RP"H_G',^JVE#%N_ M,J7665R@4?YA_TSD7A98B#(6SI;X"?1\".&#FY2K*@^T7XLYZ:I4LRUGY%#2 M-D^HT;]722IEONC_?82.W\*<1E4)TN]R!_5W.^^+GAB3N"H^W(9.OG:(EEW! M[]%YT^"IX.:'HR!,H R\?&YAA+@!1\5YXY%P(F?!YT(C.LLP;*C)HZ7"F!YC M,PNSU;^RF8?:#&D<'W%B#:$\(L%)3@J1 AD,AJ-4(,$'E?6?UC8IG5:;9CW3 MP[PVP&+0OEPFR!YT8=$&UZG2C;H3H8H3_#%.O/ M4"#A,=I;KV^J?6"-K2,+HX:P,MII1GO FUM'@CCF>>0(8\T0#%I"V@N. MDDS$LY"8EA2PCJP33186[%:V\N2V(AH?C@26GEG&D,89X)++52R(75/H'9 M]VN_?=S[U!^33GLN,;-&MU(\O&E;T;2B95NYYUN#RU>N7?;IJKYUQ %]; 0? MW *W0YR#,9NH."(V./A_$8CQ2Z9==BTR5JF#G9]!(^$A_=%-VO_NU[)YUFQE M"_<0ASMYP^]WBQS>5BJ;%(I9*NTRL<'I$\B!B0U%9I8#^]7:97Q#,SW38V=4 M@UHZN:'I$5RE!U5HD_Y6B-EVS^%QX4$!:B^D*X9[=ZC:O*L5O5)LX=7R'EXM MTZM:P:]N=$,O)$8O<[_SF'Q7+W.H:CWX0UL[=_8CN5(W$] MY*^G@-T!RQ%:]?TOWP_W/3O<_@#\JGURN']\<;C]]NPP1W%=G9PU/[]MC4=Z M9='[^M67[_!=[<95^-+8_G()U[6;VW]\J7\^/&OL?V#-=P?BX/.?J3XE:C)@ MI;"A"3FC*>+6!:2CQT@8)30&E](HM[9)UJE6$B0?.@@\SB7-U&PK,(MS+8 MQ)2.V(48!272S7S>\/1 =SO,8<7\'@)F4[0QB3;2I2 1S74'N*68C3HD!68HV8)0(,A,GDP M1Q52G^"UZSV9U:\9DX3_QS0:T5JYHP)$Z2&6DXTUS 3 M!,&(>\N1%8(CKKUTQB9,-5O;E'+#Z)>W.;. 1&8\1FFV\H&SQR=509H,.CYT MSW/(Y_!-EBV Z8'ZP5/ID-92,6L#LX9Q++FFUFKXE4GXCZ*T.)#_I2QH%<#T M5& X)8")@2.G6#3(<:N (#&!C%4>!15IDH%K;7 .8.)D><6%YX<#RQ%3=?>+ M+EYVQ_?1R4KV*K7@".3Y!:8[!.UGJ4O$E 945"VF*# M9)0*4R&BNO_I: M!"J=9\?V6F:N7R:4/T #J7B)>4@?S5/Y:'DV%UY9\,?CDXNO=K_7+XZ ]VKO M<4(QV0A(BCDR NQ,:DX4<98I)NZ*W7BT)I)*@7I)?0C)<1&28=%AA1EWG$O/ M_+-I(JVL:7[6=%G?.E*,82VI1M(+FB.!%#+4$Y0PMTQ[H3TOP@0WC)Q%AZ,7 M2\1ZL4<@XX$=*Q6$::95OVIN';$0*<=)(FNBRH>S'ADL,.)1.^!^W E&BZ"- MN^4R'F9&/PE2*S-:.#/"C0]''%8[$H4"?\&*K!84D--"(Y^(CEP 4(DL5LZG M6U'!S0IMSFH/=[[\[%ZACMR8;*"MSKDM'9D19EX18TXW5#Z__]KMMPK5C%[, M.K+?XDU6_C]NZRE4[@6^N<6Z?K=]/KC[EFGB G-@_68FTD_T6*^,_'O2NTG? M/H[(]:+]@FR"%OYNVQ?VLK_VK]ON#/@RU<,UW=#P_0]]Y<*!#)B4Y3Y9U)AJC7/BPJ(ZN?>IX #8%SC? 0?V+D6<]XL@B3/2T&)I M6VGBW-+$^7#$DK'1NH@PC7DW"Q8F)[U$TE'B$HXI1O)"-7'>/Y,HSIW]LE+% M6:GB++\4S$H59Z6*LU+%>:XTZ,@==I(0*83D.B:M?9+)"2\UU<[*!53%>0EQ M(Z?M]N&[MR?-SQ^NX.^\OO^!'5P=B,:[MZ>Y;=#N[X>?_SQIO*M_'S]O;'[^ M^\L!D*[#?%YY"NW<#J>-TR_XX'.=U/?__-(X?=L^.-O!!U=OIPK?..N2=-X@ M9S %AF8(LA$86L@[0=&H&%FN2#V9,+2@0@XKU9N5ZLW\(H\?AX>KR(P7@)03 MD1G1""N53TB0$!"/7"(K.$7.*8>)<58;M;8IZ09?&HFPUY%@M5*]N8ON2:() ME4 N$^A;1J@<*/DM::< &OJ$7"1Y6HC>O10!CV:G,?3$MJ?4]!G05>]T5Q7D(C$W1 MPK'6&N>T (HC'.+8.>14HH@Z@:.T0BN9<@2[!O_]WPND>K$2Q7FE/.?!HC@_ M (X5_YD).";XCT^*J#&IL^,IEUA1)(G"B'-J\WY0 F8D=?:E$DUN$5'C]<0]K91VGE)I MAT0E,3.">9ZX(\*)J)EW/@B-B0I\ 95V5CQI=L2;$A3%816D3"FD$O49YW)= M,*P0(LP/#"XK162CJO0TGG<5"]BM=Z 2 ^05NYI%89SU"4 MX.>6M#6+0 @F<^9^$D3E?%BZ02>#6U\,CJ^4=,:5=-X/I73@=?UYVV86?=X? MICK7,YK4WMA>NUOKM\[RYQEZSKHAMFN#;@WF+H#&(%92.5UG7:N=\[O@R1DE M^NER^*@LR),E>')"=*7) U@5BE3DK,/3^EI]>ZL4X[$90$IYG)^0B%BB?;_Q MD*Y5;O^TW'YX7LZCE);H*%&DD0"618QTM $E'F"X/1?,F!RN-2^%""U94,Y9 M%:3E1GLKO ])2F&I4E'$!5*(6%G1+%;D/Z%\U[A"SLLUUWN"/V"-\]ED+V!1[\?.*[/1QOX'T;CZ M!.^R^[V^_>'BR'F:,!4$&:D*)42+M(\6D41<$#"(0H<7?"JV,I19#24HAOX$*2ZZ- M6GMMYWO^.2[%"Y8N0273 %^87S.U(G@$ QC2LZ_M[F4$9M_].J3^K0[0_CM1 M)GME7\= QAF2K$M*".IXX-P&EGP(1 3NI#!WR/GN-MX.P<4?=[[_7F[E-M.[ M_ W]SZW!2:NS4[7O_77S[L>%5TIW&ML[%_6M(ZZ=85P*%$(6@,0N(<,<12HE M!J2922K\VF8QM2>1H!C8_N^U;B?FT>VWP% !#(9ZJCO-]2D?0:>WNCWP]CJV M1/_U @QLIYO!?>QBVV[7RK\/S:Y25!T:IS_O]> 9[LM8=X:MNCFP_9@WL[J]3]5^U\V! M+O3=M64B^MI,\V;QNFCN^XLC9:-6"JP2>CT@GFO-.A\]DEF-CSC'%+-KFY-T M_!]Y-R*;4"'HBTHQX&(+H7^M-5-8Z6(;PUXQ8^K7$^856\8V_ X^6C0*\\"0 MTRI7ZN,*F4@U\M(2)XWW3HFUSIS"23O@?I2AZ2'H<#>*,[3VB:9W.#^1V$44Y>@'>M/:I?1]D8) M<&KU^H/:?\YM;Q![ZZ-25^"Y?VOU*P(UOAA=:Y2??PW%HC5"SAO5SNC-IM/+\)SLH'[4=H92]J9GW2O5/.8Z3Y*"FZ:#U@8 M\7;5NMW.*"6N&/'V>=SO?BSZ)]QA[?W5CM5T^_YTU;@X,H+K%*S)=4MEUO#& MR IP[;"-@5B/B3'@VE%VAZ@IV,^U1V8SE9^O)3G-))-&&FTD3\%I%XR+*J2@ M.32-S;SM5%C2;F=E24]C22+K=_N8J(X&)49S?22IFE+2^+&KVUNW02&W=J= .SN#L!M.._TP,D_[L CP]3)L%[KQ$&!TM<> MQPVZ]_.&;7EZ!7,)^@E5>R:QV-:JB,=ZGG'M\WP .:P[42[HZX7<<,E WI<_ M7MC^P^;>SSK9PQV\H4^]5Q[73=_0NSZV+_;N^ONY"T<_?]/M#QK=P4&$U@U[ M=34=IT]'?Y7%JAD-QD8 1IMK-RIJ@+)&CHAW%@?XG\AR^EJN:TZFSD>PF),6 M$!6@"]<%2L 4'1"/&[O.G (8Q$2)DDIX\X;USELSMN2W4RS+_<"R;G\TN!PU MJ'(G&(RJ^M/T_1\@;9F\O3JS.KX /BR(%E9QACBA%/BPS$GLFJ!$=,(JUTI( M8%9T@X]',!2$M[\LX)YWB4H8'_7VIE*:#+&9K0_A&A"Y>P9WV^\P5SHQM0:C M$^81*K4S5-YY*@(^A'!P#KL^O]UT\*XHU J/IT^<+Q@F3J )^\@,DD8%P&.< MD(G NYE.D:2 O?.9'LEUHK:QD=BLAL&I3 M+JP3+I^T&7#',($EU>1*.,K:FHF$ K^L,ZSL6[8E".+\>QV:O(/94[M\* MQ^:QL;[#ZL='+IDD,'9(R0!NGHX::1P"DI)8%RFVQAG ,;&.Q3W!4K_4"E8X M]K16TOQP)+"-L.A0Y'T^&50N(I,T0]YPCWG$)F8K 1PCTQ>[<1Q[@+E0&6@@ MWF.#$SE,(%B+(*5+5$]7%!T_')[)1L8]A^RD]M_8KRT W/S7K;/N>=Y# M?YEIDS]A([NT<7S$)/&82K 1X0GBT6M8YH1!G!+/L#**)75_CL*3A 6L1O[) M1]['X*GQ&"F@-8@;1I !!HRD5XY1ZKG)A75FBB>:2F7R5I>_&8S1',[;GA60 MF*&B?455R-18HN>J>S.3[54D!GYJIJEV^'I+XGP0L/8X3IW#$3PM<*I@[=$< M.6(]4MQ+(A.AAK'E+HE351 N"^+\D-B[RSP9BC]EUA[SZ6-%U:L'W50Y?M/M M%)F(MBP'!?\I0B?S]&G"/;9,K;A=)^3W6?9T1)%4N#P5<_2&H6;^16C8AB"/ M>^POJ)@#C:4SE_>9DFLZ'$> SK@85\Y8V6<1DE0?DL1V_2IFJTFRJ&B^@W-3TL2Q?G_V@D-(2X^F\!&" 0#SKP&06 MG2E/+WZ+G;%:7R^O=,U\Y1 6OG3-PZ40QC>8# T*O%=- ^-K??GL%G5_53__UP^P.TSXOZ5?NLN1U:AV>?+NO[._B M_GDV+E=P\+G.ZY\/P.6K7S:NWGYI;!^V&E=?KIJ?#W@#KC_TU9T K,AA+$J;9(4\X0M2E&)200?IG+RY!E%RMX*9HRRP*@J]I?#P-0 MKT(43FAE%(5I*(RP+!-9G^,_6A[_F0=)O>WV.Y^O1$>&NT#TQ;%2D6P=)?&MRU@M89H'5**0T< M65)>4.12R'J(GB#+ T&.,AV%C\GD:F%B79O)L_*%9ZI%8V#!.*)%TC2Y MR#F7CBII(Z&Y[JH!<_NE@54K#)D)0R;HF;/1>*<2(C):!$-FD#:,(L.QE90; MC8NJ8NN<3R:W+MJ,?@$<;#FV.O=B&_YXO%X[CIW8L^TJ:3F=%S:N4.I["'I0\% M)AGBFCADO1-(8F%PP"(E)M8V"5['_\NV79F> B)UJN0'P&$)]2F\10HZ@G!!%E'>(\ M)62T2,AQCH,)023CAIF:R\<$YSZ'?_%6WFO#\)\];'YI&/[31'RADTQ7 MAD\0\<25Y989)"2/I6*QA:49:1)"2M@Y0=PP2W5.FZ&+BJ@+2N/O+W>2?\^S MM-4YM^6Z.I)64LUT3C=4S@/YVNT72BV_%YGKK6_Q)OWC'[ZJQP3>W6 ?# M<#ZX^Y:)N.'YP)B9*?>'F-NI-:/_YC86T,!LD%@SH0EP4(RC$8X(0KV*,5=3 MPT>:K@UO.NG=Q$AK8V]YE^[VUO[.]NUM[N-K<:;W:V_:GO[\(?Z3F-_K_;;I\;6I^U=^/R? MTZQG 1+=[G[%&N&_/Y5BU'6V9?UZZ=W!S>T#43_[>%K?__NDOOV!U\\.^.'IV[,#^O=I_?00EMG#L_J[@XGL MR?K^!]XX_7)Y^*[^O?%YYZ*Q?7QY>'IR5O]\>'KX&9;6LSIOG!U<'.82)OL[ M)&?N!\-@]13(>BP09TPC;3%#2B3!B)58<%PR*,#F&+8R@4E$,*R-E10[[I0W M(:N+A:",90Z&9SS;LAB"VL?X];SG3[)][AGSR:7@:40B_J?L<6JM)L? M=LIFLU.KY_BG&BE38/ MV=?_[M?^Z.:"5=U4VV[UHA]T>_V:/1^<='M%5G,I MUG+=AP^4UN24RLB3HRI18$K>4.J+O!Z=XR/Z-R8;7K M8F6E]&B6,VC'+$5P TCG-U!6X==&[7HAO;[_Y]91>X.'MOT@^\41%E1AK")" M<>@;EYPDT%6)2AT2+E=5"B26K5;5IS/>,:C9=9XS$(27,BHI8]4,A(,AMGBQ<,+1*[P[*=, M]ON1$2RHX#T2AJ0L[*W!]=086:)9BD[':-/:)K]+EW@4PTJMV<<@V?/;Q0K) M[C:+TT\71Q;;Z(DGR). $7= ^C7X8VW?)\%F#FSK4[^V=FV[?@'[W)%J:A7 GM%"5?86LP8LY(JA5D$ACYS$8OI M?/SCL'TWQ/SFFA5%O\_"KG:_'_E@@;&0B%+>8>84 WG2\"NU.;E8T("#6MMD M6J^+._2N[Y1VO%WH\7^4N3+5S)D1HLZS4+%GY<5?S*]42/J]VR%K3#%Y@86NWS4HNOUSV[*=!5 M5F\95G4I?X.7\G&];&W-?K.MMG6M=FMP629I>-L_@;?ZSSDXM85*W^UW;MUV M MMV.-8"<0J0UZMNBCKS!+X3+@#.6>X3<[B.W+6B<>=P>MLII-#ZXH1R]7@Q@_ MYYUR #?C*:=8^^%!P2\XSQ)/?IZU6^BT[]OOBW>$U=@;@LJ?7P R+IN?__QR M0'?QX>F'J\/]70"9#P1 S?WZZ1.#RX:5V];$Z!R]O'LX&I7' @'9Q^/&ML M-]KU##+;G[Z#GR_J5Y^N#D^W6/WSG[EF'Z]?'!EBN=;,(TJLS@*@!ND_#6@T/%)<>6>8&)X<#0I?-$C1]AE;U>@VZ/_?N/K:8> M#OWXZVXWSSK/J=+>1N$XRP7;-,'",B!,)JA<97=QC\?V;VVAQ)1*6>^BLD!1 MPS#+]3ZL..9/QMU.S*&=8:.N)U.N]_:F' + M1OMTX4IB/G\D^OTPU$D&!M% M'(HD4,033*C.=21_TC2N=SEFU!Q>(.RK 84"4TMP M32AXUYD]S6\.*'@*?E(_M$I2E"EM[HY/8.A#$6:@5+LYNJT3UFMO@%;:K'Z\*,K73[NQ;OO MT[.^W$PI(A]^.@[:]-WR!6Q>_YBEX M@'/H;>/J0WZ?B\;6$? <:7(6FG!, %0#$W+9>V<2,QZ ,V"9"Q?3C.?- P'H:"HP3LCIM\>F3.B,YB3S ;MQFE/)N17) M)4N8$2P*'+RA9&5.O\R<=K_7CX\4<]%[G!!S"A8?1P7200<4@0QR$XVB.OL) MDTJK_R@(2C^7O.@!C^KS\ZP]T4#KJ$%#07\.OEMZQZK=6';AO<+O)7'.'DO;QGKC79APZ"GV[7 M8IIA7FY7+P$?5JE55=VV:368%G7[_=GG[.GQQ9&)/F(K!;+8@\]FL$;&8I[G M*[%4&D<94$2V+@R?OOG^:*=^BOD-J]4\ROSFD,.W,K_GW:B]/ ):H4E(P#22 M48A;6"Z<\1P%8WGPTEO-]-JF7&?LCK.?H?D580Z5W<&*L$S@O#TZ!0(%G_U&_IFC%^'W>GLZ_@O ,$^JNK%E8^/LW13E7L^N^ MG=I/^"@Q9[@,"06Z%ILAQ8/0VZJ0D$0F'D$.YL;QC=@WK .CNJO$V+]K MOU&PMQOV]7/FQA31*1"&-4Z<^ @P'I5TFCKB.;:Z0G$%2U01_(U_9&XW5G;+ MPN />W$P:)>GIBL;FFI#5\?\R*7$\F$K4HPFL"'&D<:YDA[-D2&4$T>*:M3@ M.-Z-T&!'8!ME\;KOF;K'WK=\^-PI?,(2^6M@ZH 6,H M2L:")%ES,7N-Z\3<0PALR.MX6;40H,O'WL""&85J; I[LL7H_+N@HK_Q.5K< MW!?,.RRNF0-,MF[>=&56T\VJCNM;1T(RSP*L?TSGHRE/(M*Y=KG'6 BF,+-Y M;XNH>S%L<-[+I!%][76_M?K9#$8,[96PS6KCXZG8YMR%6%;+_T],'2\:'XZ$ MEIYB\,XLCS!UA&?()*F15U0;ZHE1N,@'Y.2.?$#;:Q5+?Q'L!J:RFY43[8H ("$/M9:*;5/X%5/IVWV[5OP]&HV>%P MU.PQ<(3^8!I+&/6#1C>EKREK02+8,AKLBD4\W"IWQ)%,(FH;&++*DJPM19'Q M)B%+M9*66$FCS-NF1-\!BC &_1:L_CE>M@=]"PML$5!.]^K&.FQ<.A!<=H3)HC)K72C__H_FA+U[SD%#\XK1FSF+>+K=Q_RK]W\ MAN]C+PL)O>)S0WAN8^M(>XRYA*.$U M'E:[:46GM,J(]$&.2!_)2:D=][K]/OP.Q!NX4-$+P$IL>]#*UV7X?! W,219 MEY00U/' .:R#R8= 1. ..!F=GE!U0TF*&?57JTID>=OM?>I46S0PK]Y7LGPK M)C)]-EW52BRV*]=@.G5^C!G M;!'\.CRV*^)HRCRD=NNL-2@#J4<)]W#W[N910*E;P+S7*^)PO9U\T3UOAYJ+ MU79S;G4GC,R):RX^3;HQN_0*YWB)=SE<->@VC2H]@Q>V>QO;-=%#JT* MDAD79%:8P(@SKI$-SJ.43*0>J&U*.= >B.QU+E]>YL9SE*K4VC+/+[O)-_U= M!A>O1AY P?F M9>Z!UV>WO'%\A)/VGNF -,^I0RIXY+!3*&+J@B7$>NP+NU4_8[=#TX/Q+QSH M&[O+.%_FY=[.MH _EXO>J+Q%MTCKB3,FJ#YP*?B!).ZK43>F>"[JQGJE;KQ2 M-U[$U&_YY*G?.[:7Q2?R/D,1-;4H>=_--\,EYN^3YKN/7PY/#RX/]S^V#_8_ M\.;VGR?-[5URL/_EHI&7FZLOK'%ZS,>7F,;G'7[X#I:6TS_;C7=_GS2VCWG] M;(?7\S/WMP@L-U?-?4^;VR>%BFKCXLA%9C'3% F2=Y*,E$A[<)%T3C%)A#+' MZ7AB-P6#P)@3 #,"?M:1C>=]?R[&.0:T]0V6B.-8*]6%'I$" M_L-OWGQBZ]GS)^ "M6,S#5^J>J=&L:763.6K[6>=_E=L63F?@2<5*'&%))) MG#B*7,0>X40(U\*XZ,*XI3P[%DU?9:\-UE8&6XF?%#ZYMVU_7GK;-K/J?"#6 MK_U6N() HX!3]__Y^XR$!]ZJ*.EP0T>*84J/[Y9IC=PN517->&J;ZX^WB@^&BO?47ZF\(:FYLZ/ M\0:Y\[/['DOH!A-W?WS?8^__3+#'/?4'C55FY@8M3V&1N^L#/K 4\SS+%NF? M*.5U_29FEC\ MTYV%@A?U]:>/Y2U5SB>W_(6HMOJXBO>_8&S^L'W@TQ?CS&@HA%82I.[YH#^P MA?3;G<,W0^WJGRLON/ U4:=JO,X]#/I>!Z5Y,U#%P"Y%9;W'>C)E9;W3+6C# M%W*XW_@"UYXVMC]G+:H!]/&J?MPK,9KZQ7W]XAT*9VG69A MQSIN;,/[G.V(^MG!9?,=M/'=#FU^SB*0X/VT)JNC8II$#)(B3;-FHU,164F M7UG5?LEQ97FHVPI7GA57)@NU8\V4M@8!P&C$(_B4AEJ*I+<*1X^]P";G?(LI MVG.+-LM? $M;FBV\B6/-:O.N*(Q0_(@R)HMO>JLDH$-A>YY/OD< MONRR>=K+0P.;Z2[ 7L'TO&"Z\6:2_FEN:>"2(6(DP#2LS<@ZX5'6.#I89-C:^6#\D1F?#"8,ZDL$89 MYZDR-%+!B/Z!&S&EI@.5"?LQO.UUSW+6SWF9?=I,XS'U MRR0T^OS1T75\9'64D5.*$I44<68),DP3Y)37WGK..!-9QE>0.VH3#]R/K= K8$V0U$8C;F)#& MC"&A.8QA3#3E6K)DG>K["Z5WTZURE>ME4XO2/M@ MZ8CUG'[^M=0&:5^NU]SYH/S*3G=P(Y)7Y54/0^VS=8\>+V8A]"I-'9I1%?MT MT=OS+(9^$B_+1UHP4#2\::/V,?8'L*[DP/VR;F>>,/T;\?2'S:>88 HK3@S1 M$<9#FZ"U]5Y3JU5B/JQ =X'F4V/;BR-I-=4998EW'G%B/0(/(:&8ZV8GF&/2 MY2BLN_0?'HRXG$IB/'<2+ , EVAN)*S1#A[/J&%\A;@+92''](@1:J.C 07) M&>*!.EB6*4/>@7DX%QW!JE0)6<'M#^'V@7 :DR=!8.NXX)Y0%Y,6P3B7I,02 MNX6 T]3Z#B-X%7O=5SM/1@H7X49N=T[T2X"C%B.B<4[TH\!C)?13+I@'#,8 M[,J'[B72:"0ESN8D=LYPS'%K-E'.?63.:;<0V+DRAVGF("GWF 2-@)XFQ'D" MWX;G"CD1EEVO@]%9D;S1_;%P6>W]Q[U/5=9E_/X36'6W8/,C -7V1]N5K(H6=:B/I2(.:O# M#(/9<'7RY0!FW\$5? _=Y8?;[=/&NT\7]=,_VH>?#Z -C=/QF7=PE6?;!P8S MMP6S[[2QO75U<'KRI?FYC@_WMR[K[_YN'YY^XG7:R,)F+ NUNR"],@1Y<#X0 M-YXA%W*^M="!8R>QT78\?Y^%",@:I7)&<,&T5G EIKD$O*+",8\^4_2V'JMZU>?$0&_P^_>X&+LC<[M3_/.[&FAE P3<6M5*>]++H\ UGM MS';.$_QPW@,\RHIJO5:NR)<+>J56IDV#HK+QUS; 2%%$MA.ZG=AOV5*5J;@F M9->U>UG[$[ZA[T2GJS73R505:?LO*8+TLYF,S M9+7;^;^Y( U\2?&%-Q>4-UW[X9S7]5, M[I5*LYWNK38'>Y8!L2HZ>%/DOKHU6TJ.0OF:X\@V:EM91Z^L75A)WQ8]0>><9W63%R"CPMARSC MLZ-7<_^#.'(V",^\15;G=$K)Q9TC=TT+5UU[\:B_+BBZ3/3 R=Z^1H#\RMW\,!,\: MG5*\T4;MW>A(%^T/@(A"^5Z-0VK;V[RM@<0 MV'NHZKR,1 PG_.;6]0VD0I>KQW[OJP-.5ELUJ]IK@-SK8+B^J?Q%RN$R99N>L"5V8O MI+PO5 J-J=6!BUM5K>>BN$JMU>^?YR=,+'&E,4\Q] <:K54I"4XUT"_)2R4> MJ8)SD9$4.8L5">>ET3(L?A2G\[YJ2%[ZK@WXIEQ,LQ &S/'A>1NJDG-LVIQZRQ7[NB")>9K+UJ55'C!/S0KO(>QJ<.R M*;<*0"X\B"%MO6@!&W79D&,_2U",./=ERS)04_SOTO_HW?8_<@&$5E0V"!?,5/QA 9R-K3OTI@NF,53[G!U+8/$&UEW\$5AX MWK6X!'@"P@,S#N[/H5*Y>^#NWO7*4S("/Q1_MM]LJUUPGVN3F,H-@+0#8)7J MT.MW/!D&.A;527/+\]_!/[B"41NN[I5E#(!P54);N=I,Y<<>@_]4.#2=<'WE MR#,N3F)I#\4MA=UEUE;2NAL&-W11H#OR \!+@2E0FO5Z[:1[$:&IZV47%.4W M;FR^6^WIP/?_JWCD]6O=WS'7C;WIR:S7G6\N;JI>_OHAV<3GN&4$K%K\8-/( M_))-(_WDHH_%T>]Y'H6\#'7"QQ(5;Q:D7(("NO]\8?0@O]>WOY"_Z.'EP6.>VYYWM57B Q"R/%^.X2A34I M&"5-\IHSIL&M!O9EL;!*L:C]^.[2K;&IO3D!:WR4-N0/OW>!->B;G=HV$+P< MWSQU=ZEF_7_.LX9_KK\UW <9/36\.7O7\&#P M7UN^7WMWYOY?[;^=*6A[YJM4=U[P'OZ'%$ M[;K"1"[16IR!Y)/GZ6M^JN"KX9AUAP.?0%II3O&3'C83&?$3?G MKOE: LRP7$NK?RO\H?(TMKR''@S#PB?]^QR,/RI'?R\[^K,+P$X=@:41@15T M0^''*;+>JZO*-PCF3R "R_3CGGIO8]D&UH]MT)P:^Q2!^P\9+<'E+VOJC(JE M2Z>).3VCN)EG>NLLUO:![8[,&N;<%T^1 M!K,,_;N?HZ%_M>CP$FLL#%F!G>Y>S$T[[<=)Q O2(?_WB5YYJ?*EI]6$3#$* MGK"%?[E2CDJ3"T1*:;&3FA4U(6%!O6^[=)]G8KU\T1]MN >^XX VX;/FNT^XOM_^/;GR>$^7/?N;_"ZX'U.#T3]:BNWY7MN1_-O?:W< /^];%P=DUP7A3E+ MJ,7(.*P0IR8BES-PK,7:*^6IHV)MT\A)N=8YBR0NDD3""JU>*5JIK.M 0DP: M8VX)TTP108E-1G/+I%^AU;.B5?T66C4_'&EEC4N:HN"]0UQ%A33S''D7@J,D M2!8 K91X36#UA"[RBP# Z?S_90+@ \6Z)@'02P"ZH'7B,?"@0^8"F$C%G#,J M*:N\FBN?2;K\%[#@-[9_4AO&2K\PJ?+I;_S; ]8]JH(@SE!IK>>Y MXK00UB4CC5.)6(T?K%#YONKIM]W>K;5PM<@[MGE5", M6N8%%I$+LYJCOVZ.UF_/T>.CJ"CE(5H4 %$1E]$@J[A"43G"@V4&QUB6>7^) M4_0IB,MR3OOI'NE#IKU,*CKL9!#@@+H@3.!2P1+@: #DUW(U[7_=M+_M@C9A M:?;6PEP/"'MMP05-'CG*$B*$&.J)TX(26)KE0B_-*W_OU5RY&JPENO+E1E/ M4A1S,'C\[D]LYSC6<]RSDDH0A0MEB;'@60Z!(@S^/6+(NT"RH)$/65Y_3$=XB'M2] MTGD[=_]]-6^?;M[6;\_;XR/+TJV%)3Z=O!U.?BLM]*'[0O<6TWE5D4OS[) E7W"HMDD1 M9J2SB6,!?:6)"]I*SA-VRA1Q38]<9U9+RL.6%#;N%3:.CY+GDF.E$2^.='.5 M5TTQ0XYQ8X/QWC*YMJG9$JXI/&S!PPO\+D%2;?A$RTD2M,?E9,ONWQ-[>.-,'9C(#=(7S"[D-M'@' M]Z_YRM5@+=&5J\%:HBM7@[5$5ZX&:XFN7 W6$ETY0X'YZ6K:U3,K@LWIALJJ MBE^[I;#M[Z6PZK=X(Z:8_;Z1&RL^C6]NL0[8\_G@[ELFE,#FX[2:F40Y*1G3 M&!_Y]P$%Z?C:\*:3WK#=7^UQ1*X7[1=D$[S6[[9]82_[:_^ZK5':Z@Q;I.F& MAD8_M)\V_\?U_K4YB^;F/+MW1I'S-\UWC9W_K;UI?GS?_+BUO]MLU!:TI5F. M?:^VWX2V-O::?^UN;^WO;-?>[C:V&F]VM_ZJ[>W#'^H[C?V]VF^?&EN?MG?A M\W].LYY%JDEHGEQ>_J8PS$XN*M5?$ 5CT1A6 SW[(.JG.^* 'GQO7!U?')Y^ M;#7>'9XTW_UY:?F[4EC^^#R\#2TZV>?OC>W0X+ON#KB7BFJ.4&1YY(E !A(X^ 04P[3 M$*R%?AW7C!9%$K^HVM[H1 A;/6B'W1[N<"9;]M"1;[F<]H[]$LK MQ$[X806A817<\9,J6!6<\C1@I[F32GLI1!+)1*D49JJ:.B+7=*M^^$&5WC=% MY>R]7#A[NVK<=0G>[:KU:XM2'^C9I]?^UL41I2P%6:@\48JXM Q9%PG"T7$. MIN(<]FN;> -/1HK?5,0M2TM>#W^KGQ40"@WJ;E7C63-B;9UMW+X.OA7G0NW$O-@WL->WN\ MH^ZF6-?M?,Y%'3A'O:J(]'NMOM78>E=0D@KW]FK;NWMO/NWM99JUU=B&_VW] M=;"WNU=KOAUA,D!P@+P,K_FXL_?IK_WBDN;[G9*C[4T8Y[U4\SE[X&VW=P'8 MCO[J=K]D=?N;4E=+LNR]B;U!KLW4OZG1=69#+"7_BU(57[N]P?IHQ=IN;[2P M575]5:%R6%ZD+)R4M;)S&0#X[WI>KN#U!C#_L\A6T6OMJM=&'I8KAE3E!LZB MS77?B_(EL8#-RM;4UA#J;JK'U[9\4966&,:*UL):ENMWE.5 ;]]/=J;I5]4JJ*G%PSPM!QW3/>[7S_G69E N Z_ZPS$%9 M2*2_/BQO4/TYUS'WK:_PE(F/AH7")C[XVAWD1MGV^ MW3:5^> M2]+!8C]Q>1OL;/R/N8[6^-_.[.7XGV#1FKRN*&>6MO^;1Z[? W&VOZKBB M" WT8V^TEZ%K[?5U_5PPHEA7^W'THERXI:R;DXOBP* 415LZ-[77RH>70U*6 MJ,L& !8,/=7/?\Q%Y>.W\F%PI6_U_/E9KOSC;\I9P-OG*C'Y/[FV6U$=IOPV MF(R];KNXLWQL><-@K/99:O7.;@J@]6O'\*V=X>O<;6G7Y33*6AJC+]Z+QW!/ MOOR:$N1& !)]B8-K48%7+YY]JZUEW>EBH+O7!02K3\IZ(_]_>]_: MG#B2K/U7%!W=[]H3,H/$O7O/1'AL]ZS/]M@>VSV[^^D- 871:2$Q$K+-^?4G M+Z4;"! V&&'J2S<&J2Y93V9E9F5E)K7?0-: )/7 _ -=T3D1LS@&2K=6N7W M8,FE=$E: $*'484^HFXX'CM34+E !L(>#BWW@9>H<"(6:R+)EE!.ELW61O:S M3N50+!_6 _OJ0\N.1W6T,P50 E">TVLQ6R#%%4]QJ]Y@(#"N@)^/OEW4,IAH M]@16BLJG]&T<'WR+E9;YD@G\X=A_A3;\--5C]9/;#E#G1\D?POB!7W"@7*P) M#'9\X,'WGK!.$@D$YAG)04 2ZQEPS#418G;" BXIQL5GX&G0A'A,G@-\]A8(5@41%#1DCP%E]&ZF%G0C<(YUH1QJB M:BSE'LKTNQ!6:%$_DI,^:T?&,4$:@&(3-P!2?X@IP\.F6038$&Z.J]"NX_!2 M7TA\$*KBFNU?M"/S>+/,E<\JT%'M&+L'=30J\Q-#''DM3 ;%W#ZP; >'C;.@ MLKK1TX&L*B41P8N!@$Z8T0X"8-Q@(,U:D))89Q'[(4: P=2/985'JVL[6'H( MNO&ZN")4>DL.SZ*21/P]]("Z15PZ&R169M1()="\ \\EHPJ(U:.>&L>STQ$ M&1+Q@!:NT1ESV03O:=DL<[ "6 ]V#J DPLH#8EK!9%;D0 _-G+G(=H$2LN0K MH17'"U]-?+L;"NG<:XE+L5) K AJ'LG?P&#X&,IA+5E M$P0L'8NAD53EY0NPYF92=@VT]#\OST^,#EBGH V-[)X.GS"H)(0=UZ'U. /% MS=(EUT1UU61]31XCB8.(RJXL.?H(U$0YGU8Q'Q">+@DU]-WU01K@B#O'<7%. M>),0 0L!*'#H46@L%EF@=X&$PVTJ7ID8X([W ,2V>P$KI>BGTH0#H_(]E[[% M)0[A'8\V?-OMA[@V!!NC>@Q?<)987*F -GF,] M!5S_]"%TY$;&UC32S,,JLA;B% A#FH3\&[0[8ILO6XEIHG8^XY9A]PK8/=J; M!E91ET>&F8-Y29>(Y8%L8H+",%4J$5&'*JV#2XS[!#X'8GZ*2U7+:1-V)I*C M+,;8//H!>BY6(X-E]*8BWK2A74NJ=Z$+^RF6(/3!8J+<&"#_8/FQ%RG6XD%A M+!;(K\ #J0>\WB/;(-)&$\E%Y87GF)PV_+1J0)B;EV<\S428D?!,2QGDEW1? M&*]H]UA/2/-PJF QO)(H/NFM:TK%CVDDS;1E$*L MA\:!P#PBR*&X5 ^RQ"3I;KTA6"_X5[P71AL][>ES52>Y;9!NL4&4D;=RN9(Z ME-, ]&1ZIY-^!\PXKM+BG M@_" 25!Q6P):4J 252)0+FB=;;D$N&U)*@\<#"NU,C.()2F][%-Y^UP="WL& MD33;QD!F=&'<@:S)I'9)X"=-5]">021)B8AQKC1G;!OX,G0'UB/ 'J?[X'A= MU#Q!MGHC/N+A:6: E.E2R\K8<&U@..0 MM5#UR(I/PZ[(.^TH;"'RX-%&&R\/F(/X MY?KY6'Y@<@,"@FY]YQFA. M[V;"?;1A7T6P( 7I+4E)WN5E(6_0K_H1D7 2($78#B&-30,; 7Y#(<@^@2,3 MA(?D/S0?N,:Z2X+IA'?U2(#@]$ *XKP?K$CQ9%L)$)=RIZ<,*/;*(X<\>-B. MPX^2S2&M>O)G48E*0)1X'EKHO7MD??X)".6"A4*UR7WI-P)B^ *M$JZ,"0R% MF@N6H;4#T%$"*9(161KJ;IZ?+8QY _J6=JF=:)<@K]B59<2>L*3 [JGKXB9W M2XX[A-%74%8THWKR3]*-V7K 8QMM"@:JK'*;4WP79A6.N;YF=RH[CWK7HH[M M0/LCA)]HGYGO\@^F8^05!&LM @B3!$F)"'4L6.(0]*R4C16"1J_A6\2UJ_T> M()6M'] Y#"0Y"\'QDX,R.Q"DN&/9HX Z\$ (/,05>H/X0!-:\F'G6>[?XU5U M:$? 2M ]*4Y)9B9N/*IX'[KI+Z0C"978M!])HR."9/0T_1DO%LVH=![F?%7Q MXAE49.*,ZT=4,,13D8&7H$+NF??@BF? #"MT"(\CZ:2<.>0UC2_'I C$CD%O M!$8%2CHNIAOK?9'W G9^GY0/,$PBK(ZPQ';/Y[TF9<%%,_=*-M2"ILY+!+5UQK'0 MKTCOC: ]= IH\U&;;LO2 3W@!&A=]IH\>QEA N$/JW8[:..KW])92&9.[[>S4ET.;&) MNS+Z=F@+EF*#O%YI\:IG)%Y\%E/1_K1]="$ + 49O6E7*_EJHD9P5X@)9:TR(ZP2+R"0$+9^3 CU;Z C C1'86'(NCZZTG]>FBAGJEU?0],<3S1 M8O=!Y.:*I&\^KZ4MD,3+I:_VBHU$G^Z022\R"CDP3,"X"U%73;V5"..!Y_'A M2Q?)!=A+F13!ODBSVY18EKYWV*C_8K47:2NCF)LP/&8&D#\22]K&AU MD=(CTAOBD6VSCR?M($ALWN4NB"B[+%H4%"DK%>TW>IPAQV08XRQ3H2/*V,&36ANV[U>O37I1Y%$ B45O, C$!,'!XV&MV*/CJ6"R-SQ_S0X; MZ72DX\N"[&^8AMYH=?+8WXU]+OA:O1C[QZ\@&A)^301!RHDX!/V?]$RV8\=L MC@,C?+@ =J03[3/)FQ\D4D"EA96+'1<6.P\P2%/EW/U8K1H-B;?LVJNY]=O?I*ZA% M/9OUO.9J[76;,_?%47.;A-A&HE<<9Y")A50"WVM!%%R38D:0\L*T- MTSGA3Y)=[(!\]D^HP5,0'2VS%.I6=(H6!R>A@4M^8;!.3^*!@(9NTS%'VM/! M@96IPZRA<,9!['QA30M4.AE,JZ6. ).1DW!/F"IJBLR+1\L)44[2R6@JD@O& MD0>Y!3;MS">M AQ?4%>XP;>C)!^%V,)^QWP1%^AZT>_J(09^4.].#3TYMC=H'Q.4/U T;A/2=G^'&G^[%K<^]]O&Q!8/U,7(A/ MQ1;BJGE(EQ+>JBS3S+9FX7YL&[K9KO%ST#18O/I*G?=,JG4%#J@999%CD34, MTIQ8)L?RE29M OHN?@91[>Q:N87D\YMB,]RFQ^6LD!I44.6BAD M_P--Y=9*88CD1^,#8*03GC2R**8SQ[3%FW5]/Y$XD5H=_IPX+:)'MNRSJ&AW MF_ K:(/0IX/SF!P)LM+3C]7+=&1$-)4<)US:8S?C?Z.(I*R/+N7VJVBGL:'H M3/5BNG\4R1NI^V01\E%^UK^$B:U@J3C(6IXCD1WHXU%J("$FBF M0P.CON6;%.?)@33>DA%*!XD\\I(!V\!NI.9$@2?[S6 #SP%($A3)/L)H(EPW M()^,'+4>'C#&/RON$KT*8/\@O ??&@\Q@AO )^]!T!D[@4W"_V\H!T&IX.C? M/D:>V-#C$2V:%\),^L%QC!GR09Z,8!+#6$7C>(),>G1")G]3X^@"U@"(%V!N M(!$HI#UQNT6V?:3_,3_X&'KEI?7U('%BL<# V(0<'UY&R"P&P^$<%M5+?EBT M)C]*OH@6@[+E]1!9XT!\CCY\B5*3V"Y1A%[ZDNT0>YA)ED<=\L]R8IU6I=FD MNT*_323^8]_JS7#98PZRT37,+@VW4 M#WRP'1CKRUK=R5AKQ<:S(B73&EF 5S[:F7LT)R,OB]429**]3[;)0+O _7%A MO<3MD&MSC[[A&L\_6N8U7EH/YG73S^:&79X ML2TD:K?=J!?YNE_E#Z-PYOY MI[R9[V2;*)Q!^6WI.*NM+RA%'[I6V$R2!O8F4L1-NNZO6Z6;9Z?PI@[P9@AMG4FXVV0IA" MV)9F=%1OZJ;1G--#]@A<&](D=J!D+UB26O/XTSH:=KEKL"Y,1) _^YO%?OX7 M*5NJV&M2M5Y]61F;5[+Y+J?\2<'EY7!I*+AL%"[[WL;[ MM=PO0LRJHNSV0U)Z&QV]K>QV!;"MS:AIZJV. I@"V-9L1%/O-*K*:B^1U=Y0 M1KLRVC=*U9HRVA5XF,]YJAK'=EO6^4JL:Z>X@R MQPX:+BT%EU)8S65IX_U:[]>41^$TL)7I?E"*K]G2FTT5S*P MC73O:XW&H8" MF +8UDSWIMYNUY3I7B;3O:U,=V6Z;]86JRM;3,%%>7J4Z:Y,]YG,-Z_>85ZI M^Q;+^_"NM.*"4RZCOBP3R[[,(BNJZGGB%5X77'1F_ MG)![;7_$7D!UG39*F@ZJ\&V.3IX/XV=*:/K+_N4X3J5\SR25MM)9B\?"I[KK M6$*(\D-C'6]*C!Q\7ES^<>74Y7J?H#3Z7,NOPL)?V6X? /#YQ&@3[-Z./%1A MMAGO+V_5<98T1KW2P'G?IAL2 N-D)9X#GA/F7NC9)Z M=Z=:K?DII^Y=7N&KG#)WR8#D4.9KWKTB%;C"RF:QPG>I7X22QJ<=58K87 6( M%51!U \<3*,?I4I?4##C&IC!PW(P244568,ZMZ*,'M,[R*^O0,*5ZB-DRODE MQ$F]384\,[5%J8BUZ^%6-$T5*U!<5QJNRUR&>)F(-CYMGPT6#1/Z-QNK2R>N MS16R, >5$5A8:C&O=,>"G2>O?(?:A,K'#IZLTH)%+VR6:AAJ]#+&:&^0,3*0 MKYF?7HYI1FR\!W+!%BQA<\)4D+"?5\#G2DJ/H 4L,Y:N*[,0RJ4MU\45?W\G MOMJ+VF.%RL!D2@7/LRL4*80ECQ3)<=O=UJO8M+4,LN)A0%6FG6Q>R\]9J\W>34%2]UQ6N3 M5&VM>TU8W=DY:+BHW*KEN%I5EC;V.T W[8#(.ZV-0\?@MY;Q*3YNSHV@D[$3 MH@^;D]8RES]MSL2"0O^9P'KT.)XCFLS(?DX.JT,W>0#:%D5".@+-B^,IFGC^E"83S]#B.6(X Q)B[(N1'8ZP(9N(V?6]'QBL M$1%T'/HPG("6"(GNN="JC/+ <_F 6GUPO"[H"$$X'L-0X 7XG2)*?/@T61+? M(2%2-RLM"DSR ILB+7SA6!CS)\^_63RD7Y0XKR:O6-T EF.R^)4Y/^MV/*KY M\#<;61JD_QWZB6?S09QT87E_G%@#&.%GRWFRIL&'G[.L#EP]0[C9.?/,?OE[ MUX=7/#DWP4CC<> M =38;!(NF","FDV9>BH&'^*P4P!;#5X5YZ MO;W_*=7?93S.;F+P5$B."LDI"7>L256CHV(L%%R*PZ6FX%**4)BRM/%^?1AW MPH$O'W3M0;C"MQQV7UC]D>W:&-9!.?24!^,0]?]V3:_6U&T/!;"M :RJMVL- M!3 %L*UY,,SJ_KM@WZ4'8UT-6WDPE ?CD$W2NKI4I.!2G':F MKP>#ZT;-1]:K$E*JQ,D*-Z]IZ(W6NI)RG^J<*+R^*[Q2B6"%5X77_/'^BN>()6O% @"PN-<#J6S#@3 M%7Z#QQ_M/B?P$:.QXTV%H&XQHPUVB6DQ+-<-0;' 4I 3?*,G DP_$6A/PG'P M_TPAN6#B]7[($XNT0Z'D/+B&BHGTM M5)U*&X0^UF93%I&K5 FK5BJ /WC M,:U(Z94 +BU7LJA;5C.3 9 ,=T4O'A$::RLBAG%DLZ!X0BB,^A/>;<.BBQ MQ#-6PL1D.?P0RT!X6\H[:-'U'CEZ,BTU/60Q>"\KWE+OI?>*2.SB4E&1S:3( M6D6[=&,9K4-#E(;+QBF00.W:CCV94B(P,,,=08Q)>87LD>!9^C\$-YT:'PVE M"XV!($:5$/_$]J*5 Q7E"8O*1?)^8M,,H]Q<2*^5,TSC!78KJVW&1NJA% MJJS*U,-,9DS4WK3G+*L65W8-)PZJ_2T=5'N:#:K=,_VF4*#PT=UOQ&FGB[0; MX-Q8NZD5T&ZB]O*:DSL:;Q>16B,!2V4EJU\N@%<>$%%GDG'H>^.+S.N7Z# Z MMBM+,28B++/1(JM$' ><$:M*.NY!6!XXM8D!9;B'OAAQ>CS>J_\*;=(+27@Y M5NCVACAF5N&BL< 9<'B ,?6BBS/) -(:HAT(L#,.%,8%;_ MT2)V#K#?$?2/J<$>[0"9?T^ _-V=P=_#!@G>N5KU-E1F$+]9)/*(YSB&"H/B=9/92SC6M@ M2[C+O13@Y#WQ!@SSGOAVCR>8(C)V=7;]Y^7YB=&!2;C %':/<<;C L[J8BXZ MV,VERKY_.*E) MFRHUZ>M2DUYY[DD2:'3I A."SB,5N>/]$5FKTI2ZF7G:@K,YJI]*,J_6BYUEBE'UU%&Y5^].!FKM*/JO2C*OUHSHK.N6(> M\-3JR/&"H,@2JWON[^:>>ZVC\D J=&VM^&>]7M_GBJP*665%5KNF\HN6\JK' MD=%6!7_7BZXNH<"XI( :"H)B'_XV@JI?'7=?$F(5EZYY$RLCS&MZH[UN^K;- MW!Q0^#H$?!EZO;GN_JWPI?!5/'N;L:.\S>J.VBK6KZ_K<"CAE;1MZHA[XT2\ MIC"MV1 /Y3X\)#.\M9MDC IZU^/*AZWTZ#\V& MJ9R'^^X\Y+2*RR.!=^%//*048.M-N8S<4G]!C<*U9EUR[Y%"ZSZAM=-J*JPJ MK.X%5FMZM?5"[_M>H'4=O^D[2*Y8,]8MA+/MQ=RI2EV>Y%8K[]*=8;82=TK7 M9'V\[3;(B\ND"_,?:YTZIC]8E:L%[[_-M8)QG7SO_F.]OKH9,^>N+@\$6Y>- MR0PMR4WA.!^#+QXM)TRR @1B,G$$Q1) ^U9 -P:I)9N3C=A\?7E"R09F+O"F M+NYZY&^.[SD/0K7DDC8,(P@[ 9VWX89E"II MR%+DS,5F+,<$7YK&'!ITJL\Y-'PQA@7$:]]@FUE)"@'"")V>,4I69A!+I?J9 M22#&%\=E!H"I+9P^+*&;7I^_P?.>/QF W/&PS;[H@A02L)J$"3U*C&-I#N;; MP=0Y$\J,)ANU$T)T+<=R>_NSAKG<[Z4/5' A6K75+)])><0M1+?OB=_;!=A] M+XBV[':UO$]];SU'N7'V8DJ%;E2+P4#T*#V#1,8$9DD9$Q X(!H=FV6MNENM M[E87'>Q>75?>J\&JN]7J;O46KEFJN]6[OC^L[E:KN]7J;K6Z6UV4CNIN=0GN M5H_L?M\1;WQUAJRTKD W7-IF$S.6J0HU.H!0([.IFVO[Y\L7;:0 5E: M5MZ MJ[K_=_@WM ?L0#U: +2CIJ'7 +K.JUUJ[J?FVE0B>UXG\TFQP'X^,CMYJ&5L)>WYOQ#KJM%ZK M#>S-'[6U4;W].5$7,GIL^N(MP4$I8@83=W4=\+%/:]C4+!G_*@K0WT M+E\@D P(PT)31NM+D(K\B4-^,,;._(2!6V,?HUR>HWUC66&\; 4_L_9IV=,R MJJ\OD@)^.>-(XOPX#A1C5Z-80:[51@%]=@"M3/@]>R)&0;I8EI7IA)H60+VH M*NC\SU%<&Y?3PE7"V#\J#-,#YL04IGTQ$#Y-%)[G4%,]MZA..N9QIOE4^:%% M]4(KVJJ0IM("[>(YHG]VK8 ^N>LU*0Y,HYF'3%RMN&S4@L*-L-SE#$2<.[0C M&GZS_PKM/A:PPI&?66.;2I**P O]WMZ4Y4O'H YA^88VP-W'+0XXA8IJ4>0= ML '7[9M$U1JQ!I45#+6!XSTQV\M[GIX;1#'7V. @I#!#C+-.+H*FZF@B\3AB ME9KSL<:=+YBGN9QFED<*5W13N<*@HH897$SAR%A9NBJ6^Y&I-*]H_O"E;E&@/<')#:3^7$GL[., MIC$(H4TQ.PN=9*%XMD9C1^A<896:I;**W3! N-%%#5^;B-[0!?9_H$!XF+N- MP?4BWL53@TC/5)8N"Y;$W!Y.T;+6/A]NP9YA&I5I]4=QS"]Y\883RBKCG M5FL;H<3U3G,;X;FUQ9V^:K =%9^[Q?A<%?.J8EXW&/.JXA\W%?_X?N,#KU#- M1=,E+M; M;W#7"MG.EOH&9+N*S]G3^)RCAMYJKY'5M'RA.0I;9<56LZ.;M1=F(=N)6-^; M*)T58GU@NY;;4RK[X6I41[6.7C-5J;L2+,4[!)=1:^N&L1MT[6E*M3A48?YD M>54V)3>P SQ>AF_R?#&4.ROT>T-+IE3K>:.1YW*H"!T(PP:!B7*L*?6GPQ X M/H#B2_HVG@QB4$JZC=01'A\AX\ELU$(JLB8(PNAX.]VM1JF0Y.>Q R2L:&?1 M"7V0.:+/GL#'J<'8YY!)%36?-R@W;5 ZM.@C6Y;K-".]J'B\; =)Q,],+C'? M?A0N;KHP'Y@H4D=&EW!\ $XKIE(Z;,@7\&(HM*FP_!,\\CW!3Y(Z7CAQK.DR M^BR+JM(L)_"R>($QX5DTQD>D@H62A:0D=S !H<$@7'B'XIQZ/3_D (=RQL#D M,]M9#JJ+)J)KZ(TJHP0)D) P67$".&:G8\HD!]Q I>B@7 NF <8HI0.VLE$0 M 72'./)Z\+BNC2PW',#JACZ%/T&;&@J&,<57I!K!TWAXJ1_V**R!/W%P"Z4M M1'!1I($]0H50RI54 YXK9E(1_@W9?&#W&%-WF#EA:-FZ=C8$W7%U-%E)UOP^ M,R$9Y#""66/3.:*68_T$+:6/A(>GO"X,GV.%TB3#-78GGC^-!2-).'N2A ,1 MW8/5X2_:T.JO:H]2X[7T>KO)^1#C5&#HS M':'--3.9Y3Q=J\ L>Y(^;A-=*/RS&3IN*]=[7<+AAQI(K.1=+]Z MED^;^SF(M1Y(%!!&X60(0@*CV#C?;2QB4 (TJA0P1QP_MPFDM;:8]XMK6UDY MEW3B,BA^ M*$5REB)AIRBU95^0/@(3PO3#VB.F]N6 2MSZX9U4"#H(=*#X0YQ9F&,Z9V/8 MG9 D &F)8C1VO*D0\QJMW&B:'! M=LP9.M%8X&S(+H[_$822@^&*#Q[N%C@0'YZP6/\ID>!>4SJ=1V;9C=3%RS.3 MM4W:'#8 D\,((J2EF5.32( 2I(KE3DR&^_&9?2/U>/%J8^+D YR:= M1U'"ZP6P[XTR_B_,,>78 @/3AW(MDLF+9YM/&I=$R2/%O =!)"1==5E4OUS] M($0SQA8L4BC8.1/?KR>'G#(9?8YS/+8372"A-GD2#DR"8_0J6DKKFE7K,=)< M&Y!9VJ5VHEV!::%QPFJ2:K"7?O5@G8SJR1\<=6^Q M#<(Z^SB25B"4^!H#>M8$^6*\D)/BCS.425U;0TBR?08O] $:)%VMOC>.*QYD M'HE4B4C:$CM83@(Z?(.M@R#E=)0&98H!\B23W?^O#W;-ZC>K[5JC;32[0#'1 M:72-AF'V6D(81JU7_?]&M?IAY:HN!^;2=]X&KY?W%[_SZ6;ML_;']].K^\O[ MT_O+/R^TTZMS_.);]/?YY=W9M^N[[[<7=]KIK]??[[7?3V__>7&OW5[>_7.W M4UNXS<->.[0>!5^\)[8M)*?9LV6*\)*I3Y6F>!$TA&!*EV,( M,DG1!.G1/=9^Y.G'QB(#.^758\D6':32F]&N#RJI1&82Y%7BNU86? M'/L'>FDFWOSSLT9PX9$KE> 7L[,9E:"Y8Y7@+7?HF]/;>^WR\K-V??^/BUOM M\NKK]>WOH(5?7[W<6.F\*V/%J&C?+GX[_<8JR\7YY=5O^Z*S_&G!AAL&6L^! MS2,ZA'U VQ6W'X':0R!]:RB!0*5 7R$>.DACQ04CG&1/Z//I2'QV;Y'+7CKJ M?3K^ %'F\@;>%4/+&9 Q#!LTE1Z<9"WA?PUM1] IIN7B&>08\S+T^"$OG$05 MU/B"/ A)X+B CEH+H8!G;S'H\;#% _KU'5#RFB#R@'"._*F_3,5XA/TX!$,IY(Z36%7 M0U%T-]X5NLV*]OWJ]N*WR[O[B]N+<^WN]-O%G7;]5;OXX_OE_7^TNXNS[[>7 M]Y<7;.!^O[O '^6F4907WOQP:DGQ0ML=H/C/=:PGAYIDQ27&#P!2'A'GG7;V MBQZ89U3KHD$5;YYUH].I-)K&2Y)NU%J5ME';?,8)H])I%LLXL6YZC/J!#[8) M@WWI@-Y\L+5*HUTL2\KF,QZ4.%G!/0;4T%9S%>).1Q]!3MV1Q**_;J*(G'=4 M$:P8<4YA!&#D,A4P$H9E\(UE]^D[##P@0AT<90@V3 W_V!D27//!HEOP" M%3< V$W8=>R>,Z4O03FC@TDFZPU&\(!M(>DNXZ>."J4:?U]D/AV#SOMLHY%& MQ.!2[]J?F/$MRZFDG--7OUM3[3]BHOTJ9K@7__HN(]_$&H0N* \+WI\"Q>1- MKQK]MP5ZOS_5#.F3/-&B;\S.BE1 YNI\--69E#2ESB9MF!0:OOPZ;=&9;O9N MWZHK?*^B?]FO\16>7!E!U3 JJXK!E0M2BKW+LQ:*O2'FE6[DHE(MB@Y91M5)?D5NZ7)!2[%V>M5#L77;V+JI+O(T' M0-G#"6+A=273FDJ@LN,$*D6#8=OO*A@6$Y]=?#W]_NW^3OM^5'%>>*UZ^K*;QKI:U7M%^O[RZT.Y.OU[<_R=]#W]_ MEG.B6>.Q QL;;%VO6-CZNUK81J7(!:\"2VI62L*@LN^#N=Q8JV[D6?5Z%SS9K&@7__['Y:^7]X6DZXXN.+2J MK9=<<.A4FM67W6]8%2Z_^5L3[5:EWBP6A;^)&ADMXIW"KHV-.6G;!:)P>31] MT?/X!MMG,CGP*:P\/[2[]D23L?-;*)#QZC8V49EJ5\M3U$-@5(QMU)QZ*;D* M'S-L[6)['IV6X?CO5NX>)!C>7W8T+&WHB\%_?;#J)IZ)GQC5OY[EB&J&41E. M1A]^.4.R1J7JZ5J!CU>VQY:3DQ=EWO#%7#7U(^OX9TI5@Y]BA\+*A#4__?UG M:W9'WW=Y6)SAS+((.\5P;\-PYDJ&FT\V5%*&V\,=SE0[W($QG/G:'J;:] Z-!U^[Z96;!U<+]E(PGE$U*G=G_]C+_>_MJ'1)?BWMW[_>?M/N MK6?/]493V"$FPJ7<.7>]H1A9VKG7"_&<\:=U;OB^1!R5!CEGI]_V4FJ7!CEG MEM,+'19]WVSW1Q=/WS>$HSV20-].?U42Z#4X^F9UA;-Q!.V1)+JYO5"2Z#4( MNO%%@+D8#UT4G5]\5:+H-4 ZQPS=]E9@M#?RJ*YDT5(*G5%6Z1OK06B7&-A@ M<>;S:(8 M:,CH/ZV5B&=O9=I/2IHMORYJ8XEA3.J.R#H(^?33RS!Q..+I:^B[=C!*HNPHGA9(G:2RX"S(=^;H9HY@NB!-]/>%ZC8E8W MGW>V!B_67A;9M[392K7:V$*KK5I[XZTVS$K=-#>9>K>D>S+8!N)S ;VEY-/ M!*+U%7E(7CR935X@G(W>S)]._J7!>";-?5F6L^O?KB[^K9U=W]Y-\;,?3K]!W(TI^#G[5;KPN#T/Z[HOW+ M=APQF;PDN[("\:LGOI"R)!"3<4H 9(VYI??P_ 50(I@%H2S5!=U163Q%EPOH/M M' #ZXQ^ODP@]$R$I9^>]PW?]'B+,YP%EH_/>UZ=K[[3WCP^__/+'_WC>OSX^ MW*)+[B<3PF)T(0B.28!>:#Q&WP(BOZ-0\ GZQL5W^HP][X,FNN#3F:"C<8R. M^D?'BU_%V6G_J!^28>#Y)T?$.SE^?^P-0WSJG9P<]@/_$)/#_ONWH[,P^/6D M/_1/O*/^"13[G9QZ0W**/>('IS[NGX2_G;[73%_EF?3'9((15(S)LU=YWAO' M\?3LX.#EY>7=R_$[+D8'1_W^X<&_/M\^ZJ*]K&Q$V?>YTJ]#$>7ECP_4YR&6 M)"_NC]CK7'&?CQAYA7\F!ZJR_9/^45Y6<:)+>%,F8\S\@G<0"R^>38D\K">" M[P?JNQ+4]_J'WM%A#^$X%G28Q.2:B\DE"7$2Q>>]A/V5X(B&E 2 ;404>G,% M*I]C+$8D_H(G1$ZQ3ZRU^_ +0LKD=#+E(D;,( RQ'&J%I8@U60^E\-QR'\?: MYU1)"45UW8SR!R2*I7KRU-.[5QGT#MRE)M(;83QM);E*DTK/WK31H.)KA^_? MOS]X5%U=_U,C$C/%8TZLWV;OIE+*0IR_@E7*AL]R/'DB8=\=&5U_36/4_ M9UCX@D>6EGTP%7Q*1$R)K X3FL%8D/"\IP8++^\W_XSP\!UHDADP! 1%+;['+%IX*TK3B02!BR--#_\?7W<=2V_D#B)]%_ M1_4#$K:M/I!01E>HO:)^@N^(!N>]"PYSW'L\ NW4^Z\/-TUS&RVT+)[SS+F6 MZGSHZ_\.D5=.BCVD*9$B_>-@D6"!52))<,<^Z+\7G3PCSHHL(5SP#F>Z>;/6 MDF4O MDYB"YAL'=9Z[%>&3]1!&;^;D_;VCB'_$D5J=/8X)B5?H7.?)K9C]N@RSC!=* MF>WQB.6:[6T)+RM2O[DCM6])9N^&Y?@ZXB]K3E=*-E:\?F_1&P)7I-EV'2D> M/H[!=<<\"HB05W\E-)ZM@5@M.RMRIT[(*>"JW/^&4OY["$V;;VJ:8N=M!??] M6N!VN&=]3"83+&8 1TQ&D+U63SP=>B2LM$]V-"GQ+%[=>1E _.PKU;H5/H1 MEXD@"MF4L8:O9(U*WBAGWB'DOI"7>\$96,!/QQPWD$PR*QZ'BW@ #S3/I$-V MO\94_!-'"?E,L+)'"]O7DUKM?[1H?\4':4:HRJE#(*BYE?I?]=_/.%*UQRRX M8<]$QBT L;.Q@G.\"([B]S:=_%78OD7 &%4X=P@L56L8Y87S0%(EL )PL@A MA;I#1KZ%CL#5OEE9JVE_731M2M@AJW[B/'BAD>/LMBAMM>QOBY;-23MDVQO0 MG(WH,"(#*9VC8@:5U=:_FQU$S@*E/#ID]&]8")@[S^Z&$1VU2?74$5I-?[IH M^IP+JK#ID/4O^&1"]?@/LP%8HZJU"V'N*ZPE]%8LWAL3E8*9GIO,L>L0)I=$ MP"0MUND1&8NDQ?2QGM2&Q)&QOBWYH JC#F'P0&#*EI 'HBRLF;H!4$-GM;ZQ MFLV8H J7#IG^,>;^]X\PK0M4]HXPJ?6Y>E5_.B:4E[.P F(L;S4_3S-$58XH M8]DU=![(-!'^&.QQ+_A(X$D+6$Q:*Q[&BE8S0B4GE+'J$ YI+OL)O[HO84L" MJ\5KEK Z=:[).V3E;T0=/"#!X)D(/"(Z5.\Z/:TEM5K>6.'F?+R,49HOZ!(( MMUQ*=3#DF@K'_G^.PFIR8^FKR-.C*(I!ARS]0-1QL:!N2)"A-RG'+B%C37&U M0UU-): 3!6VT8FKHM(U&36VH#13&[% MPUB*UZ7GN@A);6*G#2C+&%AA,=;I]?FA+@)C)GS:H-)(;87$6,'7)(VZB,?2 MU$\;:%P865$RE^V63%(7(:N-E+<:<)8PL$%T8BS5&P+N742F+JK;KGMKI+?B M4I,5KXD-=Q&5VLA4.EO%++BE>$@CJBY4R+X'."Y(.,,P0"1"V1!Z(2HO28QI MM$Y,;%W)5D]PW6T.7[(YNXK15+3)2P4(QU5BZ'8Q*I1"6BOT)M.K2QYEC:*U M\A)G;E;D5]W*O@>QSNQJOL%9><#T!R*^DFBK>QCA$U?WT%L-,X7R@[%[MUK1 MK8I4U^ 9;*-&XY"+1RBY-6]J(]'J1$8(R-V)*CFX0A,/5/&4+GO'L<'X27 I MOS)!<$3_30*UZX*H(L6408(M?YA3;4H;J\,9,2YWA],ZHE))E&JI2Y;S&HE MN[U'KN"15V%(?!75^HS5,B.>7>*8R!_8LZVA@-7OC"">N]\5:J%<+Z05V_=\ MMORHNAXX2"+"P\K+5C[CRLR*OQ$QK.9283#+F"M,Y[*L'00PS7I^4;D'Y?6M M\&J@M<)CA JSU*N'"EX=QN(Z@7Z'? :VDV2B7]WCF>IA*GFAKRP@(KN1CXU2 MNA6@6U>4#>E?C8AC@70J&F6RT_I.-LS:/3"M8%K*P8J0$6ILVD:SQR:UQ%T2J]\043\E=,W%"Q:Z:0CL9UN7 MUL?.58(56R.JUX"MARHB4283%4*1EKKW@-Q>9!!XNN\VR,1S]1ON5#;@!RK)[A<"+3,$W+9>MF7 M2]][A68Z" +]+XYN6,C%1"NXI@CZ((OZB M?J,"3'0A"-BL]>B^.GLKUD:@K1[KZJ2^D*AW=:0RTQM*]M"G[2PD JR2?1FH M?0IJX\1ZB%NX6H$V@G'U0.=BBL^YH$Z"N_3(32M G3A9033B=?;3.WO4YFU= MWH.B2MU-]7"Y2A-=6XH5;2."9T5[_A86?2==*GO?C!NA6CBK-9 RF6B;R:] M0-F5C.E$;VHH-U[.X2H_J;P3"3;G/1M7R>IJ1GC/P=6,8VD5/9%25,7Y2E7G M]H,NN*=$F<)[]S1ZDJ4?BVF@/HM&??V;04#P%91K-\?=Y9ZGHL7>GKOU3/H1WXU^;U5JHU1OI!7OKM,:MSRW]ZY&%E8W,.*G3?=%=Q*? MRD70+?=M&G16)&IV");W2'?2^K5W55R4FO&PMD0KI-:48475W"[8<&6&.F-4 M2%7]9./=&GM/V!3.SB@:(5B- MLKFO\ #SM78XK<[>BJ812*R_N<8KHX24+93)1'82^,7;S-O-'!N(K:"9(;G% M&]'_V\'XX^!5GN'IE+*0JS?I,V,\U5V_@C/)YSUH7\#Y=2@B>C;5JS15^?,>96H_+A25 'D,4A3+3X(G MT_->6IK&9-)#L2X=Q,)3?\E#Q<0'&3?P57'J'33:Z%%M^,4BJ-D5\IE,AD14 M39#JF5K @=!>P2 1&L+V-0SX!%/F4,%B<7#UBB>4:7'_2[!(3TI67M[%8WAF MH(2^2[\!^%79;=P6Z1L5D&(C%YQ)!"UK](DPF$%% Q8, M"4JCKJ4_W+L78C MW@F\;XF4A,R?@$W;XA-_@ J\/!$QN0OS?>V-0+?FLR6$!8PP5Y=/QDI%O"44;D--O0QRIE I\($/J6M'TS80SF.V* MV0]H4E>O8$\J5=4&^3Y6Z/_ ]23U=0:[T5H_0G0+1_J15H<9H4]((+-:R1LI M$R7V+DS#-F:]2ZO ]"I*U &TU R9%4CPA32WQJW)VU6WODB$4-70IVB6#W:U M17=BN"MN;BIFU*H+5>DJYM.(ICN584@1)$ZGVSHM]A%F7B&-!Q/U6U+-_?,F M>.\J^L6U5M?IC5N/ZII8O7KA>G7Q4VX+)TU@0HI^+ M_4*--MRTF!WMK+(U367/U#V(7=ZHEM/L1.NJC,^V&6!MT9\];4M[;H?Q4SH, MH&V&[&W)W-7>)+^,>J8GKSX1,3@8](GY =SF^: #Y>IMWM>G";95:=O9^B?R M&G^,H'4W5KX%AVWV!W$N9M/CQAW3'7C6GV>]^X8'#9N,'1TQLA^RE#"=(/19 M3]#S@S#7U:,W\$#H"*:4OKZ;1LU !L'_)>GUD\T6W SW7>UN+J%::I@\ZA\= M+1]DZTKNQM"JI]3^#'1F,LV"X,+RTCK:.E+_[ '8V./T&<,C@-%?#IN=;B= M_)(H9>Y"S51^H_&8LGR/W3V?9MFMQE;J2K[I4$_VAL5D1(1+-3EKL5AL*KT3 MB"V<>\OZO[PYY?V@0P_;GM$:G>EVYS%UFUB-^6OMQM4+/*5Q>E6W;2V]21F[ M.J1+B@'X-!)T 6T96U((C>5WHJFXA#\*]?,XB.(K[]/X\5J!%0OG;5K(/?P- M2A(I!RRX&TH>*26SBZ5GV2:89A/8*7=U\@6@"97&O&%U9T\3HA*;SRKZV9#? M6)H57Y?SKAJM_#V6N[H?B!F8O^EM7SVNQ7-GUI/3:433@P:/4^+3D/H7,&1" MMR >>:1%VC*Q+3CL1,?:+B9:1$'3%>XU3\168J\.N MH_%G+"7VQXFZH-&V[]-&MA.X.1WO_,*SW3JZKY?SG^(9B1>7M=!2*[?DM%HR M;U[XS]]O>*EV@-*AYOJ@3NA 1_=,(CXEP1/QQXQ'?#1+/UA;O=XNNWCC/Q1Z M$C@@$RR^6]SRY^BR$[[>;MS)!YH-#6,ENQT=KB[)MA:]&^"\NY'%%CL<+Z[N M-K)34O/93L1\"G*=HD)3FIH[[7+OPH4]'DNB0E;*G]]?-^9F+*DX.]V/[0?U M^1_ICZ$O_O#+_P-02P,$% @ +CBD5E8DXP,9(0 LTX! !4 !C9VYX M+3(P,C,P-# R7V-A;"YX;6SE?5>36T>2[OO\"E[NZ\UA>:,8S4:+1E<1E)I! ML]I]0I3)(K%" UP<=)/<7W^ST-X2I@YPFA,Q0ZK1X#EIODI;E?6/?_]Z-'ER M@O-N/)O^_)3_G3U]@M,TR^/IQY^??GC_"MS3?__GW_[VC_\#\)^_O'W]Y,4L M'1_A=/'D^1S# O.3+^/%IR=_9NS^>E+FLZ,G?\[F?XU/ L _E__H^>SSM_GX MXZ?%$\&$O/G;^4^."58P9DA*("CI)<02'"C%64X\(&?^_W[\J62M6$P*!%/T M-8L.(KH F+)+@:EBG%\^=#*>_O53_2.&#I\0<]-N^>//3S\M%I]_>O;LRY/O;M5>FV<TS_ORT&Q]]GN#Y9Y_F6'Y^FCY.OT)5 M-U-,5%K^;86G/KND-X5).IXL/W]-/Y\]NY+7E'3\NL!IQE-)G;][,DO7OC2I M>IK-S__E)$2<+#\='7?P,83/H[/'3S_^1NOF"%_/NFZD(WK!@@;G41*J-<'5 M<@LFBNB\BR8',]U*99A$8V978VRZ_Q?0=7!/#V9S3/.R>(]??(%JWWZ^2DLK=\IG6&> M;N'M^MH[^\:S[OCH:/E0&!/BSO]]-85M8;*8]:Z<4UP08]L"Y]!@+B$P*-"P*92;J;FM]@A M/>83@>\%GN!D]KE:W'/D(=/*1Q\@E!1!:6; "\7H1Y585&@\;ZWX!PE:!0KR ML5J#=JIHAHX_<'&%.>82USY[8*X84%R217*J@%:TT!MG:(UXC8%MN+I_T MBI1)H08I[YCT=QE<_()E-L?3[[T/7[%[^95L,0%K/ WS;[\1'+H_9O3;Z8*0 M,EFJ?H%S[!8C5Z)+ADO(F9:L,DCJ<<*!#9Z1A3;:9MU8-CVRLZ;7[769;8[! MFPML*/IOMCPO"#TS$K]0(%$]"5F@E% :$%(H4(F(<3J1%>).JF(3%]+U L9; MI*SIN_LUV*V1M)W@>XG4F U6N*(A>'JMDQGJ_.>4B+/\>+3\^/NP6)>_[R:YHY#%D9RX,81N+B"@=D%9IB26QQH$MBFJ.66]YX7P4S#4,,D2 MDBBI$?2S,P9CR7S71;7]6N.AX/'FNMU6>\T6["MB?OQQ^OQX/L=I^O9^'J8= MN1J2S*]A/*UTG0JHNA=?5!'9D7LIA9+D(@0X)3R@DE)$3LXEM<["UB!O2(6L MH<*N+VTW]!\GQ&.MS)R*AF0P.U\J(Q>Y\VC)HWG-:B<,(7J>@'N=H_&^%-[> M =Q/SYKELG])P#739S.$'2X^X?PJ&:>$G1<" R],HB&KFYP E8TD(QP#!.9C M<3FRQ%JG> ]3M K*U+\XRAKJ] ;._O'LIMA?T\]M&\?/9T>?Y_B)2!V?G(FN M90?YKL?WUTK^+C.M>LI5Y7>\[. DC.GKDXK#+DSP':;C^7@QQNX@__?QJ2GZ M REG(G2^FS-X%SS,(VFHPR85 M8'1"81]VH#^6FAC..\C[,)UCF(S_%_/_H[2S-ES/0HG#Z15*Y^..?O6"?IQ^ M?(/S\2R?DSSRPF0IF89(#H$256DAB-J/#:QP9I/WK/E6@)YX&5+J,Z056VH84=W!3"7^+:1*Z;ES&I[N9+F5<7>C!X?/?*"9_1VHX+)<<7K!C'9=> ML@(^8:Z>B]C)N4 TT103T3 3=K0TMF9F4/6WQ[@X=@NGAO7A6YQ<$)2UXSRB M!LUMJ&*R$'4.(!-S06J!M':;%XCO):=M/]\F0ZR0 :+8TX&*Q@%%FPZXU=)* MSG(VK2.(!_KY^_5%K3!P4I MH@2Y0Q._=B"YWT);7\#:I58' T4TY -D*<"38B0P12EX3AID="):&1(ERT.& M8CN)W5\G/9CFY4^3&^YW%?DJ&276IJQ')4$I#.!,]B1?IE.2A:G(=B3?7A@< MDL?9Y5I8U7CL'U6]FYI6\;,)' NW$D1,E,?9H,!E&<$*K424J8A@'W/Y9<_[ MK >X./:!G-Z70S\K/KIDN4T9/#<:%),22.H:N%>!L6R%<+NJ3>[ C[2-@S8G M>$0Y/UA;1M/#Q#:J,WT;C%+?WV:36A-="__YWB\^#9"I04W MB)!+HK12L0A!HH6);6*1#%$=NZ"/!D3X&) M)+C-AAG9VC-^GZHA!=R-H=)8)<4!XI;$HA)8^MRP0/4S2DW5J-\=)0%2U[B^?.\39!(<2( MC .QQ0BO$2%P2[[3&,V"#KGP'GJ+]Y&S"C#TXP1&*R6TQ=7!RC8"M,1ZZ>FB]_E65=1(F=:?=P>)Y MF,^_D8R7,A^9E#+/R=&BLQE4'6 1>1: 07DC;2FE?2=]%<*&%+!OCHM;D&^N MDW;@/Z^CGFT$N:RCOL"XN/SI7 PY"@H'D=QZS&2W52!R:5E6,22TVDG=?#;- MFB0.*9!O!Z$^]=0RH)\=$[+?TCL(Y40MA8/G%!D=;$R9S+K(%!!&DH/S18$F M*H4.41C9^G3G0_0,*51O")-6&FB&B0_3.)Y,,%]2=,&HL0XEQ@2!Q0+*NP2> MLM#*=Q*H56*I]0:"^ZD94BC>#@^-I-_TP-:4OO*-8#DB@Z2%CA:TH$!/,6W( M]?D(Q9+OL][+U'S+V]7W#RG&;J?QC27<,@G_',;Y[#@-Q3W+>L%U#G6RSL>@ MR#,5XC!*3KF#EA3M\U109LUDZZ6_ EFK(,(\.D2TUD![).U\(6YYC1 MB1)+GVIBF3B1(.A'Q9VD5!-Y#*U+?+>I:!4&O0G?JL4]YTTE31FL0M#,$V^8 M>>TK2HB1Q"VMYZKY_+:[*1E2DK4E!NZ+?[80?'Z,^0X.2]::)VE I[K= M7P:$H#%6_ZN%)6+1-$^B[B-F2.E2>S T4$!K/%PY[7I.CLTB"J\<"%WAR;T! M;XH![I(416=C0^MJS+W$#"DOZ@2=-7+C-99H6\?(J] UI&RI,4J:JZ7=ML'S\^JO,71XBZ8@N+'*9V!6 M4 SG;(9HF(#H$!DG+3ML/HO@08J&E& U!DE#533N8XRBH1H/61RS-'7BE4 [XP"5P)C2<4D>>NSK&OG M@KOM1*REV5N^;V/AMDOW9M./[W%^=#GD93G$RHI$-!3F)*W!@N R3Z"C-2+R M[)QM;;/N(&-(,7 #76\KZ(:5H#IB9?'MS21,%P?37)M?G\^VLXYTRH'7*T=$ MXA%4X!Z\MPED1I-1V)B:'U9_B)XAQ;T-,-!,]#U%+V^K& _+APZ7S(Z0(M0&6MY(I.UF0XZGQ.'K\4E-L1=A M^G$<)Z< J[L"1Q122)1.0]:LGJ^V=9"$S% W>R4O @^Y]3B^ARD:7K5_*^4W M%'\S2+PXVP-X47*YI(=R+.FQ#AA6(8'"NH7,*@:8E&$L)!=CZS%.]U.S"A3L MXX%"([&W/>]X1L-LFLZ2D!2#1UMBO3_)4A1BB2A4 J2(S!#GCBAJ[?+O(F05 MY;O'H_SMA=U'@V]$B2:6Z PX7JOU?N7U/;0JF:U+ M*'% ;>O^":[!B:"!V!1>BF1%\SETFW5O]M#*6TO;M]+7[63==[GURJ+R666* MM IH1;PM[X+SS@3("75AAM(HT=R"?8^H(=4R6B&BK2;ZBVZN\%M]+455Q3DR MV]YK3C8W,G!91_"45>E(H;@NK7LWWR%I2$6.5N!HJ87FGN_;J]G\PS3AO)[ M6YXV[Y:G-J^ZYL(TIQ2-051, 27BA-T8) B2!?.*:6U:GTI:@[PA%4):>YC6 MVNEQJ\"(,4MN3Q80Q=>2/25QT4L$:X.*.EAO2O][!(94+VD%ABUEW39)NFJ[ M+C%H6(FE'M^V05/PCO6B)IDUL)(D&3 O?6[=TKN?FB&539H%&&UDWT?B5.]I MNGT +[,4T:<,W"V9%1Z"IH1>*U6X0"TTMD;$]VAJF2QZSX(/T5"\K^IV5\%K M:S(#"ZS4CI6.NL=MH --JK9'P@.9UEHB;X;S._B1S#D5B1_TV5&X1DLMVIP MG9*&):<9;QT-?0_+@TFBVB-@2P7LX_J+T'UZ-9E]V7K2T-T/[?&JB[L);S1Y MJ![SHA>\F<].QO2T7[Y]Z&I,1 R&#W*-EM108/'AD&K+) M25B+4C2?2+0Z=0UN%)S7(L$+//W[M^GM7< C)SPZ)A!*$O4T7"V+MNIJZYH./U=1U3T4%Y<#8:8WDIN42:H:91:( M3F6HQPM8M,[IYEOW[Z9D2"YJ1V!IH)*F&3HNQ7U4!PC^[U),A^7%N#L]@$*N M^LTM.BA)P]A2+T\W8)<;O2(&\#%J"%Q;P8L0S+>&VTJ$K5E4 M_"'0U5YC[;9B75Z;M+P+YBJZK2EU1K.%PD,].N<2..<,,,,,*F^C#*TK#0^0 MLV8!\H< 3BOM]&A[;AR['&7%K6;$*6I)[-J8:]$S?[MP@:DAU MRWU&UQLK:@?XN1Q3,2I).5T=JM2I&D+&P&GN0#L51-$6O6A=!UJ%KC5WBOT0 M!JBYOGI$TMFP@W/7>N?0@Y&+R46M+22T!E0N!8*OI\,Q6V=MYJGY5M3-*%US M:]H/BK;F.MU!%/X63W!Z7)>%YTY:#MP%7G?R,?"4F((Q(62M'(_-IUY]EZA5 M4.5_=$^XC:(:[B#Z/,CR M_2M5']F/!8N-Y;\U FIO8O3R:\*NEA4.8T?26>#%\*;GG\+\(S&7O8E9\@S1 M,T(EHW0PI&+ L:2E4Y0IYAN'Y&XW/59[U4KJ_T&JSST(OUUA\5KMZ>9)CE$P M(FDN(L02)*AE&5S)!"7'J(W5,HGFQZ(?I&@EW/Q@A>B&.NHQ%'EPD,6(0,RQ M#D)B1F(=4: @..=JU5QZE4,6O/\4_4$25T+6KG:K[BU.::?%?O/WVK1;EC#/ M2PNQ<(-2,8C9D#M%=!!%0,A"\F^79->UR$J0,%@0/DZ"D<2AS(8SPT7A4*WWHW*%8)6 LF/7V'>5$4M3<== MG+\:3\,T7><\%H/&6@=.,@K"E)$0;&%0DDO<2!LRMC[GM3IU6Q4HZ/F)PLL: M(2S[C;]UW7&]0O&PO*,<&;OEG[^0PO+9-P[F<\J%EEL>2:>3XWJKR^F.G9=? M<9[&],WJ#!3ZY.OX/";KP#5C(S@N,_AE9IVBS^G&HKNGK-$3@8]@)]ZV0+Q6 M"QF"GMM-G3ICXM5L_A8_'\_3)R+\L%R]&;%0@BY"2?4VLCJ?+Y*@8HP@?5(\ MY52L;SY^_+M4K;FC;R^&OQ7J>M)5@S;]?K"3@,=M9OI2WS?N.;I+7:+^3@M,)]= W7] M@RO??(/S\2S?CH7.[.O+K[0ZR.B^#0M\60JFQ4B@ITBZ6#".BWK#*V7LCDDH M@0ROC:)PV[J1O5L.>XKB[HI?62E*LJ @\5 (BM:"5UY *,PH84K,?D=1W'>/ M1>PW(!DPQN_(/OM0?]])QND.O^OT^:)#3ER#=HS5^5T<@A-$:6"BV)31E]9+ M?77JAG08X?'#1=]D4H[5KW)3?-@?<[ M]N3QPW-;]3>#YRF+A^4JVX?3K00\BEE1_*D3Z)SK*/@:D"9>0":++DC.DF^] M[;0'-H8TM.41 7[?@-I+7.%Y$-%J2-($DI<,$.OD0/'H_.TAD">9XE2*5:@O,*U > M-2C!,X20)42M8U+>J9+Z*AW=1<]C*#HV!U(K_?2'F'O']X_(AV$HAOR;%/6T MJ:YM-D-IJY;6Y6!RBJVWU:Q.W6,H0_:.IC:ZZW.TRNV )DSSE47P?';T>3:] M'%ORX)=?X"*,)YN-8^F%D 8C7/H7T)9C7Y9=NSO>_.[3;+ZH=[\0[NZZ!L9* M(^J@;\A:R3I(EX-#AA"D+QC0.0J55VJ\KO_N%J7UZNJOO_2 UOA\_HV6\W^$ MR3&.*,C.WF@+TC,#2GM:8LYS,(4;PTQ@VK<>D[@284.(UW8!FENWZ3776KN= M]B>T+.O&QU>S>8TGWV&J\23Y@Q<8%Y<_7=SY1\&BCB* -E[4._\,A)(9R(B* MEYR"8,TO5EN/Q"&48?OU9\GQY$5V@$;7H7M,@RN._DM*):R(3&/K M?0@;7G_6=WET'[#95B--N\;?-Y)%6X=%%-#+0=:Y;M167-;=VO5"^!(-'X!K M6Y_[WRF2^O9[F/^%BU?'TWR+;VYLT#YR\#[5:;RQ (7*) ;#:G,N"HI,&O/] M'9*&X,S[P\[-9=)2/TV7S(C6OLBT4,'Y.OE+^T(T! <\)H;CIT= MH\3\?-8M?@G=N!NAY0)=TE D#[6/&"$X,BW,%?MM71IWE7:,K!5% M69;!9U=;_O4\.M8LI>V M^@*'.&6,]-%6'H\.^[N)N8U=MW[3V'*Q>_TS4_=39GR' IZ$2$Q,@PJDXD(S&F0 M5L@8F90,6V^;[I6A(47>N\;\[>E=0T%.PX%PV[!TSLKAO):V<7Z3)5=L<*#$+.J0Y(*G6T(Q)$!^!$AV4H1F3K?. I$=0BUDB:,"A]!!:=2$((G?BP MW.1-#AZ[7UP+M_VN_;7 ,!#/=].9CR0&%@5&,-S).FXH0Q3>@0M19RS$. M"M W.7CLOFV/@-X*#/NL$YR>/QF?7&QM?T$.N-M;,VL+@]*I;H_6%IQ/J*7.A5%/@Z9LN:(%56 MP6JCVB/R8:*&L)]TH'!LJ,U]&,B+Y7/*P*O9\?P&!\:*S,B:0W8V@XHR@).6 M@71<1)6E1+G: 9/&A WI1/S ,-E8JWO Y07%9PQ04G"3 8?&Z5A IV6O&GV= MDZZA..:C%,I)%=O#\KMTK7F=X;\2*MOJ=!^@/*=XI$/1.D@#O-2+99+0$+P6 M$(56Q6$V!ET/X#M__Y N/AP:R#;248\EHBMCC]^E3YB/)S@K5S[;H\H;ZJ,AM/MS^CZ3-:2J17N8-%)'>YR\&D_''5GE7V>S?(,PYU)A MB45P&.OO'T\TX, &D4[M=.) M>/V%%Y>#G0^F>4&YDB]2!TSDFG*I4%64P&M&4"TYQ2"<\J'U[()5:=OZ7/TJ M[WF+1V&\5$YY->X(!S7J'_DH7-!> 4N6,DAC:(%I)2 C"8>SC/SF[9J[D.Y^]&L>T&/*PHE#]H\;__@I,3/-N>X)*V.CD&)5C*/>L(*N\1 MP1C!;=*>_K>&\$6B>,FQAENME8 MW"W4B,8A]7^&![5UE;ASJ"T;51>D$O1%4Y*C$BVI> M\-^(T%5 9_\50;>Y.GMM.R["].,X3O" N-AJ5_E]CVK15ER!R$:%M5J579#^ M3NK$Z.NOK95?JU)R.3'@)I!O,CQ #$Y3&.1C'10N$V]M]1^F:%MC],#3EZ?N M1R8SK@474%1T0/\G$\DB.><8C$>998FMCXY^CZ8A%<0:XN6F86FJFF;>ZP&J MKIP=/9L:LI3@R"G%G=:UDU'W=0021_0D#B](%D$Z)W+KJ'Q]*@=U'\)^4-5" M?[OW52/>T%O1PWKS5S<)W8W',D9Q9D0&:42=9IL41.T*^%(B6BVQZ-:MCKUY MK*NH??GU,TZ[*UFE#D$4E@ 3(SE89\!Y;<&J())A.M.ZV:$1NI_21^3=UL'6 M.G:HD1IWXO-NTWJK(Y!TDM+[!*F$>LE(-."-#""+-2$4XD>T'N^S'<5#:O8, M!H);J75/4#SO%6 1:&4.H)FOI&8!%#]0\NF$M?11\+SU).V-"!U2TVN=AQN2.J3FS[ PM[8B]XBZ MTW*N,CZ*F*%8+'7W!ZT0FQT4P8KU$45.K7N-FU$ZI";0H#"WMAKW!+E[=A\I MH;(O$4RP"907EA)E:2%%4WB40O+FQPX:D#VD-M%@P+B]@O>$S!MM!LD92D/F M6K)Z"7'B]5)+#\YDEK7T5C??V+T%N4/J'0T&B9LKM,=:W N"@8*I02G M*>POEKR@#LSYT'JR^4T:MA_L=OZ\BZ.[A^7&2T8LO M9E,R3ZHP[(W/^^D:4A%N*VS<'K#66"D-YP!>(Z+>[%U/VX7)Y3&+][.WN#B> M3^MXL-/5.1(E%1$5!Z;JK M(':^0:.>.!$=B]F&NIQ=7R[7,QOJ\#K M.DZ3,#ZZLI!E* $-(D6@-25*.4-8%HF$](K,"D^A/P.\!J$#-<#MH=67\GK, M)OY<"AWSP0E1^Q'??0IS[)Y?/GE6[OS&%OG%EF_(]K[OUGGHM4AH5BXG9NE'=.UK#DM'RC:FV:UA(R%$EU?JH[5H$#LFW M]HFUFZ:Q/RTV<[UWDGB?, [R?Q^?SC4>N82(TF30R2PG89$E]YP!1=)HJ[]( MK/7-T!N2.J0M!7L'7V/-KNB9SSZO?\30X3__]O\!4$L#!!0 ( "XXI%;M MLE@3*U )6I P 5 8V=N>"TR,#(S,#0P,E]D968N>&UL[+UIEULWDC;X MO7^%Q_-UHHQ]J=/5[]%BN3QC6SZ2W-7UB0=+0&)7BE233%GJ7S\!DKDHD\SD M@GO)9&9W2?<3(=CD=_^Y[_A7W_'8[2. ]' M[__V_1_O7H'[_O_\Q[_]V[__7P#_]?S-+]^]'*?SCSB:??=B@F&&^;L_A[,/ MW_TCX_1?WY7)^.-W_QA/_C7\' #^8_Z/7HP_?9T,WW^8?2>8D#=_._FK8X(5 MC!F2$@A*>@FQ! =*<983#\B9_W_>_[5DK5A,"@13]#&+#B*Z )BR2X&I8IR? M/_1L./K77^M?,4SQ.QK<:#K_]F_??YC-/OWUAQ_^_///OWR)D[._C"?O?Q", MR1\N/OW]\N-?;GW^3SG_-/?>_S#_[>5'I\-5'Z3'\A_^Z]=?WJ8/^#' <#2= MA5&Z>@&]/L\N_^%U-/J'Q2_IH]/A7Z?S?__+.(797#WW#N&[M9^HW\'%QZ#^ M"+@ R?_R99J__X]_^^Z[A>3")$W&9_@&RW?++_]X\_-MI,/1[(<\_/C#\C,_ MA+,S0CQ_PNSK)_S;]]/AQT]G>/&S#Q,L:]%?#+F"TA7._UV?]L/>F#X0D$DZ MCPCT4QQ5@C?$N.KI^V.^?!9D+.'\;-80\>UG-\4[_AB&+05\Z]$-T,X?!!_Q M8\1)2ZC?//<:S@N0-Q'61Z;Q^Q%^H?]\_&$.[L5X-!V?#7-=5-_.Z.^ZRH[+ MVP]A@A_&9YF6Z!__YWPX^WH_\/1^] 7JS:87/YGK;JZW]2@6 MBMI]7#^/$FW@4WR)B__^/'H[&Z=_?2.Z-^.SLU?CR9]AD@=)&YDC*N"IT 9, MVH&8:,?.B6G$4!!3ZT%O"?%;B5R1]]GD0C;+=6#'A:):-TVY,1OWIY(%+6A\ MWW\WGM#C_O8]VY=!M\$-9-#:9&6A>*-!^:S!"R$@&\.$T-+RV'YFW$31/P\Z M5=RXJ=1O\X#ORX,7XX\?QXL1SU??Z<_3Z3GF@9?&1Y$%6*D2*!0&@O<6=. Y MI+JPU]6^*1G60#EM1K20_VU:B";+PP+*R_,)N9._XV0XSO\9SLYQ_KO7GZH. MIC]^(3MZ."7 6(HLP00:>N4QEQI<]@EL82*7H@TWK(O58QN0ITVE;G5VFV1R M;Y)5PC\GJ62:!9_(7P@+94S"Z/U\9W[^]>HCOX>O]4?/JIBNSY2?1XMA#EB2 M3JL<:2'-!FBO-N T2V!HA;5DF](&7EH3L.4 3IR*J)JOC&_QT/DD? M*MY;TVW KX5V@3IQ@375RFS2Z2](L M2#Y@B$+%&D3E.8,*)4 PQ=.WL10;>"+?I$?6+% ]7MKLH)7;O#'[\N99_N_S MZ:RNA]-WXV M[LOXE\//PXRC/'T1IA\&%J,,P2E )VCZ)=KP?8@>6%1&1$Q1JM9;Z3< 3IM+ MN\OZMN+=OHK_#6CMYAHJYX-P?:UPVLCH$VWK,PG0[+<)$C<+6QOR)E M/'O]XF<2[=MPAJ_+U6 O1^9L8;9@ !,* V4-(Y/4T\1%83537&06>^+VWH-Y MG.3NEP,KV+WW\<%=(R/<.'P_>G$^F> H?7TW"62%IOD81WG^W=F-$5\.*_ B M-2H/3F9+_CH7X#7M2<4I#-S3?QCOD=J[C^3Q\KHG[:\@=9O#CV]/Z3#Y(!3Y M02(G@L2,@!A#@&RCSR4%%GC?9Z/MSOK0H$CT_Y!L4F3U,R1W#QEH4[B4SM#: MTGHCV>BL;X]\CWY[D,>XAQU1'U=XN4J[^FL_$4\]^^GTW.\>J'X]$,O\Q^/)N_\&_?3_%] M_:(9$Q93IRY2XU&-F#S[,IP.BLY.,$N;97 THD1[IY?9 ;J!T9*(9D3-#I'AI 4!1Q/$A"-JS<5D@FB.T/HUVL9R'UZ# V4 MLSZI:0?)=I#MN.:09 E.(J(D_H) IT&)Y(CCUH#Q4:)RUIG8VMN\$] I4*"= MQ#N8^6]P1N/#_&.8C(:C]],E*A&8\U8F"(J%F@X5(&9=R/EDV>K$6,'6B_]J M)*= @ 8R[B"O\5E*YQ_/S^J]@W7!BR70S&)@FDD((LAZZN_!>4R0T HLSC"M M6I-A8W"GP(]N-+$V2_'??[@A*_*4_[7;79]783B9GY/_BF%Z/IE;3--GTRG. MIF&4?QF&.#R;1VF7O\]A=OE/:$%\4Z.X]:#B>9@.IR_K-#F;[G(MJ!,<>]\@ MZEXZ-RX;:4EK1I E""&43!B5,T62 TN_R%GS02>(]EN&+I^_@/%L)8S7H\M7 MTP=^&X\FWR"Y%NI1+@F-&G@BNTHY19:Y"^3%.ZY9RHRY)!LO54T'L/>B/L=P M">GE<%HC383@69S.)B'-!HEXX844M% E#LK[#-[8 $'S+ 6CT=GF%MY]H/I? MQ _'NEN+?U.-=> P_$K;W-=?P^1?.'MU/LK39[,783+Y2E)89$AQ:;.2IH"T MM#$ISQ&<8PA9.4[;E([)M/84[X'4/YT:*W'?:9MH 9-EZ>S5V>S M+S'.KKX;,&T=1RJA6Y]6; GQU)C4I88Z MN$AU;1N_2R*VQE548L ,055:9F)\9F"-989;'E"TOM.Y&;+'; IUH+L.MKLU M$V)Z@?[KJEDA150,>0(9239*6@VQQ@@8.6?1!T\3M/6-O%UP]L^^+G2^V0K6 M3F%=D*S!I%P<9%O%,]8DYNRMI[5?.7"\("2CZHUZSFQJ?6>@&?B^_(DO@4HBT&*BL M-/>2Y=:WM#9#=JC@CT-MYE6'\3L!WEQ6P%]##Y,EUH M?!VI.E/7P3GFM'="R@@B%YISP1OP,BK(F?.2O G*M0Z@'0&W[DG .3IJ;:.E M+BGU\^C3.=FN50)\>2K(C'*Y%LAQ-I#!D4R&J,@X-AZ+RD4)(U=4!&Q#H-MP M#NC!ME?D.LKLJ84.PO2KH(F+E"->2($^ RJ,H"H^)SRC^9*DBB);I9M[G^OA M/#:"[**%GE80>0'-^L1-U" X(VC15Q:7 %*ZJ(+R-NK6%:ON@//8"+*+%KJ( MQ5]MN=?$\&J"_W->XR:+S-ZV ] M^5TM]=8EM58!O$B&WP!BCZ[6#7@'=[#:J'8#$[B%7GKRJ6Y"=<(*@:KNL)I7 ME\! --H#Q\0Y1V.Q=+8Z]4V=S?VG@S%G&W7TY85?KL47&95)"%52 :V-J.G7 M%D+T#B2&3(B9YM+UX7S?P'4<)M!>"MW$V]Y'&UWX4,-1&*5A./MY-)U-YNU! MYA-%(1/>$"P3$L&*SI'!QSF01UY@KX;RR"V=!OKI(.=@?H6_X*2* M95%-C(;\NJQ .WU'CYRN_M5RCFTREH[,H);C.)"]U((@XR/3;@=;8],QA9BC M0(Q0[ZR DKE ]#S7F],A.Y&-#ZU7Q^-GZGWFV;$3=1NE=G(A=?)I/ DS?#ZN M@[E(5UR:"8J)&)-(A*L4VD-(5,X$#EQI)J,N#&7KG(8[ ?5OK1U.U[?NM[92 M5!=W7:NQ\CRD?^%M:#FY8F.U/G(M^.X,F9K)6H@R,RFU#Z5YW8L[X#QB!K52 M4@>KT!]OWTWFMNW76\B M1BIJ&/.LMQ,'S]Y7M[FNB1=H6!*!:\6 ,QEJXT M_:P\D0PN:BUX7:TIR MS<_=5N%XQ)S96RUK^V@TO(]?*Y?7/[5&P>=P5H<>1OGGT6=<%LG?XX[]QL_> MO_/F3J.X<1<^>QZ=#KX63%!H2@SD;P1=;PH8K748;/R6/3U9>@5Q]\:;?KG* M%B\ZT>:4P#I.'G\-K'OM$YC(?=;<.VZ:=Y>[&]+^'3EGM+I.9V\P(3V\!GTS M\B@233S.:] W\SKQK(;,.193#'+7>I"W4?2_>+74_>TFFWM)N0-O^]O-].8- MU&=G9^,_:_-P^O[%!/-P-J^VKP6SKN;2&,7)PV/ULH0.' )3$BV3/IC6N?R[ MX#PM[G2NJ0Y\\5TP+^K?WRP#/> RF*!U(>V-L5H>B^P+9,PB;>0@+*OW90HYK,5;\+1F(GE%"7/KZD\; M >OKIF^77&FO@6.YE_L\G-5=^.T'1-J!E\U9ZG$U@5;"VP 8:PE+P32XX%R] MEJ\PDHU84NM#M'58#E8WOKW6QQU(OP.+?!6N9:!M$V0=)3&M1W68E*0VVMN M$GN(OE]R)"S*F> @"%>;#]M:C2AXVC=C4-E+[V+KUKY]D^*>[)^^.;&-Q#O@ MPJ*H[;S\RJ)NU$7XW#K!@[4&D!5')K?(Y*WQ>L;/O6)G?;&VE MKY6-J/84]MKH8)]G%5=-%\;EH <;.P'I_A1D?_G<.#*1WA?+'//,1,4YB]RQ M0FN0R(A,BGC_DMK'E[9]R9PY=%[L#21:(&5"H(R&FRTDL6 V>76 MKO-6 /?.FZRMBX-4+BC-@$5O:) Q@:,! N<\Z2 22[EY[XZ#=(?N3O>WTARW ME>L!"O'JVJ+<:P3/(0'/)GAIHA?\1GK(FDS][=]]BLSH0PVW M66/Z.4]5AB#5E,H08O":I=9\B6%Y> M66FL:(&I=2_Z(ZLZT8'.-ZPHL8WLC_U^_B9C M>:HHL8:"30C2Y47]7;1[[(P57GM%Z&NC!YK1*BGP)A=0,F(JB;R(W#I!\OB9 MNF-%B:,AZC9*[;VB1(A)16U"/0VU!"X;"#;PF@:6DK)):]-ZKSWEBA);Z7JK MBA+;**KGBA(IV)UM18A_V-%)1]Q4E9+ V9ZPW%&KY3ETD M.!TB1"-YEJP(?K.J^R.I*+&+]AO(N(.3DM67SFU20G(&F>PZPF0'M*O]SF_=UG7>XLC1O) MEH5V%2Z5%JE8);4,TNM0' >U$;OS + M/NI4"Y$Y3%@K#'7=]_P^C,=^\+@-I^Y+76BJKRYB#'?C3>G\X_E9F&'^:3*> M3O\83:[=8GY>UP!\%[X,G#%,USH@(4E/N#\GWUXTUX?QY[_(W7D47@'Q55I M>2UI @A%MJAR"FMG0-Z\+_!#S/_92N<;YO]L(_MCSZ;89"Q/^3]K*-B$(%VF M5>RBW6-G;*;-7=>LW^(EHS%)&A/R"$GP;&A:^UCDHV/JCOD_1T/4;93:>_Z/ M3EF&6KY9J]I,GHP4"#6WQ"<>-)21G%?'^*?^G!_8T4E'W^3_*HF=*>V">,*B4/>WLV@&3Q5J1$M/FQN7] M1Y+_LXOV&\BX]XXR*N8@9"B !DW-1Z@G5@6A<*M3$C9ZW;IW\2EWE-EGT6BG MJ+XZRB2?1>(F@9:U/HDF4CM5Z"MIHTSTI6Y>).@$L\CVX:FEX5_H"T]K* MA"*@X(K&6(RDA3 :"3[[ %%[ER)93T*W/DY^F)5>]XE&-I%^!V=J=Y0JW 39 M8Z_TNI7V-J_JN8OH^ZWTZI1)Q68&,55G2R3ZRG(%-F"1KBB3FU?;>RB57COB MQ#82;\B%18V'%45'R;4.3@0:G+&$)VA#E@\MCH%IL^4[P3*=[((N,N#^+O!7*/C/,60HI\]J%S$9%7I='< EI?DGNG2G!1]'Z MM*;7#/.[N\Z\&(]FP]'Y^/R&VGX?3QYB4*\GM>[= M_%!;EAR=!6M"+4I0NVIZD\$(;[4(D479>C]K.X(G(G>BZ][;5&X[FIO3,@:6 M$4TM\NEM;7/EP(M,FQ$9J%QG[K"HHR;RTP)] ";TWDUS]9 &M&MP68,MUB82 M:KNV"^.5VD,BH;9H!E3C)3@F2& MA0-G+"M&WV?5NOY8 ]A/3&RGU0X.MYB5!8J?7[H@ZV]1W+ M!WF%:2N=;WB%:1O9'_N%D$W&\G2%:0T%FQ"DRYLANVCWV!D;A24J95HC8CW? MYS&#FA$74;I?9^A4D96X(0BHA1(_]8BYKF[,!8;4TF MX\3QULDVIWR%:2M=;W6%:1M%]7R%23-ALE81@B@95,47D>P0JT/PR*-*N74[ MD].]PK0/@UHIJ=\K3+'8I)ED8()RY"'Q!#4K@3@N8B#04?#6%Q).]@K3/NQI MI*+NKS Y5T+1@D-Q-<>]UL)T0FFHI8)B17F';1?@,9]WZ%24O. MN(@"4JCE_#USX'BMK TWU2:RM9WO1_A/#)/+ M7..!B<'S8C6P1!:+E':A3I-U!%=?Z,MQ6X[B OAP(D0AO#,6(3/LC-V"PNNU)6O N&:-A>?3&V,169L05 +M94V#J/-+!@3) MK%*H+1:Y67OTQL">N-B! AL&A+8?RR7VY5#(N+\Q%"]RT%%+R-+H:F+4J$2* M-*^P<(4\7$]4;*^^AD&E'89R@7U0O#3<:@;2% E*&0&!U7*:B>Q; MX1V*M-F%]MW>_\2LW=7108;EQL7L5;&&RZ*!1UIN%;,&O!$.6# \21^\4:WC MW*?2;* [#W9'_=SFD>DG4QXR9C>.V-],3XDK2 D16,2SH!CY [/BZIHVB>R M;[VK'C]3=\S4/1JB;J/4WC-UDU(I,-H^YA>_58@$,PH# H.J]Q6%<*V;1IUR MINY6NMXJ4W<;1?6BII#C,!B+4!AE-6Y=?O-D\W4W8<]C534?:8N>39> M)L=KTCGY/87V^%!$ E,T,]9JZ^V-$C6/)%-W%^TWD''OF;K)LD >K@:3F:)Q MHOC)UM8HNU_3S4J($I9.'*&G(23I!+@'J MI%I7CS_!3-U].+.W6OK(U/V%MD*<_A8F9)$//^,>2;9KGK1W?NPF"&^FMK+D MA=,B!7*.,0D?1#UD<,H9ID-*@S7/W&\:U@)ZB/-'O\1IF@P_+8>ZC(YK2^:G MLQ$TSZ3ZPC-YZEH#DL6*.IN"H76BY3V0]EUX?L/9&YHL-4K[C&RJ@2N"9.XT ME)1I'>1)@EP;$/I?;EIJ_>8*LH]\.W".%T-]_0GKK!F] MGX_Y'4X^OBZU=-DDI-E (.>F%H(B?]V0!1TB1.8<9)E,M$HB-H_LW8_JM$C1 M6 NMLS!7P7L]'_Z[,9$9_[R)55CM0JI8Z]TF91$\CPE\<1:9EB7?7#/6>#E; MOO@T2-&YR#NHA_DMT#?#]Q]FK\L?4YR'=0:9N^Q%GK>'Q'KK38 K5H+EDH1 MMA+3K6LJW GH-'C27O8=>,/?@OME&.+P;#C[.C#*65GKMSK/ZH"U T]?0HXY M2&VL6E:O&P3Z)BDK M6E?+N -.7UDXW9L3^TO[T-DVT\EL\'869O.G_83C]Y/PZ<,PA;-%2_82;?*( MD'.*H#*Q.=9[*27XE+R-&.Q&Q3[I+=5. (?*L&FFW7%K*3>T.^>@ M%NRY#FD9PMD$U#;I,?=18!V0?O-;&BIJW)64>Z- %_5G%S;4Q;@C0:Z-/#4, M6_\\FH71^V$-C,W;ONT1MU[WJ+T#UQMAO!&YCMG'++1**EH5[/S@F07.'#-& M>NX&ZQZZ=XKR<$8>P&?,-U]P964*H7RRM'0@:D_DXJ:R(0)3.F49!'F/K?-? M-L'5(#U[W3OFC=H&F%FVV7(@?[C>)(VT9&KRCRU&2Z:292IUD*=])Z;^_=#F M#%F1J=U.#1T$O^_ =ZT&_;./X\EL^+_SUI8#X4*NE56@J%IULB0%,=9PO4'R MSDI)QO9(G#4H'Q>56JBJ@[2Q.Q#_AK-![5K*HA$@YNA",A 8CQ!+O)W-/W[Y1#X"/HO31;Q?:FUUJMUOK0\D M%BWKG5]:0UTM\BR-TC>?<9E%U>;!(^2D>M<&Z@;Y.I7=_C@>>-I64K #O'8'.HI"[0[,I>G11H0ZLBSX^VP-] MHF%#11Y\^YZ#KO6,!L%P7]!ZJ 6K:367@@25+13&D#&%Q!M@E2,<5$7'N+AE\"*](F!+5790=&@ M'5#39P>8E(A1UQ1*DI&B243^ON)@;<@R)X%&']9MN4#Z1,"6JNR@VM!VJ.<5 MMRZA1REX]BR!#H6!4II#M#0(KAU:(U"(P@[*PF_@/E&QN5)O\]%V''"6GDQ3 M^A]XAWIILSJ+$*PM0A@2F30'##CO<-'RLM+0'>]9EAN*3/!4$&Q!8D0UF*)0 M C*/CDLCO4C=E?RZ#UU?&8>=1T0[4LBALQ WD-_SK[^&_QY/7IR%Z721DF,E M3U(GL+6EF/(Y0E!&0W':1)*B9ZI'*^,FO,/7!FM+D,W7\+T4U6^ \PKH;^$C M7J3D;0"WH[I@6T(]6.FO;E2_.<6:Z>T8Z(9<6!4]B"02V0S:@EHF?\6S\"?,[3!]&X[/Q^Z_SVT@7"8<^NZP+ MUV00BPAD'EL(A=#J'+Q@07(;-DK8WX)-]T Z*L=F?Y6.N]-'Z\XR+\ZGL_%' MG%Q<8*R5'=[@V=RYFGX8?KK 2!N]1%N;J1F4M:(P0JQW7U5MH,<4Y[W)+& E@4GEM:#EB)KVU7GR"HD^S &XT3TA)RU M3IJZ \YI);U8SM:N<_(F3X>=Y MT9OKQ8YVOSUQY_/VOD*Q.=H;]RBTUE%RHV1*49E2O&=,NJ"8XUDCIL&=3][7 MM%WQ:.+&WS&_'X[>/ZLM,Q<-$8;3&I,ZGUROH2^]+$'H $S5'57' $%X8@UJ M+W+R+MZ\LM3 \-T#\-[%R\*7X%YQ[<7Y9%++]EVA MG/*!R61W..[ "DSS8#UX1]9I*#))X2WIN+64=@+:_W+:'_MNU3OK7),=7.O8 M15R+J&.29/=*&0AXGA?+2."-B9"X*CYJYA)K'>_8&6Q?QP:'(U\_>CR6XX7E MJ%[BE*;5W"J9QX^RU]X$=,"9%3049+4KDX# .9,"HT?9NF#H:B2'.C3HB07C MYMKHP#>^C6II0&^"JZ-S@768#G, T$)O]U)A#Z'W20ID3'">,Q&^WF]BTH(+ M\S+J(9*7[C3*UM&2?LEP3YB^3RYL(^L../#;F!RE!2;,%_?[M?4V.KI9MG-/ ?=10&'E3OGZ?#:=A5$FB9#) M_F>8Y,L R'R7;!TGV/1]W<01=AKMS3A#+9(D@\,LK4HJA>Q,*=(IJYP41J^V M2#9]E? :.>TS0-OOXTK M'\+9LX_C\]%L$!W3.<8$-M/\51K)F92)9G*P*?A:*#>VSI>\$] A8P"[:7Z] M<[6OO#OUX!>6? FD'9UJRR [STISX"WMX(FF9(Z".Y^["Z =R-MNK>;M)7GD MGG$4K'@?&!2&=?NE/=BA4S0>78)2)#7;NJKLL7K&.^AV,W]W&QGWZ=IL@NLQ M^[M;Z6U3'V<7H?=)"A5J(7WEP9+=!LIR#B%S!*MKNQ;R^8SK/E1V?/YN)US8 M1M8]^;M1216S(4LEUU,'(5S-8'&0BPY26O0\-.]4<=3^[E8ZVL#?W4; #8W" M6A[QXIAI3NCDBD@Y&\!Y\VA)A Y>D#U$'CA+WB53-MKX[RG]>?V=#WF+WTM^ M+;-WEA@&S\[.EGAJU/ZBRN7]F#;8T*>8_O)^_/F'BW1V+S'?UJ=M:J_3._K;==M*_ MJ#91 "=;F]PU7F^OD[&7"B?[FTF;[^R,L[7ZZ)VGH+YM M1=>P+-,EAI^>_SX(SL9LBX!L&'G;!14$HR2@S+6EBPX6[W).ME8?O?,4U+>M MZ!I6-+K$\/<_7@VL8E$6AR!TK;9O/(?(LP#+?$Z)Y9AD4_71.T]!?=N*KF$] MH*O]]]G+0>#$F)@UV!KP4D80A:(-M?>W9)PSILM=(<#M39=G+T]!?=N*KF$U MG2L,?W\UD$B#""5!25*#\B:"2^AJC1(K/;?&L+O.^;97W]]/8O9M*[JUQ6>Z M3D:Y* Q+BM_/1Q=-KD97W7P_GT\G6-Y%8:3_PQGY\U35MJBZB:QI4/)W4A_ M\=X)ASHQ)8JR*D<5'?+,:_](,HC]ZO27MOA:90],+Y_\R^5I.A;T5N0$/"'Y MU;51DA/! +-%,D-NFQ*BLUR"%8 :)\Y,!R8)99WT9 "'6NB)UG!G4H3H6$@E MFH"FNV2)!89#IL?LJ_-[$F6VDV^GN3$7W3UI%QF@8<*7>A@C:^._9"T97]J! ML]9+7;R/I743S95 3E/SNTJZBQ(N%V.<7AOX\W!&*RJ^_8 X^Z4^@B3^_-J= MK(M4Q'?TDN=?;Q\8+@Z7LDHR6UY/D_C\VA9QFLR.JGE/)GWQ>&?8=J=J+YV- MIO^$K=;T.Q)-'WD66"XFHN,6DHSUZKB3X#1R,%$PS5-VAK=>^(XK"^Q8:++A M!:HMU-7K!:H-<#WFA+*M]+;Q!:H=A-XG*B M*2Y[+U,DAG"T)K!U]5DV>&T']2 N7G%EJ]M2>$ OP1O)0&E%CITE2F8K; XN M%UYZ*?YP"UF[B,'%HU^/KGY6:X,SJ6N0CX:>F:D5C4H-:0CZRG(AR6OALKN8 MV!I01U)F93^>K \IM%!%7[53+K!>>@K7ZV8]__KSB%86O SPKO(WKA[V9CC] MU\*[,+ZHY**%0D,B.?H$$;D 5E36(5F356OKJK_1';0Z2U>IT;#K'368NG>=SB.U/7CHLUF<8IMU->G2[H)KL<ZSF<&3#E,K&;%->_K]Q#B%)UP81M9]Q2G ML('<+4(%R8A ;K1V-.*402.M?5ERF]CCBE-LI:,-XA3;"+B/.,4;_(RC<_IX M_<7\6O/^'X_21\^O!UCS#%SN_:.TK19I0W@A0Y"F6U M]TID4BJM M(JAD[1]X6&K08[OW5/O^OJZ?3*UV7YTBL+/F9OH\L*$KF#9.,0 MNYW!!$X8EUFM8F6;5T"Y!].^:]GR>:]H8E^<1_UC./MP4:CYQR_I[+S6TZEY M%_2__"Y\&4BI!(_6@@H"02ENP3-RE#62/GTNA?'6/21V@'F V$5+_MQ<$[M6 M5!=QC-7R6#:7$IK[%!EH7?L:1"'!N>"!H0E!J8 "0S]SJ=]809<<:2;P0_OU M]8KFI0=ZL'# M ]!R'GD "$P'4%&<@6+3 'U1N=A]ZCYV[?V9S0V5,.XB0P;5XOY\7PR M_H07.*SU/".]76FUR-<-WF80WCDB;2T"OM&Q[CVZO/[.AZ[)G>77\DI[K4,Y MJ;?J!RXPKDU4$&JNO4KU*Y$\61L*8T[,%WF7S75Y*VSQQ.6EL,4WU^Z$7;[O M(6MO1ZFU[M'U;#H,EU[ABP_#45B2B>M@+-<<7)RWERZU<5CDM7N8L-XR8=2- M4.6:/EKKWO"@E==,='UTG=HT4/;[9)S/TVP:1ODM3CX/$^Z3-=7@K;T%)C<= M^/]^P94?1[/A[.L_AAE_'I7Q MY&.XAJ$&B7ZD 4U&X>PB0'0MPB!Y2%(HR$[7;KAQ&4E'6IIX'6+!UE',G<$> M(KSI-7I!:P0(+@HH1SZUY\$!&A<3-SJVOYSX(,*;_3"N1=QS&PUV$/>\N(?[ MNFPKLNGSRP7CV=6"L0CPU)!.-"&##+7?IQ :@F4:.->R1&FE-ZTKJW8RD+XB MK8>AZ^%U?PRQV^5 7D^6PY@'*XIU7)#;"=9H"RH+ R[%!-JFK- IZ]E&!+[' M"5SU[D-%;(^ #>.&6FD<\%DQP*7EO@FHAE'>M4#ZC_+NKZ/;"F\DX-ZT'YCS M2GD%5M2:R2(5H'_J2'"\"%)&>M7Y'@+<(D MK_"'EKZU8B4DQS*4"E'9BB[3\#$[5NAWCOE[/=/-7M5O?**1/L:=";-E"=-Y M].33I[/A(FGX[2=,PS),%[O:V_'9O$WX90][3X-,UH TU=*RGBRM6'/&,C(E MF5"6Q8UTOOD['[SR.Q+OV@G?,%SU=C9._WH>R 1],?[XB1;&^2A^_%*_W*>B MU$;/W3ODM#WZ&T$EJXWF*F6A7:V%&6(NCG0M:3U/2'\&&[UA3]_T0YC@K5<\ MFTS"Z/W<_G_^]>HCOX>O]4?/:B>U*_?(">8,\P%\+32H%!?@ GV52DE><8O2 MMVYIN3_JO7WZ71'\=EZGXNLR_^WTV6?2837B7XTG/]&_G0U06X%>T1S-GN8H MBPIHWZ>]WC&GE6/!^7(LTKQG+/V'I'IF\RUG_QA(T44 :]=QS?_Z3YS.AJ/W MO^-D.,Y\X!EFSE6 Y&M512%D M#GZ!AJ9;W5]??YK_Z"R,!F0'D2"4A)RCK,UH,X1ZNI>TX%F9DH.6&YF?][[J MT;"H \DW/!C?6SB+(4SGJ_3TY^7P_H'#]Q]FF)]]QDEXC_-?O@PSO*P*-4B: M\2B4AERL!J4UDB29@6R$TR*32R9;%\CJ>8B/AN /@4(MZ^K/XPUS,V6#P4[7 MC?;'+SA)PVDUS2;#T728%N/2-A5$)8!CJ9$*)B$6YP!U9*XH9^7-2JGK MPC[=@7PTY#XJ;;=L+W YKCUF;#5M,%_-2+)@HK:Y)ML'K-$5"4&;#&BD* Q3 MTF;#@&5;8(^0K0?2:L,."GN+\L?_.1_.OEXK\_!Z]@$G[SZ$T8X;#LW%D+U@ M@#8X4)R3Z1Z\ Z'(,TT"0Q%'X[>U'ORCF4)')_FM:->P!4;?@ACP)&)(3 #* M&O]/#$EOF8&WPBC';<:0'NCT>IH]QT":M0U&CG%R+';ARW%FEEW*UH.SM7+; .(LF1>6P?:Y;3V-[FAS'0)K;D\/MY5MSH8?Z\6 5^-)P>'L?()OJO4SGOPQ^CQG\Y+:]).W.!J.)[^& M45A(;L!D2<:0LVRL)-]95B4>1-R+//B@>%Z5ZT]>*LX_]DG"V M0?[L[.RW\>@6_JBB+HY<7Z]T!D)>&YDI"SPGDIIT2#> M?@=O/X_2!$DN/X]6I;&ATH% XDW*!PB(G.S=;<-((T%ED M8VR0DFUV,+Y_L76SXRVR[U<*D&;.81W.Y3=^-9^'L^N]? MC*>SW\:S?^)L>;_O?S$/-$;#=0Y@DZ.169$@9L.!3,Q2!,N^-'?8.QO,HV'U M<=%B!>'W.YA;-:QXS["^_=7LZ_71+#RI,IYI_Q4,W_G0[D+ 9.+4SV!>+>GE[C0H209D@N9@ MJ7])8R (KL&@S)X'$9EI78%U,V2/AI(=*FP%K_8^:MMH3W@7OCS'$>ELMKB! M?'L8/#IN4LE@7(W)HI 07! @=,XTE,(T;UWXN0WR1\?+ RA\!6]W[]*^;L6_ M-8:;"WHU7*8OPJYL%&*$8+>R69*E,H7$QXT2B(>K- M;M\T!/5H2'E0;:Z@Y?Z'0Y=WG>^5Z'2=2!?WFX626@9)\L/J0QHR.&)&#^KNL&A#W4.HNQC*&WPIHYKT8*1>:.SL)!M)+R,IEYDS(') MGN0J7;:;U=&YYYKRY0L/7\2@5UV/]Y5YX_OJG@U.@3?&@=*@^2""KCK,4DTK2-RDUT+D"[R@NT%9_VPBL ML=Y^)4E]//]X <0YJ)RVT/ZZ.,1= MNK6"N!K&*-=;@;^%C[BLCK')F#IJL=?%> [3GF\/FFR;P]>7CCM8V#H9FT[: M9(<9T!D:FY<*8JA=UZQNK#X>T]G02/G+;;J+8#NEZ&#*]N5"\- M!*%+DED@.%9O+F5..XHN"#97"X-9239"5P<1-\$<81BWUQXKFPK%$3H^N9 UUEJV/M2.A9%@2(L02C&)MOT2<:. SC:$ MN?;^Q^U1[JR)AJ4F;F)9\GX3-!VY@L?@Q.VNF34JWD.L76P?WZ(*U@>10P 3 MK "R[C-$9S1(G5@63)4<6R?3'(''TY6.MY%FZ^I;/^$()^'L1N&GY;Z3T&GR MW&H_*R1@C(Q?5TH %IDS*GC#\HU]I?]]?Q_QC[N071^-T.\L6GKW M+Y=;W[BLLG"[J@?; %*WI61;R^Q&%5HTOKC$D#P#JV3A/B=DGKCH18HYZ+NK MT#8 =_ "MM):H[#:ND@VFM)D1'LF(N3(F4>74:6-NA'V<;O\EX,7L+WW&O9E M?OF;\=G9J_&D_B/R5A)9G-E"2H)V,<$R>-JZ0%HER%NQEK'6393Z'>$1>I5M MF=_?/?Z]"71,)7 W'^WBOOI QI YYPCM=#'@@PN /#GK& T\/)Q:%S<& M]X F20\L[7]"[4"Q0YRPM2J/HUP(&'.]]9QIG,H+B#X[T*GD('C XEI[CT\U ME4YZ)NU!L&,J6[QM*1WCE!5%Y-IEVM&"D1R-TT40*A7D(BGR8Q_,1'JP]9=. M:2+M0; .0LS=C7-9#^%Z62H5E$I8P$A%-C'8]_=&M[3 M=#K(=-J/9@TK*_=OS.KL9"K>0[)&@)*T_?IH-#@AD649F RMSPD/Y"\=I1;N MK>!Z??)(AMDEGL$9ID 5S\ 7I4 CDK&4Z(]Y.';$3B)X0.OC@PD3=4;!!^7[ M;BZ. 6;AC4D,>$P15. >HK(2G:_ M(+C+!9.IR98U95=$!J[$ EFJI,E;;CG,Q=.D-V,B,#!J=*VHCOFSYXL=%G"ZUTKKQ[%[]-ZP4,7&)$+FJ!5,86:A..[ * MA489K+Y9L/VI7TJ/W-I+7ZU[PS9HN6&9\"IR!\5I-J_M XYY 60G1A>]L4JU M;\]S0NU2>B%= ]TU;/HZA_\2]^^Y$9BTVD,FSX/V^&3 B1!HCP_6)\,9Y>> MG7G7K^8ZZ"/:73<61D*S B,PE()LB%S 1:W!<64B6FZ";QV/>VK2TRIUY#AH MT;HU:"\]6EC12C&'@)I;UN;IL>F_85/3 MRY)MFW5\F=\S3EI"3KE.0YT@)F1D_7A4A:&@J=AX=3[A%CW[++4=**QE"].M M=H3[.[8X;10+R8*W*&OIW-H:0T:(,B:A?"J2MZY%]8A;]'1N K15>//VIRV; MNEANG8A)0[2"D2RY@&#H*X$8>?0REILKYE.+GNZW[SZTV45SU':UQI3PGOM( M!G4*-,$833!OR-Y(0CC-7,PBM%Y1'V.+GKT2\0^B[$.WZ+DT<+XI(NQ=T"*1 M'%VJ!?&,Y>3ZR41_:>&\EEK$U@EW)U:N?BL.W%FN?AM=/)1RWYN,Z:E<_5;E MZK>B21]UOW?1\4/A+S=:AVJ.5/L$E KU8C8+(#%KH>C_S&9MD$Z2MUN5JS\Z MVFZCV@[H>G?M:I]09$0/RFE!X$AD7N<,TNE2@K YF-8%6QY#L?&M=+Y5L?%M M%';XXI.7Y0BOU;_NM=3DM@ Z+BRYESQNE)%TP1?!&1=*9%5R\)ZEPGD6*))/ M(M]31G);* NP=?HO4I>\M\Z_;R^Z-^ !G:UU/J ME2?'5A0)2(L*;9XQ@Y?*@U4\IJPP\ZN.M(>6\>,I&KD-\P]<-'(; CWHHI%" ML<"S+K4(-.G$1P..J0R63,PB&**,#_#6PB,I&KD52P]6-'(;BCW@J_<#3@:M ML"% +)RT$3V-.*$ABSD6CR6F\("N\#VRHI''.9/V(-@#OO8^,"IPX8N#+#&! MR@;!>UD/NY)&BU&C;]T3MJ^Q/4VD@TRD/0CV$*^<7QNJPR1$D E84@X4TS6! M(5@H)EB>4U%!/!S[[O$5C3S.Z;0?S1[F!?"E,5N$MNAL[8A66_%(E<"Y6""& M8GC)VEKS5#3R6 HKH/56. XIIP"JZ 2>:0_(L4AE)5/-^]@>F0@>T/KX8,)$ MG5'P0?F^6Q3&T)8YD] #,ZQ O:D&#C$##3XE3SL9PP?8P>>IL$U;\A_A1-Z* MN0]J]FY;<,]:%97U'C1&0X+@]5:(91"B=$JGH(UZ.#OI4]'(DYC'77+X 4?/ M[A>$$4KI6NU>9J9)$#Y"K*N:54S%J$5$]7!BD2AQDSW, H$3D&S3PD M820H*S3$; PDBUA%$#'G!S.#NR\:V?XZ2A;>Y: M1,$=J$PS*IK"(/GB/)>< ME?;!B4=X_VROF-Y!E'V<]\^8L.3".%H@)*T2RH<(/ED)P0E?--*B;UNO%R=V M_VPK#MQY_VP;73R4^SN;C.GI_ME6]\^VHDD?%WEVT?%#X6]D607OR(CD=6PF M%8BTY8#3(G"TLF3>>[K#T?!VJ_MG1T?;;53; 5VO72^90Y\N+S(%LET$XQFX M91$4C[4!;500,6EC:;/!R!HS;@V4(W2*.]?SN+V2CNBVV485OY85F.BK<5E9 M/J3[2VEMZBH M=87E]6HL5QXB:AFS4):F:/&@E";G$*4$\@Q=,4+;5%J?2C0>0D^U[YC6'HU& M"(+\:<7)E0FN>M:&"2,,4U(V=P&/M/;=(3FX8R&\;;37Q<6R2S^ZC>R6/K6T MP2>M@!4:CPH\00P!0?I<@]%1Y.9SMY.!]!50.R;>'IX1QQ)I^WE$%@2^G=$D MKH_[93G.N3>$EF8J5YQ\H%H'D*8IN& =6(WHO2\JR=9ERNZ <_@HW,&X,NY& M9QTXC&N@+;V<3]$X8Z+++F%E#R"0E; 1Q/! MH<]!Q^ 4;VWN'8 @]X2F#L./;43? 2_J$OFZ_#0>+XO3+V,9&'2*RB4POM3* M.9:!9]$!=R@#LX5EW3KI8S62_NW]ANH:-Y=U!];Z&YPB/?##LU%^B9_Q;/RI M#GOI2BPA:F6-XAA FY)!R:3)H<@%M/6*(;IL5&A?^>H^6*?$C=9::+A4S L+ MO\4S^OG[GW"$DW!&*)_ECR3NZ6Q"$OB,ER'0*)%'#Z70N%6J+5HUTR R65Q! M,BO*C9(X:PI ;_2Z4]!_1\)=FUO<.K[\!C^=$VW)*O]],GX_"1_W#02O?6"; MB.UF>&^$5IGU)N?L4#NEE" =9)93QN",8:CXX.Y'[QD#G6=$O3@+T^GK\JZV M4CJ??)V_\,HWUR9KCYX(D2V9)XZ\FQ"< QVE3[F$=*NAROYQS?MA[1U'6BG5 M9^>S#^/)59UR/@C1&)%*!(^,UY(5O/;#"X"F:*^Y+TXT3Z_:#-H!HI6-V7(K MDM.!3KH(02Y@9J1U.K^>O AG9YA?GD]HE5V$!A8G=P.O(F1>4R-KTR6/ M/ ,9]9'6;TQ%MSY8W1#:R5*GJ4ZZ2!FY#^8BJ;9(6U*T D21KA:[=^"+-B - M9F,U)]N]>5+M1L@>(7&VUT@7=Z]6KHQOL(J0D%XMD5>?N5@L+9=><6MK/RQ: M+'G1X RSP%B(B@=6&':T"NV ]F3YU;7F.K@BM$HFBWBW%K%H+2T8J0HHE0)$ M+'?.DC;2/Y21JOMO>MN1JM%.[J))#!28)3:SF M-9&^GIT89;7@'G7I),%Q)9I#G4,UTO:JK,7]I=Y5JNQM'W81VM@$6Y8@J94.-Z+&'@KHFR2,YH-9='VJE2P\E^"-%C#/Y U6(EKUX,EQSR'2(;BQ MC=Q;QX5O8?JU1K%)3^RB!T,6RB!*\OP] Y5+AI@R RM=]D8DR=UF/0'O>].! M,I.;*&76X)@(F2PL!I@RV5=)13*(;8' K/-6B1*YV4_=XI&H M>Q>)KIW=#(I>P?X[T-VLR=(Y"+H8K6-7-'B[(VQAFPX MF;EE(:G!BN>U2,*@![X@DYX\2QREK]=7UV^Y4V8X>)-Y_2RUV2,SX_/I@.3D].&]D*G' M65L Q4R^;+.\;%\KR W+!!(T-YE69&4A>,> &VTC8:-=J(&8$Z! M0@=13&>9N, MEXV G0*3NM-$!V']-2!??*C7#W\>O<2"DPEF^L"SZ11GTWH6<9F8_&>])#@P MLM2^8QK\_&*@=0B1A0"&$WB%Z)5I'4[;'_4C(%I7.NP@T+]F!//B.,_R?Y]/ M9XO)PHKW3!0&V05',)F"$**E/;S$)+CUN7E[F VA/0(^[:6-#HI/;;)9K[M( MEG ZI7_P[)IMN %Z5EX %LJ@U7R(Z$Z'P"KLE"")I&%D0S M@_].**= L@,HY3:E3!]+X+/9*\PU\;;F]9[3\[Y^\^$!YR9E&WD5G :E/!F@ M3C%@G-&_"S;FYG>A&\ ^!0X>2HNWB6CW6MM^&89(.&=?7XTG?Y U.9F1/ G8 M[^/I*7"F:ZW< M)I#?:\T@2%\Q3*9C,MIF8_P2/@Y'\X4NTL(VP\DHG+W!SS@ZO[@>/=!:YEPR M!]I9)6&T"*Y(3AZK"SI9IT.X]UAFMU>? C]Z$/J*8.9^8?)+*?QXA?2?%?\? M(WK\M1_./=,?25*S(4X'/,D07(S 1:Y]U(C@GKD,2IB84A#22K81479[_\FP MI0?QKZ!,NP#X-6DL$MM4#D%$%!!X*K7>=SW$MAF"]\)*88,HJ8<3R%Z31GN( M$NTEYV-)%[TO9UGM143&U6%#.((GR]E$@VEG"23"X?2721*\&[HLPW M2 Z5)MI(R^NXL[NTNSPZNT2US'[9!%>GA49N8SIDC9']]'8O%?80>I^D"%Q( MA2F G-]7)@<;0C(>F+26H"O-L;-\EE[(L%$]D7ZXL(VL.^ ^5(X?#]Z4:/( MDZ_+Q#4N.>D8>4#4,=C/2MY_U*(">B^/V%W,NB7XLK MS]NF]#*QUN1(T]%-#;HG&90$_O5\J!L8(6-"L1ZBT[$)DI@RY$7;HI M0=7"MB7$OJ&,P+7;5X:W"8RT5T$DIES##ZP6Q:J57$L0R MA6\X"DN M,9\9!O(:@QK<^>0#-2N].B^1.L8DI &KG2#O!A4$8PR0FZ,+P]J)M;7OOS_J MO7MJD(N7AV?G-4/I+:;SR?R<;Y$7A_D53=N*['RV7"Q_#)-:5J:FR,V!+9,O MG41F94TN3U'6VPTD.JLL&)^U-3D'(5H?OC4!?H0=H=KR]%83CM[5W6F/CGU[ M788B7%0A BU<]3JZ#^"DE;4N"DH?C%/-TR,?8W/;?1A[&&4?R\GUGO/U^=?5 M#YB[Y8%Q%77-9Q92U\,JV$]"Z=\Y:JNWFQ=QF@B]FR8FL\DPU+\3FNM M.Q(*JRG7/F#FLLC#2>X1[QXU6/V#A/? MB^U&=)BFEU<:!7*>5=+"<6:=RCFQ%!1+DO!DGAHMZ2BN@T)L]BZX2?>T'M=:WFITE]%/V96U]A M%FBY&W_Z@-.!XHIY&1FD6//M(KFW+F&$8K3))1JK\V8W9]:^HO]%HJV"O[D@ MTT:0'9@+/X^FYY.Z2&T&0KA14B%L^;,6@WE\,<);15_DU\-%-!% MB?[;L);>WB; NFKBL [4@3HXM%#=_7380^Z]$@.U8=G3VIH2IU766G+>?0HT M*5P];18J8?/&#?T2XKZN#;WR81MQ=\^#B[ -+S%SF\E6,C34P!1X62RD3%83 M"Q*UE-URX&!U_=LHZF[U[R#EM7YOP^#8/)1[GF;S9GHO/H3)>YPN[>FOP]$W MOZT=JB>?]PFA[?ZRO0-MC<9Y(QR'4:L4;"S96<5]=)BXL3GPQ+@T*@YV?VV# MXY#+]XZGLV>CO'S!E6W-1.#*9 XLRU0SBC+X0HL;^E@$CRZP:!K/^$UP-3D* MNB'5-^.SLU?C2*LN?-MAWX;4_Y+7 MG!\KCX@:*:&KX\(;\ :)AQ),MJ!1*U!<,HAH)8U7!!6=+8>7M;P'3LIA]V\B M^T2ROWGZW$P@/=3TW.EL&4/3P4D6$X(7N=3K#(YFLT= IKUQQ6>FFGN.F\/K M*Y;=N4G5E4J.)9Y]AP#GL9@LR7F6(=3ZX;5])FT:7K ,F&NG C*N!FALB6,9M-@'64:![+:C#!+J;JG#\#\6(+L7? A]H>3B\*\ MR_8G%ZF+0?F$CB7(IB8Q2T5VF[((T89<%!U2073&%5KEB56MCLV]2W&-M]LV);23>Q=W7E";GF"\ZS0POK\;8F/__ M\JYEMXT8!M[[+P(DZGWI*<<<\@<%14I @* Y%.CWEW*- -W$Z*Y76COMQ09\ M$$;DK$5),]QDJT B%P47VUY5!UE!LXM,&&7JHYEP"9^HGP)=;F;")5H0N*L) J(51E8D7R7IX ,[J,^!#(OUY#[(_^[ N##NI, M_S6P)E4/%R#=P6'5=4G[&PUV1'Q*\]./X7EHX P;Y0L(\U-HLK7*265GHLU6 M)TQ3?,M'$6'+X=14'FP)],@>E=T<]U#IM%!)*N"\9&EKB3V#(N^"E$/-JU); M48@8?=$LM=+"@G;!7OA^[!O?$5\;\]=Q 3M"3KD0?>[I3WEIJ-U2R%48%T)' M9@Z>V1"9[!*GG##HD@T66871IZ7:=51#RC]'?7R[1VW8.-:,2I]\7AQ!96Y: M$5$N2>BE]63!^N,HN6)OO/SZ_=1(X>'YYS-+V-^:NPCC7^2+OSFR:(KO#B@7 M^S-35.%FE'46$#)$#J-[0Z[!=7.M]G6,>'\:.3@%,_HU+D3JO]U+E%P QU(2 M]^US?ZU(KJA5U,E:BQ5;FNW;.+2+XHSD[P[LO>@G+GE8J&3-K9&LD5Z("UKF MDA#ZBZ]-<(F\Y0/,/3?==.Y.\4KGWY90'VKP6@/L_W;^;4K=:J?7-7$_E!CH MLW7$457J !TD55P,_4VG & 2>ZT_-R&N=/[-X<.6^??ID2MKYY_Y1\$?]^N474$L#!!0 M ( "XXI%9%G/GONOD %)2"@ 5 8V=N>"TR,#(S,#0P,E]L86(N>&UL MY+UK<]PXEC;X?7X%MF9BWNH(H8L$P0MZ+F_(MESM6)?EL5W=;T?%1@:N$J=3 MF6HRT[;FUR_ 2R:55X )4JS=#^6RI21QSH/$@P.PNR'__V?__1/__Y_0?A_7GUZ#]XL^?I!+E;@ M=2'I2@KP+5_=@[\*6?X=J&+Y /ZZ+/Z>?Z40_F?UT.OEXU.1W]VO I0M/O; MXD]9@ (EF8 <(PEQ1"+(%,T@QF$@>$AE&)"KNS\I$>. <0Q1@/7'4IE!)C,* M)1<9IP%624:JE\[SQ=__9/Y@M)1 *[Y;']V7TAU^+7SHGCV5B,E,5*&B9'RGX\-]M,%XGN2=[4O MJP?A*G4_^)+Q%*8?O(G[1?.#'%[@SC 7BUQ_H6X68JSO[F:HBT4?7F)?7XOE MBLY'^%ILA^F(/#<_>*__U@QC7G2"3*MQ&NKNB"J_K^1"R)HMG[T:Y.(_?M!_ MFZU+>$?IX^R:\V*ML M9K_+?EK0!UD^TN8!+:XQ#&H-_K,1%,COCW)1RO+??]JJ= F@\_%@FH^#4$?( M*]"(>12M)7\FS]R8"LMB%XDEMT=BNP9+K40%@Z(EJ_1H7O*3L<]^DO-5V?X$ MFI]4"_'\.#_M3?=UT6I!"WYF)II/_,27VDIZ7,%GDV*L2D=U5TO';TH-M!;C M![ LA"RT)7Q I.[7EKLVS55ZNU^"2_RL5:OGJZ+@KSD>/!'?9MQW'G]KR;L4'C?Q7@#V!C@I78*N$VT[O.C%V^_^ M< ],'2Y(@]^^4#:7P.@!*D4\,,N%$'HR)UQ'']7(Z G-KNG1]S7]&/"3+*5^ MZ/YZ(=[H >?+1S/.36V>SU+-=304$B8ICB%6DD(B:0AE0+@(&8XB'+OPW1%#2B M^F,G*T0\<='IL49E'BNU=WG&[J%^K&*NL<5Z+F_5S6*5KY[^F@OY;J&6Q4-U MA=U0VUNMR,UWO907=/YZ7:Z6#WI5OWKZ6"S%FJ]*+=AG67S-N2RW&WT0QQF/ M)8:42 DQ#@C,2!#!.)8T4FF HU"Z,-)@DDZ/S2I-:I=+JPO8*&/LB5:=:IVV M"KG1VG 3;T>)DYC.P>FTWTP.:A<.#KPGUAY.SE$9?W"X=W>+X0?LN=/ M9A&)!60R4!!3FD":) &4*%$!%A1%F=,Q?P@AI[:_5)("(ZKC[=Z@,VFY:[SP M_ SM4G"8&G?B'Q [7YP_A(CCTOV (.\Q_9!C#43RQR2Z^<=:[U7O%N6JJ&*0 MRMO5O2R^W-/%[:-Y1?EAN?@J2Q/ZL*Y<"TD4"!PE(>1AJH\7,D'ZH$%3XYV- M0H45DDC,'G="3R[G%U_RNY#.KA;#\<]&2$!+L%3@E;S+%PMS=Z+_4<="@!_S M!2@-!N4?/&\;WKX;$J=1'$D"$Q90B!$ED D60,K3)&98AAFGS7>C#>WX/7\S M#D?"#/F]T"/^OKX1GJR+EYCCH5V=1B%8:02Z6G=]%N:@VOUA>X7;RFY;WYS[#_ M5RV*9HQ/FCJ*G&M+U?SB>B&>_Z#SR9F,8A30D$ ,$9D&0J11S MFF G^W( &:=&W+6*ABTT1\C\;@%DHRPHM+:@_GL)-$-PK4GEW:W^(K'S)UXO%ZM\ ML387J;>/LJAHX?C\.V\4 \Z0I[UC" E'W4X&A'AWAQERJ,N"[]\M^/)!?J'? M.]DV'^1JAF/." \RB(@4>@.A"M*$4!B3+"$"IP&B:9]@^R/C36TSV(1\YY6\ M8$6_NT9CG4/8CJD]XC8PZVX@JT4%6M;G>71:7/^A\&=P\1SZ?FRT%PEU/Z/Z ML=#V0LY@F6-$%A MX,(C1\:9&G]TQ*S=+([D<0Q..]+P -+ 9+&/#_BM%M+C8?L,#)ZXX=@HHW+" M&55WN>#9&@.T4H+'6DSG9/M#4-HM_\L!&GCU;[!I)!PFQ_X$!OX2[ \- M,G9V_0E%#Z36G_KT!1%B[+QKENVZ9AL'[,UW6?"\- +]59KB4U)#_6=/Y%%@_A#$7:@, 'J3%61X4K?>X!3Y(6KEZ*%_@F6#HVICV_0_M"+H\(VL3\//N:M%B !@RP M00-TX &#\^A02\SESZ#A$;68/QPH9>9HH.!0R\D2K_]5)_0"ZFE>2/K_[]; M-!5QOIA;J&;KGD5!%(="<,@$TB=K'B%($(L@T6=J&:DTS$CHL@-:C3JU/:LM MV-3_FLX.;+M-QCN$ V\+K;S@QU;B/YB-OP6UDKJUT?W1MQ-*G@C7;LQ1*=() MAEU2S87EE^4U_\&6&,AZK*-7L0VBL[6^J_Q8)!EF&"*5, M(9,*WJU?>/[2ZL1P5FOF;%E&KQ=8^D7W&O@J=C[O&]5S$F++N[Y+81OIPJ\1 M$ZR6H!'4*AC*_=+/ @]?-W^GAAKW^L]"Z;T[0)MG+HEHR;_*C:_!.#R?A]!< MK]Y*_48Z-U&/:SVG3\\^/$M9S! WGH(D%=J\"3!D21K!*)%1' 1I1!5RCV"Y M2*:I&3\;*8W=4P6I](D_N6R:7.)-1@-_E/@2K4W7U5E%F#S7Z K0%6B4 MO) MVGGHRN1<<:^7GQ[A]AHL1 7D.7F^9CF<'ZEVE/Z*7UJ..W8A3#<72[K_9Z^E6YV:U1\6*[DH08A 4H9#4RU&YDFVIYB##(:I3!-919E<VQJ1=\5]'ALW(7 6][>#0'GT#Z8II3-,%4:7 'Q M5M#&=MR1B]HXPK%?V,;U!2_CU_A+50;L>B%,(P9>];(T/[I=KTQ'8--D^;JQ M%>6[Q4J?4LN<_X7.U]ILBTG*4IY!'-, 8IQ12+@^-F)% XR1U*='/*;_H[F MWNE"@)O.E^@OU9>H@\H5V. "-L" "IGI>&LNGMR)>'7ZZ_&[\OYA'53X.YG:QWO3C?/Z>U[.",9<*(PA2IC>/RD/(8E0!C.<)CPE*A R MLVW)>G24J>UM7?G ;T9"AYZLQ[$\O;EX0VA@XGOS=H[5O M/:M>MYGK^0_WSF"I@Y4.'4HESK*,A2D,HA1!G$49I%DD88@IB8.,2)HZW0:< M&FQJ2WX;^]VR>JH26>B\O:^!8Z;)R0%[!)$,'3^RGJM\/F]K.G]KY 9+-L_OSA2>ZX.X'9MX0'&T@M@+ M89HPU0>_E5P(M_*!1X JT.56F#F1[EO29H&*%FZ\4E=.#C9ND8J7X M7IJ*W5.^,FW;5-Z_YJO[MHG>QHW>PYEX[;B@V]:_DVG MT8[S=LC,7"OL!LO1/3WZ"V?K6D%S/F_7[C4C^T/>TKRH+GNNRW+]T(85U_=$ M;_*ON=![:)7^):D,2*R-L]@4]<,T"2&+< B#)"&)XABK<)R\#UN)IT:AFXMH MT0@)GG(Y%R,Y,JSG>6"'Q1"S-WW'A-&Z=BN CMY76^=$JWJ5)S@!UX/K-+VT MB\%:WM^'*\$5?F\N ^>!?5X$-/_,9?E.CR[%3.$(A50;X3'G"<2)%)#%&8%$ MI"I6#-,PBV=?9<&6UD5EK09V(9_N\,-QD);[:UY6_G%S5OVV$1CDE<1 U#D2 MJWL)ZKZ2/NX)]B;DDON"2T">V+W!QGXW<['5"]2*#7V!< S(02\2]@:=P(7" M,2#L+A:./NU&:;Q)0IJ]OGXS4SR4*8TE5-BTS(HU=65ARF$2")4F(8F5L(KI M[KYT:G;L:[J@@EZ!-RZ!.,]0.LTB?74?F"-LU;9>Y(?T/+"$2\G_>+?\^E/[ M\7H)M__:+M]GKQME<1Y2H%UZ!W_7,[%B6[R^*6*[:>NH$H7#D @88A1"S$QS M.JX8C,-()*F(3=%IIQ2*HT--;A'6XH'Y5N(_.29/'(?5;I?W ]; J_996XH6 MM"&Z8IY'PU>"P_&!QDUE.*OP7M+"^2<OF:3U5K,L !JO?=8\^- MLP>?D7JS'Y_[W(71/\]K&KVN"AZ\6[2-:/0'KLM2KDISM5!?1>TC8YOE0"TU:)GS%'_B;1VVHTX/0/3M'UYN%H_,X.;YEGFL[6.8*,DV&AY M!:X?3/^& 0*@+D;>=YA4?X%>)ICJ8@"/AEQ=_N:^]['-$%7^UD=:W!95P*BH M[H(_RJ*Z+9YQGJ$PS0(88"X@IJF"C&,%>4P9"Q1)4>+D [0;=FI\O)$:E%62 MYR,M*@*6X,=M?I*YA:T+NQTO0W/)5-C>Q/H&>&!&W6);27P%M,PF%:R6NG&A M:;EK9YO/FU87H+S=M%H-.O)-JPL0^S>M3D_WC'58LU+^8ZW/%S=?]1]?]%O> M+$U_AEF*912@S-0/#C)M2R(.J4@3*,* 8)9E*2;"*4;AV$A3HZ2MH*"2%!A1 MP6^UL([E>X[#:QD:X .TH1T^_?!R][^?P\*7W_SH../ZN\^IN^>G/OO R.%0 M=<[ZNX4I3U:%G=ZN[F7Q11MB33+=A^6B3E#>Z1#SL_$EO=%4M_&@?]*&P-ME M8=XZXRKC228D%$F00ARF(614&TY!B"1B) I2XE3K9V+Z38T.6]EAVZNJDAX8 M\3NA."-%7@WTE;(DXVE)/:4MX/*HKJ8R20I1EE<2@5#J55=9B3HTQMNZU)STCKX*$Z"J&%\\X' M, -O+T9$$]_;" DJ*<]W/G? R<&=YP.OD7QZ/7%S<_.=P^.DK^_HP^,Y_,[) M_\SK=_;#?4LKU]' Y6M:WL\TV\4J"P(8]2# M?S:(U;=U_)KOK5&X5)O,#L=0VAGV[LB,50JYD>L*&,E\UCP^H+"W L?= M=X]?JDZI089$4B1#*:I$!!+O?I9)#E4E(8\H6$<"B=OD#?)IF8?;4]V M5V C?15KWI4?_%8)[WA;ZV\Z[7CG129I8,[R-#_.E.8=2T]TZ$^N4:G4.YR[ M-.Q_@)%RXNZMLB[Q<6&N#0^%%8Q; /6R MK\S =]5C?Q&F?S.]N7ON8-)60VU1,=^J&I<#]](M-J "9P*WT#[G^*7OG+WH M\ONX8?8Y;;[KHOH1JF? 75/5Z%9MSW;+AX?EH@J%,+>2MUUY%]U^TA> MT@O/;BHL[WR] SST9; O;-UOBYV@\G6-;#?HN/?+3D#L73R[/=V/KFYHL<@7 M=V4;'OPFGZ^U;3%#%,DT$)J5$JY-GRBCV@AB$D9)DI! FN9Y3MG=1\:9'"'5 M8H$?UZ7HG45P#%,[HO& U,#,TDJXS06X HV4_DCD# R>6./8**/2Q!E5=WGA MW,04R$@@PG&%),DL!8-0&.W.I"V0[M ML@3&J0SU+_'\TA72J0_0U6\[,A*OAX@_=\4R73N_, MSVOVWY*O3,KM+[34NP'X(%=5G\W.M<,58%(M"PENE2JEQPQ.5QB]FS5GAGTA MP\8.C..FC>7S_3CMFO-J97Z27.I7L[G4WYBF_,4LBU+%"0LA$Y)#K$SFDLPD M5$0E,E-44*%<+)Q3@TW-S&EE-7S5"'NUS5ZO*JOQ0HI\!>::X&1%;?\27@5! M6%UD_TL:!>8&VWQ;JQ_HOZ K_;+RL4[)GA^OENP^478TYPO^@:EM@_RG+O+* ML-GU,_Q?U_@;6W]3/,.57LZ"/$U-CL M1L__\B'GX%Z*NVKU&$<#X*TNCD$]?:;%,GYG8+"'#M6IQ0>M_)N:^>6S'N>= M7)JM&AX#=RX T5>,3A\1Q@W'N0"DO@A_"THZN+D1H M8#9R!<>9:$ZH[XE'#HTP*DV<4'&7!4Y]=*IMQ$^'TLD8)QBE,(UE##'!!!(J M,H@3AA,E4B98-*U>XK^G6+I.$^C]3N++;A/HEX^ON_"+9$>FOY^OQ\"\_3*M MQG\W079^YGDB4787*O.["K/S,W'C]Q\?,-!N M>9F308?=/JRKM1"J(!1$4!BD'$,L3'$Z@F.8Q0%-,(]")>-9W;OG\XH6JW%, M_CTY75;J?J?3X)"'$BB($M-$ )*$TAC22$-$<(D"+$( M2#.?-PO+?M43F,U6UO]?S>4XYZ>+9N=W="1Z-L&UIM,YW!R=A(F<5_;E^UT= M08["Z_M4<7R@GAN^";RO.X&]J7KIU3E E751_>ZV[898'T[$C$!UIDE=)7N]$.9J MK:Z8K1]SY7SGZ;'D]"%!'YJS*S!KX4$M_2:CLSFHU!]I=-A<.'F,D>V-GR^Z M=1Y_7#KM"\\>7?9^D1L="IG/OA34T.KGIP>VG,]"$D@D"(*1B$.("0M@ELA, M$YY(>9*E*LJL;DGVWCPU^FJ$ [5T=O2T#]=IVKD(A('IQ%)_:XHXJNN)+H?Z MF7K5Z[]L%_O^FT99Q$<5:!?G\0_TLT$^29-DPU?U M>3TQ1>SVB&.%(Q3%.I M+8T@%I &D?Y;%DHB(X2#S*GDQI%QIK8@GXD)C)P]2]H?P]7.1/" UL KMP]0 MSCO]&1@\[>?'1AEUUSZCZN[>?.[C ]U EF=.2%7U6[L"+91C3E$<0\7#1._Q MFENHTBR#,Q+0D D!%EGQII59*/5+3'XS? TPW8R\SK!.[&2MO+L1J! M:1;?\3][8UVJ>91\6M=M_J?$^2)N !%>QB=W4M#]6O&S@ JJJ#[TB@1%I@H/ MAPR''$9I$,F D8 0.F9XGJ/\4]L9-UU9:,-S=T9D*$SS"V6UGPXS-;Z=6WW%Z+>O?I"K MN@.MR?2$1,S=19+9:KNC<;M=[]G:G/6DS MQL NJTHZMPUF!S*E:,(Q@4HE^OB<<@8SEA*8"*X$03Q"TJD2>G_(QO+R70R9 MW8[9&XB!]S.#0=/RNREC=;U:%3E;KZJ RM72]*WUFBU]$ E/.\+S=X_*UP?5 MVF73PQ_J&0^<+_*5?)]_E>+=8J7G--<3UM3S?E@6J_Q_*JHVHP M5:9N<'^US8SHZM46'3 Z :.48]SQ!3-IQSXCS<_ 7#7LU+@'-E\.JJ_ YPLD M&3.J^Z)5@X,,"I;'%=P MEP1.?/+"9*MM%8:R;64[RV(<9K%*H0E:,(WA0IBE.(!2"I5E09S2T*HUILU@ MDS./#M4C*6WZ_+KC;&G;>$)O:..E-W#],ZY.(.([Y>K04"^3> MZ6D<2&V"R-M':3HQ+.[>2UK*\HO\OGHU-Y7Z48H3)AF&856Q7*@8TB"AD&5" MX"!B.%-.]?).#SE?K%\M5R(SZ;E6M.5KW*TJ?'&1EA@I'4DD-.XVO&'-[0& MIH_G0(&MI /D=UMAXHDZ3H\U*G-8J;U+''8/N?$&;TK)S:[G\Z:LG'YE$Q>< M()ZJU)1XBTD&,<"F8;W-9R^^=[S6+&)2 MINZ7<_U\>?./=;YZVIR?58+C.$(!5!R;!O8B@X2G&50H8$P0(9ER\O+8#CPU M0GC_[OK5N_?OOKR[^0RN/[P!G_]\_>GFS[?OW]Q\^ORO_YRA,/TWEY:G)\+Y*M,;O.-=<-9UPRI!![G4<$7'_QWHZ6%?ZF;4"HP3]Z5VSWMW M4;_?= Q#D1"4)PS2.(I-E$X&620#&"B98,U3*I5.5R$V@TZ-H=[D91UT82() M/YD8J?(*O#$U@):/4H ODM\OEO/EW=/FEZ_7Y6KY((MMV6B@9Q)\DO.Z\^=] M_FCJ5ZSN]4=V7:7Z%^:S)M]//M#B[ZXUO6UF]6*_=*^Y>DD'=#E0 S@7C(;W M)[]_F>9O+B X>(CWG^W;[XFMML>YZZ\TGYOPJ;?+XC/58]5^:!-"66X:<2@: MJ1!S!+619ES%,H94Q#$,-1?2"(7Z9.;D1'(786HDN)$1<"UD57:C<2OG"U/J MMLK@<.W^Y#PO=L0U+-H#TY@1OG,GI'>#5GZHE@4T&ER![6P8)09P7_>'T%LW M*&@_0Y1O=]T00FB3_)1?V/O36#X7J&/F>8^08GB,$EH"'%,,YBE MC$ F8I*$812J6/3H"WYV8*ME.'YK\*W(N^6&>A07.@F\';_YP7',XD$=80]6 M$/)<*,@&&Y^%@4Z.-WXA(!OU#Q;^L7IP@&;AKY[^+,6='J][0GKU5$=C?U[I M=6X^_MY,OO[EJZ=#+_N4EW__8HASEJ2)8"*)(,E,NSNJ-'&9S,HD4FG$L @2 MX=0X:CS1IV;T6376KB3WV:_<[[?!UF2/KU^6Z8/@O08;=?]"CZ= MUNV#3(A3^_=A)+C *=&TS_GZ83TW!]FJP?JOBT+2N3GN5]17]??^0K_/5)1F64)"&(;&I UC MKHU;Q*$BA D:JHPDK,>!W(MP$SVTUPWKUQN9F_[.CMV:O'7N--QE3NLC< MJ@7J&=LJUG2$;KK<:^4\-H7VB;6O[M%>9!JWS;1/&/?Z47M]N==J[97)4QZN M!QX*PEE"*,0LTE3-90))0C,89EE,&1E#RP&R\$:UG*P[W M>7 P&?UC^_LK=]3JUZEX-'CU=@N4ARW??DJ *=1OMP#(LH"[S9L<(YOO%M]G MV\;8R^)7K6FQTJ=V3;L?EV5>C3+#<9*R)$*0TU!SHJ $$LDS&)$XX7&8)*&P M"G.T&VYJ9^.-P$#O1]H8;40&*_H=/+9"6\8^V^%]FO;\HS@PQ6T!U,*"C;3& M&@0?!P%0+'EU9U0QZ8A /AOWA;^15Z"J3O!'#V'G3CC5;&^>J2@\P &JH\OM MWC).G+F31IN(<[>G^EFK54#A;A15DT(E(XH#S"F4/$00(Q1#1F@, Q;(A&$: M\=3I?O+$6%,CX0_+!>3&/%I)0.\**7O$*IV"UL[2] 38P'Q[)"9U@,PT"SP\ M&7^G1AK5RK-0>=>&F1D2-=*#NHUT= MX^MVI\OJ8J]7UU.?]7\0/@_M(= PZ)]OMH!W " M5&^U_D^-T3>66\FBD.)3?4JZ%J*Y.TT#2;,XS6"6A)K&<9Q")K2M&$J%:48S M&:616^3UX8&F1LFUG'3>.3H"EL_G>G&;J]5[N4F6>VRR'A:R.6?RY=VB4LHU M@/K(%-BQKP]@!V;25D30R*B)L9729S#R:1R\A0X?&6;D0-_3RNZ'Y9[Y?$_# MD=]+L9[+6[73<.3#VEQKW:K:5UG9J)V:C($@:1*;^-HTT!9B&$ 2AQ%,>41P M(C,42Z>DCEY23(UW7M,Y7]=1T89--IVOV@9%G_N$6O2:'DNC;VC0A[;N&OF[ M8&^Z0=4ZF%_56C1'73!(3E_/YVV5A'II1%BK*"8%9FB80QT$"6<0C*#.!,J&2 M*.+)*.?P7N)/C9X;'OBQL@&7ZY(N1/F'D4[F_>9_X+/[X+,Z_=-]4X2K@T%3 M!VBE4=B&XVV N#JPKQAP0(..SSWE1:;UI2\/^@G_^[A>N&ABO%U 7"9%SWTS MU\=JE7.J9>!\N:ZNOC\NY[DI]+@U6[-8X!A',4P)0A"36$(:!C$D"H>)3#(6 M)K'3?F*HK9*@"V&H!6!QBC79\5!"$F42 MQC()&8IHG B_QKU7\:=&FIV,EA$:B?O])G@R\U]L?B=@YI<7)-8<:"7>?@I4 M6(QHTP\RAV/9]'Z%GY9-/\C$.-OTPTAQ8=NW=XO']:I\;RKPADT,-@DI84JE MD 5) +7Q'L L-OW?),$J0 RCT"F Y,184]N(_FN]U'C_ZS]KG?^M@KFL_Z[I MYII7Q7U^H<7?31"W"15Y)_0,:KMFWD9V_UCI!D+'BZE3DV&WO7B">."]8-L9 M[@K4@EZ!!K$!@N(M,/'=&^[ 2"_3&NZXRD<[PYUXI&>;EI]??9QAJC(64 (1 M4H&I>2X@2U()@XR$B90Q2;%T:LNB7SHUTOC55%T6X/_6IQJQ?+C2I]*U=<^F M9V"=7NM](1AX43MJ[]YDI:.NCZ8JYG7C-E'I*+#7-*7[NWX[N8E8_Y;/YS.1 M($Q"%$*B8M,!B>L-7*(4I@E389JA0&]D+MMV^^*I+;=6+K<]=@-3BBD7H2*0 M9J9;5"@XS,Q=9:KT 5[0#(E$S.K0HL\K6JR& VMWD.$@>T7U/[D$M#3WDF\D MK_@=1.$5T L$]402L2Q $BD8DTA +#2/13X'J$(PZHF@G7'7!Y.!2?_L&G2VUG:5]&2:;5X[JAVVJ\RNT;7W M^[X5=9J*C;57R!P[EPMST+S^GI>S,-)VE\HH)(G$^O 6)GIY<@J#-!8R# 41 MC+A543PQVM0VB<8UO!42_&;$=,PM.@VPYC87:^Z5G;![J1QM?"KHHE5Z$FSQ';;O?JK?Y0F]O.9UWO,M?] CEX5\U MG2(9(:F@*($XDK$V E@*:20$Y$A1FD51I%*G-KT^A9L:*6TD?1:RXM:VK*7H]#F<93Q!01RE4(9<4S)+.:2)/N8RHC#/L&2Q6\\&FT&G1K6-A$!^ M-YX8UV ;*YCM2-,W> .382LN^+$5^ ^@.G7\>S]^M0_NS?G8URQ**$1(*JB2(3:U_!&F* TA1*M(@2HV_ M<90H^3."3HW@FOAEVLI9.23OC*1@O1#R4!Y[%3Q?5XP=*W+^W.Q;'J$G,*<# M\ZZ':/B]V/;K9]^-2N,)!+A;SLE+A[*?$W-: 2X7@NTM/-UVO'Z;T'M9EE*^ MK[>ZDA=Y16YUL1^!(DID;)PY.#)UUE*8J03!#!&% JI$%EHYFBW&FMI64(MJ M0BFTL*:;]D;P!N8/S6*J$4$E8R@%=*.%8XA>)H)/. RM+_#"1+K!7]&\1,1+/K)>GWK MOVR7];'WC;*4SRC3+M]S'^L9HGJ\FWW3R+FR2F[J&YZ_25J\U5^.61*0*$E9 M!%6*M"&@!(99G*002T0R&H?ZUTYI:/W$F!H!Z.]3ZAB4V@]^.P-A>%"'=QIH M!6"EP5Z)9Y.H\"AYE9/0T>8*&$6 T<1CE.M%2/H*@.TGQ+BQL1]G; MW(T8TY1S_O%^N6@J9,Q(A@/.-,^)&&L+)LXR2*)00$DBE092I'%FE8%VZ.53 M8Z]*/E )V%QSV-LN>\"=-UPN@6/H,XL]$DXFRS&5>]DK>R\;S5@YID;74CGZ M&8\N.9/D6GZ27.9?ZS;J)(HD#D,H(D;U8L4,TH F>NTR%,51I)!,>_2BG\XCZ\=$=@6A(']WND"_O MHSL"@I6/[MBS/;J'M4'=)IZ[21U3(:%"Q54%#E. *J.0L3B (::81(+&&;&J M('KD_5,S$C9A[?8A[<>0.TT;'O 8F"&>07$^M7I=A,U+S+KNOBUMS MKN.*G^S&=>"Q\=IO'9?Y6;^M$Q_KVS/GX6&YJ+HHOLF_YD(N1/E1%I7G2 \V MU_\3,R581I00,(VBI(EA3[3QE)"$JB!B(L-.T:4V@TZ.UUI!*__]7G$,1U>^ M%>QV9I-O, SD6^N/N9Y@O3$OMVT6F>7>2E M_E6W0>P'N;I5IEE]EJH@3A,)0YFE$(=(0HH0-5XF'HJ,Q#%Q:O SE*!3HSPM M%UAO>]??F:::/\ZU/G\ >@5O8IZ@6A:PI'.ICS^FZ%T59[NI![\ZT>1^W*^! M'9U.87('IN#;U^\,Q[(5V$I^M8U3JN;3M*>_ ENE0:,U^+GZ%AC%_W %6-64 M'ER+_U[7\WX%J-)?3=,CR7-?Q0&GQ&=3QB'$'+^CXX!@'VP'.>1X%U;F>?7T MBZ3ENJ@"KMX6\A]K4S&@RCR4)! (1Q+BC(3Z9*__1F*408J3+! BYK%R"G:R M&'-J6T1'3K 1M%>2IPW@EEY-OS .3,:]$.Q?A><\)KZK\9P8\66J\IR'X&AU M'HM'>]J^^B!)34'.*NIJTU7[@U:M;K,S8X'B$M$8*IP);<1&3),-0Y!$3+&( M1A'.G,CF[(A3HYJJYW73S3=;;'S986?'&]>@LE5_SS*R?K"ORW1S6GL]IV69JUR*5T^FJ69! M^6I-Y[_0E3&TGM[0E=SICI-%DI 4,Q@:!RKF@D$J6 89R@*D.!5".)6UN$28 MJ3'5C5*R+5-8RPR,T'6]FKU3%NBH[NI[O6 ";7VRXTS+X+[:C1I@JX?)Y.EH M\GRV!NUUY -6;_[="T09V>][.6C[_F /[^Q'OW6H[E]SH0^\F@L>*D=;TYCN MK5;^YKOFJ@6=OUZ7*WT>+M[G"_EN)1_*61Q10KF(85)5/AM/]&0_UOGCPZF; MX?.@VI% 7Z@&7OA=L?PM]$/*>EK,9<(#)$(814A!'/,$9OH0 %&6*,*#0*7*:1V?&&MJR[H6%6QD!:VP MO1STIT"VO4SV MW@=\4]4>N3S7,.#W])/$='&CMWYYS*!U)VSC[2=[\O\J_4 M.&HVSK77)JY;KTTZ_V2:?GU9?C*QK?G#:UK>WRI5RM5,8!FE,HUA%H04:GI! M^F^)@CPF/(I5PH5D/9((>PECM6S&SRK\N5B6): /=2+K L _, MIS:(:Y)D$GRDN=BB/VB$P 60>JU@YR;!"U2VZP71X8IW_5[5CRUWFLK6-3#> MY/.UN>2NRG;>KE?EBBY,Z/LVOV*&.1-QS"5,8X8AQD$(LSB4,,X"AM(DP)B' M+HS94XZIL68==*#OF' '^@=ESK^_W7@'D MC@8FX;/2[:J3,^2/-"]$TQ-Q]I5B5/*\$*I= KWT=6XD6A:KVV5F)U9 Z_*3VV.K,F- M!C^:/.DJ0[K*B=;[8-XWP/L4YG;VQ:4XCM3'=)M3;'#[W.!F$QCOWN'T/"*^ MFIZ>&&GH!B:)%J7&/U=) M>05>^\Y6.PN%W\B; ^.\1.C-<76/Q-Z<>,#=EO]8+,6:K[:=_63;$A,)B@D7 M"61(11!'5$&"!(-A&,L0IXG"L57IEI.C3(T/&D&KJ)M&4L?VI*=!/7\0\ +5 MP'S0"R6G(\)9%"XX+QQ_]VB'A[/J=4\2YS_LJVZO,346>E),<\7 _:B-7EML/-0 MB_< )H,5X>V.]<+5=P^H?;[L[J&'_):-VV1:JV5A3N*=JD&;^\>V6-!'TRM@ MN;A>K8J5HV?YD586=((YP3BDFG2D"2!$&22FAGC*8RHC&7/]D]EJN:)S M._(96%XG8V8C]7!+TA21X_@RL%6[V?EXC[450*U\E>@41]T]3=?EAJ!X>O)>9ZJ@V]9OY%UC6J29&55)F46IP'F01##$+'8),L12!"* M((IQ$F=A&'#F5 W*782ID5452JWFRV]E71 C;T4'="/[G]PHJL>\V#'6L&@/ M3&#&@*S ;L4W59U^-!H XX;=* &V6H#?6CT\LEI_$#V17 \!1N6\_@#M4N % M;[J@VLB:KZHRPX: BZ]RIDC$@SB1D"2"0JQ,\;LTCB#E(:<,8ZE4-'NL:A)_ M7M%B96V7[0WELMIV!QQNX;VB^I]< KH"3&KS:V$6F4D>KB3H46AD#V!E&D)C M"CE' <2Q*3&8!B'DDDHN,0YQ&C8 WRPLXTK\P-L.-PJX4AMF/F&UMF(O FIX MLW4K'FCD\URK,!R[+,] T$6J[P-UMZ>NV^^\_E: MD[HI'F4.[.NZ =6MNJ&%89A-TY'K*KMPEBC&A4P)5+$(M>49G4JV9QS@9GT#[BJGQ(M.X\3<^8=R+ MU?'Z\IXT;_)OONAGJT(1)(K2,. Q#&BL;;HT)I#B((,DU29S2%,>B]2)KKMO MGQSM&N& D:Y7P8WGR%G27U\\AJ8Q:RCB0RKX(Y=F[QR6&0VKM+?"#'[JT M&L:[A3'V*D_L]4+\68J[9X?J-WG)YTO3!6-SSQ3B,!6,4ABA#.NSL,A,30P$ MJ0@CGB0X3=V\$Q?(,C42Z%1KZ.A27;9]'.Y(9:78&IJ0A M)^:"(AF](?5>*L-=DAKN:#.<"4151O3$ M9S'$0A^:291)B ,4\TA)'J9.GIJQ!)\:K5?2Z>-7[[SRT6;/I6USG M?6/L:?.TR8PF]J@[TMB3L;M]C3Z^VUY7-;#O+6,CR5]DJ6EWTY!OA@6.LT Q M2!C)(,XB#AD.%919+"-, D9#:K.?#2'Z-0^DW+H*6;5U/'N%-/G)D?9^=QC,\55(:-G"]7<_F\6\Q\O-RJ& MG(3:<# C5-9 H,\;E44PR)BC[/I#HM7N[(..T>^D^E%_H3_HKWB32QJ0B&:I MWG_3@#.(E;IA>P)HZ'OPYWAL5[4%@ <6-FEY'^\6W[]23]=+VK]E^U:/O7.41:TA5+M MJK;YZ*5.N^NRE*MMD>=;-L_O*D/!5'I>K8M%ITXZX@))FD@HTSB&&,484HD) M9&&"8KUE2XGP127L'82Q6@&_[Q+V+E/CZH'SC?3HOK=*@5[EZ[>ZUC7LC;95 M*L!54\,>7)M2;.4*[ XWA-^NQT1X]]BYR/!"OKH>,!WWTO5Y63^>;1M":^IY MR!?5&$U2($F1XA'6EA/6A(HY36%&$@[3,"89#PFB:3#[*@NVM*71HV.Y+.#N MB,.MXU94T)%5K]'2-87_.+QV?.@%LH$Y[R!6_K,KST+AB76.CS,JLYQ5=Y<] MSC_0CR$V]RN_2&H" RH_RN:'?\XU017\_JDY^1,413)D'$:):7S!:0*)#!2, M&3$E4X-4,*<6[DZC3^U@MKVG!AM)JSB<#]=_Z7G1XC8;=B0S&,8#$\]E\#H3 M4"^8/)&2V]BC$E4O6';)J]]+^A%:$_3T1I;YW:+33S%51-$PA DSO=4)PY#) MQ!@]F> DR9*,.T5P'QYF:A351@1VQ.P5TWT$5#L"NARJ@9FF!TK.]'(:!$\\ M#P"@0RR"5R!'BBZX#%"W, %K?$XZ_L^_ M93Q7OK5&SYSS]D]=$!C.SCO_V1'G?Z?MSDZ/GD_2&(GZY^V)>$WGYE",9C'A M,DX9A534E2TXI#'.(*9$(6W_)2%V:IG] CI,;;-XU@,K7X G20O'.[*7^";8 MV:43G]^!MS$/8>2;0/%G7Y.]SFH;-$ 'CNHZT7- ^=SM2R, MI#.9A(S+-(,)$?J4D\H,4E-F1&4J2".!]"''J@5%;PFFMI>UPH*MM%=@HQ70 M4H/7A13Y"IAJP. WHPIX6^OBF@+O/%MV.]:@'92_'O_:*>?BS-NBOY/O]J2NII;K[+]>LK1WMY_6!*(/]/Q?%-P=&: MIO7;;]7;O.1T_C=MV,XBG"4I,[X1T^3AJ$I08+[GCJXN#Q-FZ0 ;=Q*&=HM5VL!*';#5IPU(,EKPROKNJ'8% MGLU9K1A=T'DY E4O$=('AKKA2(A3ZA]/.+QU$/NR2$WBU6^>GJ; MSYN&[;,T9B@+< H3A#5[($8@%?KH*[ ^]R8R8'&&;+-"=E\^-;*HY0-&0%!+ M:)\'L@?<:2:X%(ZA'7'V2#BE?!Q3N5>NQ][+1DOR.*9&-[OCZ&?Z[?'OI;8H MY.VC+*B)@7]O>J:]SRG+YWJ4YAZM?+.6UTJO%&-3O-7<,&,B"812$JJ4$(A5 M'$ BD3Z%!3&-E>*(,:?0G%Y23&V9?[F7A:1&0K>=O]\4V%D$@P,[,&'4\AN_ M1:,!J%2X ALEKDQ*!I/@(\W%%:C@KXY)P&CBSXBX"$A/QD4_&48U.BZ":=<8 MN>QE/7L\'AZM;7*.HR@(!-><%R0FGTU22,V-/8IB' 4T(K%=,JO=<%-CN.TJ MG%>]3^>-O,Z=8L^@;,=M_K ;F,1.D9?WKO)VJ/CJ&'AZL'$;_EDIOM>OS^ZI MOAV 'R[+$RCRNY]>^U',6Z4&>&:253 (<=A!G&J*"2Q/AXQ'L6Q M9'$J Z>ZB7V$F!KQ&!TZW02N#G1UU3][YIGBM6=JKK5QO8CI,6FV]S/#3L7@ MUS9Z%CYW9F&_^>H)_Z#/"YW^,'J[Y^DAPLC7/_U!VK\5NN!=/:,G.E?;FJ$ MLI&V+M)Y!?[ECT$('FE3\0_\ZS]G* S_#5RO5_?+(O\?*?X$B;MZ,K?_ Q, M5]NI^5Q/327KLP!>C[70K%#Q51OM]&#CUDJS4GRO=IK=4WW=99_OY7QNPEWI MXFE&29P2A#C,LB2$6% !2:2TV9,P*EC*B")6J1*'7S\U0FH<196(H)'1U6GV M##Y;MUE?4,9QG-GAT<-U=DCM"YQGSUXWLOOLD"K[#K2#GQK6A69NJ+]H4.4L MPRG/E#ZNQ,)410M"9!KZ8JA220D->4@X'\)]MI%@:LM=?X6289QF6]#].LQZ M03DQ9UGE)JN4&-]/MH??R#ZR[?B3](_MP=/7-[;_HIXDMUS>T;J%+P&S&O M3/U&C2/^-)ES!3'*.&4LQ0K%;$/V%,SE.4/R1N;P<3\N=YC*, MAMY+M'30B ?>64#CODT<5][71G!@A'&I_KB*>V1^XJ/]Z/J#_-:D[NC-X6.Q M7.B_\KJ(T\?E/.=/]9]?Y/?5*RWTWV=2"11+S>4LB"7$22A@I@B%BB JTX@% M+,EP5JP<%OS?^-!J!2 MP6,D>%_T/%&2\_"C\E5?<';)K/=[O&<1?I"K69@PF0JJ(!.20(R(*2*G&-1? MUX!''/,X<2M_>7*XJ;'8NUW'X!58N%87/P.P"M.0,6W_:SSUQH&J*TF)H)0B M%J%D,J'Q;&7Z@8T.\&;0(4EM!5[3HG@RE.;0 ,L27+M-P1]D V\!)Q,A]7?S M@\^"Z7:H#)^X^&'L$NAVBCND&WZXN*CYKPN6S^=2;-/(RTU$+98I34TSQ9"$ M$ >.#'0J!QQ7N%=?K!XHF?=.7XOQ7HN;]4G:=K"\M6Z,"W0%WHH MTVY!5%7^OY@19PG!&:%Q @/$N#8VL@B2,,)0A"PB(G*TJ1%8)U(&- 6% &]*L#F'[)]"V8ZLD64H?5/M,JZLA#/5M"T?+>_'?SC[4>8RZK>ER:MW)3-6?S<'9<8Y)8+Q%,89BB!F,H19& JH;7.>41$@)M(>W6O=);%:X..W MKNU(^ZQXH;^RDDKE,$BC* @5DRS%+B1V=L2IT58K,.A* MW#1?>=^W\/AYW.VXS"N: [/7I4 ZDY4U.)[HZ?QXHQ*2M?J[%&3_H(]RG\;M M/Q-AC$@@(\B#+(,X0@*2,$"0"8PC%6-%I%6OX>-#3(U6=LIZ7E4IC)<4]*QP MM&.-R] 9F";VC)O7IX"YL%1G5_=!RG-6 [Q@2QA"3(("$ M$@2C.,DB;7]0Q_)0?L6;&J%4+3V^UG6*0@0>*F'U]($[K8US?73/4VG'2R\W M00-SFE41SZU^8*M@;1^U*E8S^\MF9FL]QZKQV1?_4:I_.@LWH;J@?8%UJQC: M>Y2>\5/+!TU!58VNJD=L^:ZJ0C>+$.."5>=))?5Y4F8P8YA!%*DDBM.$AWE&.&0U302D,$IJ9-I@8TI"&$"&% M4B1%&O# .3S,%\;#!W[=U%'$@\%K9S)X &QH=UR]\IM"DK605Z 6TV/ U6D< M?(52'1EEW""ITZKNA3^=^?BE"50?EE4!$=F)H:H&^W61FT""5?XU7SU5:0W; MNA."QS(3)B,^,&T,$E"R'@@PA2I0&9..0@723.UK;*;^[-1IQNV6"D$ M*HU JU+?-*L^LV?'3*/-R<#\U6LZFJ2L82J*>$'6>\96'UE>*(?K MB.9W5= M\M*>'&SH_!4M3>K8@VG(6_G[KXM"?WVKVB>OGK8?:5QGUR;ER<2WKI[>+4P: M6N5/NUW=R^++/5W<5I?=Y5\J1=XM/E:VU$QE*:4D9-K2D_K,(E()211E,!5, MTH3@1/+8B:Y'$GQJS%Y+U]]4'&W"$<)QQHBVZK$,M&FOS(3'4B]_EFBCGXF0 MT1XQR).:]_$CERO=(#/*@2X H(, 8$^@^[D&!5#!< 5J($ '"5!! 58:"]" M<06:+YK^GGWLD7HRVM?,TI"8TK=F))NC^@:\LORFO!KCF^)NI8P\;;X,FK'$ M'M?V&7DR]LRDLDC3)F9; M>)4K86X54RAQBB".TQA2G!&8*BY4RC!#B56/A MDF)J=TXB);HI2@QC!)B*C=@#C/*]3^Q M2%&"!!'M"W,FDJ'=9&&-FU)R$?C]W>T0ZS MW7<^85T<"]> M+2[XIN4%K<##=A5W@FR R2WK1D;0"@F,E/9-A0^">'II^X!FZ'7MAHI3:^%3JO=J+GSPA:.U M%SZE3K?!\,G/]=R9C1GP2>H5^R#%;?&:FDK\;ZJBU;6SK3I)S$*J0DEI!B,4 M<8A%1" QO310I ]N"ID6X58%F]R&G=Q"KS,:"OFHWWA?6>UTU2.GU1)TR]W= M.Y1#$T-ULFDE-BE>M_:#V]-# MY-@>3NWJE+,S/YZE,D*)3&(HD:C.%YJRF,FN12C,PI2DBN)->)N]-\N#:'TB MUT9PAE5C[&9E2N>"^9?/G!WOC341$TJ>/9XQVZW9:7XU5KJL$\RCY,C:232A MQ%@G"-VR8=U>W=. E'/]V[N?Y4(6='Z]$-?B(5_DY:JH>A;!8'*6IB), M%"-0:@ AEG$(291PJ-(L#DDB$L&< JCLAIV< 5E+?07N:KGK8N7TF>A UK*[ M7@_9S8.E3>D=W<$/FPVPC<@5KL^%!HW4'BU*)Y1\691V@XYK43H!L6=1NCW= MCZ8ZI%<%EYH(U4+>ZS?K(=XM^/)!&C+\(%>WZ@O]/@L0CU5$(ICA*(48)Y%I M(QE!F5%-5R@)4YFX\)7C^%,CKJY]L:PBS'E7 3#7LE<=@(U7:T6_NW&7Z^38 MD=B D _,9EVTZWC^9[*#6GCPHQ'_#U5S6P/[EQ.P.W-;3_ \D9SKZ*.R74]H M=FFO[VL%O0!;>MJ=Y%ZC3#]-5_:"/(077[HMP'=#UQQ=Y^ MO%[E[;^V*_S9Z\:INWU @4U=[4._ZV=@W#P\SI=/4G;\ZHV3-F$AQQA)F 2* M0LPCTUI6<9BQ"(<\X"A!3D>?HR--;2FV@CZ+97&S#(ZC:F<#>,%JZ&5[* AH MFS1UU0 W@&?\+#J>MO/CXXRZ<9]5=W>+/O_ I;U;.SEO^N#S9RGN3+?8NHY M+LLW>,27T+U/2L[6KNS!38YQ. M"]..,GU;OO:8'-NKZW$@'_S.^A#:U=5+HPG8J@*VNH#?!@E8](&J]YZS/41Y MH9:T_4$[WK'V@G?V;,6WK&*;7C=V71L;7S6\,H'1E7-R.^R,8I8&S&3S!J;Z M;AH%, L3!A%71'_]XS223H7_'<>?&G_>Z&_-\B'GX%Y/E;RT>;;K9-B1YX 0 M#\R7C>2@%7W35NFJ;;B]C=WOT*7'OGO]H//5=,]Q]'$[[O6#9J_=7L_7N+%= M6:QFO]#O^V^>&D,U MPMD1T3Y.IRGF(NT')H]&+H^GP*/:GEKO^J'.6M?_VJ[S_?>-LH*/JM&NS>,? MZ%WT>?>B=N.9"!.!8E/(/\;2E,O5YS(F:0CU,F1(9AAG5+GDSI\8RVEECA8^ M]-PME%<2.Y?*/0JOG87@";2!%[2E2T?;!JM5D;/UJDKU6BW!1^H[ _SJNN=4/E!A]^PC%]X-)DN]7IRC0]7_LD MV,'A]WU-[UW.E[GF'PKNHVZ"P0;LT8K]P]J8NK?JYV*Y?BQ-<8A\T0KZ_:M/?"-_:.GANQN6)WLQV[YJO':L;OI]JP;N^.C/1A\-YI_&^=? MI6YORF]>*\V27[XM3;/D\I54RT)^T=-0-4\N-Y>.,RQ#Q6BF^1W'$<1);'H< MK^R36U'0#"JVHK;1HX-,%L6N\/+S<' N\A&,: UJPJ> M=C*CZBH1G>*SE7JF 7P]9:#6$%0J-C_:NE5>;D(==J>7F]B1=K'GN6VF\<#7#^A/+A="'-5H MEX!5L^SYMVB_ND54)ONH+XVOV&FXN0F MZ7G(\3;38;!ZMND.-(1[W9,WS4+YHA^=!8E(I FK9E%*(4ZS!!*J$AB$:12+ M@$=I:M4Y9??%4]L66]F $\4Q630YKVJE[R[$6C M52TY)'ZW6LG!W_<,F%SJB5GE_+6YF"N>&F=NS!/!*0U@%B4(8BHRR!"*(8W# M3$9IPD/D=+U]<)3I+<):2.,; M?KU?VR<.X,=QA.N[ODBT$:?)T>PF> X.F3 M0/B*(SPXQK@!@J?4W(O\._EA]VWV9K$R9>^%T-^0LOG?^WPAPQD6,>=9%$.4 M90)BF6!(>4P@X8GI9)5IZ] J"OKD*%-;^[6@H!'QJOT+,,*"VX7#GGPX!F:!WD@Y;>!GD>BUFQ]_ZVA;^UG%NOO\^0_WN?QZ?)SGO#J'?GZ4/%>: M5)KBUI^7\W55HK39MXB@J:21)H H,^4&:6JR&AED6<:"C N9A%;FM^.X4R.' MCN2P;$3?EL(O6^%=;D#LY\#FNFH09(>^BNJ VDJ]*8P/-G*?-R\N0M?E[F@0 ME,>Z%_*%MN,ECS-FIR]P[%\WXN6,LX[/+U[<'^]9IT-O)B(W;_S:N=TQA2ZU M;4ES_>WG%*>)B"$F&8,X$0&DIC%;B"D)8Z*H8S;MN0$G1_,=>9\5##,B@]]J MH2UYR!ITNZ.A3RB'YO7+4'0OIV$)C:_Z&>>&&[=@AJ7R>Q4R;)_K6;ELS4KY MC[7>UFZ^FFLJE( U,%L[XN%<2.P& K[IAAX88MTK8"27W:H*=^FS/ MMJ]-S>;7RX>'O&J:^$D:%LD7=[_H/Q_6#W7<9_W[E0F?1A&.L$ 0"QYJ+N ) M9'$:P#! G"JF9$"=BEX[2S UHKA=K\H570B3V=V6P*[GP+75J_-KPZCS^N/U=^\*SU]VU]XMZVCE] MVW(WW8$ZJ[[M1=:T(KOY+@N>E_)CD7/Y:3F?-PGC,Y7P(!-A! DW'4"0,#XZ MA2#-&$,B"902;M5>1U=A:M2[Z0('VC9PK>2@$MW15AO_*V%I"4YZHH>V,SLI M+%WUNWDL@#V=ZAJWZ1?7 >(*M% <^>Z WZY96>6I^S1I7VPF?1G,XRLPKCG^ M8A.T9^R_G"0]+RGG\^4WJE%^NRS>+-=LI=;S:\[-IEU^DESF7\UYI6T5'.$P M3C(J(8U2"7& D@R'L.8X2#DL?XI=PI3<1I]:OO81GA37 ;P0HI\554/-I=O M_$QS80^387F3.13$0U]K-C*"K9!7X#GDKVO(WU<%F[UW<^X%G*]+3Z>QQ[T! M[0/+WG5HKY=XN1MM_) (2RDCE< DQA3BB"'(*%*0IT&2IH13KMP:-Q\:96J, MM7O[=]&MJ%O?SDOA&?U>U'_OSE,0#',S^B+].T^I>>9NU'-%TOK>/@V5I(F0 M,&!Q '&H] &>ZU-\0M* (!EG*+*J%'[D_5-;XYU*EKU\'[OPV:WO"T 9>&4[ MX'%!F7L:>P!EX*>_CTB=8 M[0A +BGW%P,U5HJ]_1?),9'^) *G$^T>R"U[5CQ#K"H2?]698W9"W#IP9$XHD/$VA MDCB%..$2$ARF,$BQXED2,JKM$<>[C?)-C-"A$T'%0(ETO2"1!:R*+1-O]Y]^=2(HQ+* M?-]#]"/[0YLM8EERX2!ZI\GB4DP&I@57.)PRJH_IW2N1>N]EH^5/'U.CFS9] M]#/]; "]RE?%FIL*2(L[4TSV>B&:E?\^7\AWVN H9T&*9!#%#-(T5A"G@33M M"22DL61(:25)[&0%V PZM>7\3.:Z"+3I6-:(#7XS@H-*C@]4,V-D)OG$= MF!)\0.IL*[A@Y,E:L!IR5'O!!81=B\'IV4NO;9\-UHSRZLF4AKI59NSM):'" M^OO&$@33)#%!)HI AAF#+,6"HB1+PS3I=VUK+- M1GVO<>UGR/4:=Q#<1[S&/0BS"<0V*I@/5(PWSFVN,Y;>;W/M)7BAVUQGB([? MYKJ_JF_X#5MM,YQWJUQV __J\$T3O?E1'_&6XMV"%Y*6\HVL_S]+N*)$I0I2 M&9F+GC"&F0PS2+E0+ B5RD*G"V!_HDV-55]O@X_!HIZ\"39RP)1O M0/=CK;R/<&F$Y?NR3,34)@I!=-,IAI,%D.2R@PF,B0J(A'Y?]E[U^7& M<2Q=]%48,2=FLB*$WKR )##SRWFKSAU9Z8S,K.G3IWXH<+79(TL>47*EY^DW MP(M$61(%0"#-WG'V[*E)VR2PU@?BPP*P+BQ);8HO7@_F"&47]5D\J6/"E26Z MV L:/*INU&K6$R)N@:WIRG0E8H,O,KLO[_/%+^\*S]83VGOW;^WV\4I>KB?4 M/._K>NIA!X_7#^6FT-=X7%&V%(4RS<4W]:/ZZ?>FP%83%:@I_*&HQ=82T[GQKQ[L0/]O('6H'*G&I5:(.(:QOK MPZV%FZCMX/2SRM"0#TPVDT/;PEMW0-1'P:QLCIT3Y\-];93)\6NICH>JHX'9S+]8_[LFR$6]7YO%%)/JOJNG->ZW1 MKB)0ID8X91$!$8\1@*%.+\5B"23)D@@G.<%0",E%\W%]6/+_FS^M5KWQ/BS5X_^-GY3A MM<\$1)V0$>@AIT\-3-!!)JB@"38*FWW&GQT\)_+]5! %&B.36GCCY?H98,Q? M._N/3Y7^.?(!#3"(WC($#2';-0$;/\C/]T7)%JM2&;B[X((P3:C(X@PPFE$ M"4H E8@!Q!$C*(_SB%FY//3T-;4CB28>01=KV@M[9?3&:9#-EB]/T V\JCBC MYAC*T8N'UW".TSV]0DA'K\JGPSKZ7W&CC8JO-.FMQ;WBO>))U'W]OEP+LBC^ M1_"_KA8Z\]FOI%CJRZO;9>>Z:UV4ZD_O*_>%VAQ5,LY#&HE$,*)C0=3&DZ>* M;BB6>JN0)#0-\RBT:4)*P:I;ENU.L>!.J12\T3X$OV@G G)< MV=;9KV"(H3T(')\_;=IUE@Y&ZPUS=H% Y^K<9;Z_S+K"U!?,/_L2V; MA,U*57_D.^ X>"+M(20P'A/CE(C%D5VZ+RP>RUN=?VN&A,I_?ZV(;R@1N M32:495F2XP2(6*T6,&48(!1!@&,IF> 93V*K<($+_4V-]/75>E%;6OK@YL\V M!3-I=M7J+P^:\Y>\^2<0:KOQI*A#;;:K8YY_MV/\2^-AQMX>41[ZAJR15!^5 MU2<@BIAK:0<,57_)6::O.?I$[:QE[4Z[W]A_$PM]%:0] M;,NJ6]K9UY>[Z9!+*&F<*3Z*> :@@ *@%.MR'32+49)D$;*BI^O$F1I[U2>* M]/!$L7/HZ+K'OG+0#!V)1AN*$<]_'4?!W@_)"WB^'):N$V9'9H;A!+:]M%>US /%4,3D (JIH) [$3W:OE_!@K:]4ZW];GNY9 MX&]F,@V#ZL#,T@H]"UIH6[F#CN#=4S=_9I(]8)Y,(HN.1S5_[ %Y:>HXM'!E MQJLO8C.')$:"$0(PTT$T"'% &,,@B1&)8YZ(*(J=(DTP' MX:IU4>(8")'E42:4!8&,RAH=M#JU2:=SCA;E1FTA%\%O"K[MNCV 5,(:'@$? MPM8_!YW!&/I U@T'XREY4N^^Z:A>Z$Q%]=-^&AZV-

;;960<3->SNGNS8(][&-F0/:OBL3U[_E&' M&.WCJH2G$VTTQP0?FM,T'?"W]Z6:RR15/(;2\B38T\/!Q'>ARO?M)YG5$8F*,NU%O]^#))43M@K6)U0/)>M=''S"(D M?/2Q&RE0?+0QM LA]PIW;V"YGY[&"S?WBLQ!$+K?EMWLXK=DH?O[?B^$ZJN^ M\'N_>B#%@!#'RGX.E?V,DBP!44@@)"'.B5U X9E^ID83 M.S$[P=)6!UR7<#7C!P]H#4P.+D!9$\,%&#RQPKE>1J6$"ZJ^Y(-+C[NZ^GU: MJEE&=()P\9YL2%.&4WOZY1CC".1$4K61Y@20G*5 X@1A+J-,61%VGGZG.YH: M'31N:QUA=0H$TKB8&&ZV+J+;SPD^,1N8%%SABVIZR'Z%I>LA^#4:#G[$WL'R[#(O#$?LYS;V=L!]U M,/(!^SD%C\_7SS[I'#E%[N[6XJ[:2^A"!4]BN155"8IYS%B:DI@ FG,$H%1+ M/0IC#%*BIGR>QSB!N65R#G<[C;$8 OM ;F K< M@7.)3[J(B+_HH_-=C1U;=%'I$Y%#E]]QN)_;I2OY\),\J+V(;OWO@JS+WY>J MAM=3!ZE$L@\TJ$'O)=5ZW)[(N5MLRV)"?.GT$V6[N5W5$?Y5R=E4EY]#Z,-@065V[##\5(=VP_ M[H6> =54>5/^$E!13P9>;"KC/% DNA2L&H\_B\U]H/1I4R_H][J3ZGC:_,73 ME=MUL3DV/=ZEVG6Z']RB7=F4FT'0)@#A$@,I0 Q30DB*0)XF*^U(NM,$R(>[E3H[F(Z[G8[7JX MJ;@75-MX30J34LMJ9QD; &YF'WL"<9RUI16V8J%#*&N!@^^]4%K;RN;H>+*8 M#3HZ>M*H*_O-UNR@U9ZBQ..G##IBVQ["]R)N>A3O"\=Q#N2= M(70XF#=!YHKC^=[F1SZD-U'U^*C>Z"W++7D3)3O_WU__/J<9E6$*8Y 1'02& MU4:;Q"@%!)-8")GA.#+*:=1M=&K4\+_)(UD*M6K^72P-]UM=B"[L81T5'W@N M5SK/>C4VWZR<4+%G4K:/US.S_6D_/0^:&V?'<4*!W1;BU-^N#!(_D0TZ5O^/ MX9 !%F48P*B*@)8Z [=,44HD):GE5=C9OJ8V_7:B^LFX?1YCTPLR+\@-?JCD M!II[3/4(";?/]_0Z$=CJWYOG6_DB MJ<6^LF$9S6/((899#!*29MK%!@(BI 2VZH:QD& [95'86"VWFE61?YJ MW3IE8NJR,7OU@DJ_H%*P<3"I50RTCLUO#"HN#C^F-H'>KS>V8X5\'U=I*CNE M@+@>Y(?]()-JD#?WA5J*M0=+0+>;MO:/5$)M[JM?SP*I1_I)*^W+)66@L>B/ M!_?,64QBR7' , MU!8J4_^!$4 HA(#0/ DCFI+<["K:KMNIK:U[(@YVPE;5>[[<_*=;F*@9^F9[ M'O^8#KQ27@.G?3"I%3J^8DO-.ATWU-0*B*/(4[NWA]X\?"R>:GJZNQO&QTVYV;_?Q(842\';.G4W M3'VWVZJNTGLA"U9LYD3R)$]9!DBFKQ0R"0$F(0=9%"4X06D<9U:>'I>[G-I" MTDHWT6=0WOFR5_MUIN5#=BR32Y'?L](<$AEC("!$ID4]'^&IS>""^#P\TN[$Q8ZK!$!^8M'R";4U@3J!Y MXC*[OD>E-2=87C*<6R,.V_?OVI>=K/G7]8IOV:94/WT7ZZ>"B?(W494UE*$D M+.,()$B94E 7W,4XE"#/U1X>0\DBLS(E9MU-CX5RI.WSM9#:[9.-$>K=$E]N M9;S=K[%&!QM=\[?<\_BQU?IQM:X^'UVP1+S3>8G7S^]67,RS" N>T 3D&>8 MTE0H HY3(! +,6-(1&EDF\ZOI[^I,? N35U'YEE021WH7-VUY($6W3[#7Q_N M_7P\ )H#$[(/()UR_QG "8*-#L6ZC4R.*W\3/@JUFP5?5IJEEUL7H@OWE MJ/G D]I,:?M0PXZ6/D(-=7/CAAIV%#@*->S^S>V Z*8LQ:9L$G?N#AL83>*( M8PGBJJ(C31E (:4@RBE-N:20VJ7A/MG+U*9=(UY *F'_W>XPYS2.9HSEI.]S'JF4JOFB_/3OH?=DPW5-O^?R/:)7MS< I3 M[C[;%/$4ISHHD&840!@C0&*6J44V0Y%D @I.;*:_2:=38X-&YF O=.<8LG0^ M]#7"WXPV?*,Z,(M<#ZA]#B(+A'QE(3+I2GBS)U-(YD\D+[,QHPQV1@0G"' RW M,M-#3?D7C8]?M7'. M[QP TA3 B'- 0QF"B!+&.4%"_8_-.F\O MPM1H1(L?R,7JSS+0 ZWSB!V0GN^6AA,.XF-D0PZ(],/THX8,*[%9\'9KQ&%%.09Z%$$"6Y !E<0IRC,,\D\JBQ%:5I4]W,S4" MW)LH"RWF+'AL!+5CQ3.8FK'=]4@-S&)[D#[7('V]!)(U0?5CX(EXSG0R*J'T M*_J2*"X\[>#<^^'A<;%Z%J)Q5ZM2"-&768:^K)9/HE0+4Y50J#S\T^99Z")V MJ[ME\3^"?Q7K8L6ESJ]?_:KRLL0XS07C$I ,R;I*/8I#!A1> D=,BI2;^P>/ M(?'4:.EOHKB[UX8!>5(?P)T('BNA=7$I*G0!RT87"T_940:^G_ F.9Q#G] U MZK8NN<&YY'VS8*=TG?)-NPET4\4IQ0.E>;!77;OX5)]%78EDI_[4O@H+%^RI M?1TC>7%/ZBNQWF#-\6R^;5E@NTK MBN[X!G+@%?M4K9V9WV([-HAXC(Y\W;([-DJ?BGWT7')GUS1Y+#9DH9E*QU3J M$^MWJW+SZWI5EG,,$YPAH1-'H%!Q28( EG$"%"&BA#%,>6;EOM?7V?2XI-R4 M>L4!N:./9B!JV<@19T%E2B>N0- T!\\49? M5^/RAH'21[QA\H[+*8J4NE3MD]@5.OU&-D(;.$M6+(KF])8MMIJ@M*??6FSJ MI,S*&F)J/S%GJ;)1&$] 'B(*(.(YH&D> 98SH9@ERA(S[SP_XDR->W8*5:5_ MU]JI1;3R![Q1("BT!L$;4@9$'Y!H10RM&D^#:'+<,>;0#'V6L1N53GUMK4YP MJ(^^V&H'JU6I3EU?[46U5J,.D\WYPYC#-=;AP@C#9GEFX OE_@.!JWL9<;?O M"Y'#K;RW5MULZWUAF5VFT5NY_V5UXSEG28AIA""@"*J5D+-8;=4Y X0C*<,\ MBPE%\R>QIBM3*]ND6YMYVNU\N&E:&24!>=!1OJ6NS+0_YF\"Z>P,;R/PS0QP MWX .O$[M)6L=+;YOZ3_43-"[F=](J5-(?A&;VC-M7U!CUB9TOY52O>7/7+>! MSY/9;M3EJ.:[#0@OS7BK=Z\^4OQ*UK?KRJV75UTI+JP.'>8P#2-.0P*R&#, M4R8 C24'F0PC(2$A)!%V3&70Z_2(JGO(&#R2IMQ!=;3(5XN%KG>AK/'ZF-'] ME/'L*%@?-OI =M0S1R6P]N&O16[2JRNAZ[/(04X?+T'D_Q#R;(^O=19Y"8*> M(\F+KSHZ:FWNQ5K?K*S%O5B6.S/N1?6^'VH!*[5C^VIYL^353XNZ5A3_Q[:L M$L:IQ>Y6*NOOJ_8M4W_8;-8%W6YTIMX?*R6]WB0)C!*&!0)2Q"& B"" A8R! M)'&4)S%$RD:;;U8;LC"CME&EMSJ_V.DPW'S6CO'L7AL6RHJKL\7J@]2794\W M>W4#LM/7UO=LU,_$C'TG._@#\WBE=W"@>+OI?O-9F?>_S([KK79 J'*W=6 ( M]CC,M,6J=P4*"[5"U&@$73CT%U8#XM$M[S7&T9>WWZBRC^M$^!K# VK^U0Y,1Q$KAS3IHWO4D%S$= MW?78C>[:MM%=1:M!)ZK.2U#=J5$Q6W:&P7K@->-"$-U.^$X0W>"1 MW):3TSX-=3F4K>JI"9E4W<\Y$AEB:@,?BTRJK3QE@(A$ )Q!D68R3I"=W6O> M]=1H_]B?SH[N+4 WH_!AH!R8ELT=J;RY2[GCY8DU+3H>E0GM 7G);@XMN!:H M5-;U5E3UF\I2-:@F_"=]+;3D38V:E%$1,J2VY9E.UYP:/S4"!P<2SX)&9MM:E9?@-J,HKR .S$S]^'FL F0-CK="E9?Z&[E. MI:'ZQV4J35_TD=SEU0-+\.OQVKH:^N7"5X^7\3IR@PO1R@,DN)E MW\LKYG@Y4K4_R6F>-!N)VK/)46QV:Z%-F[43[\W<=O-%DT7ZA;+ M8K7^C2Q)O:F;0Y&CE+,09##$ )(P B3*.4CB/*4L2S1GF(U2_+2K/@8:>:3?S+-6/9SU"CCM#0F[/= MX.SUJ#=GZN>@5:4]%ZM^66L3_#;ZJ-@$)(TT.F/%(NU&R7WN_,57%)(':/L# MD*[I8,38(P\X'(8=^6C0L09&NWI6G3&QUE7A*]>BLDH\4GY1@-277',41PF/ M) =IKO/#,HP R3$&RCC&A"'U*3.K7;=%WU-;V;X)7;ZXGH1%?;:U(3]MK\9M MP&=1GA.4$R IY !"7=T@(03$24*C3 @L86H72S$0_./$5)P;@( MB-HGRJ(* M @M(L-PI$;CM96P&R6Q_,Q#P ]L+.ZDKS'=RJY^+9>=\5^=^VC5L%+$H/UG$U] _PA=;0U_P[ MH+2@P5[2 0YLC3#Q==/>V]>X%^8F:A_=>QN]=)V!JIV:><25#41S$.>Y!#!! M%&!]1HNQR"E*PTQI;.-JWFG;BA-&\"7_H?O8';]:.UUV4;,S2J;EZ_W9 !G M4\*_DW:WY5TF7.]-Z/6NPF$[VC>*:"R5[XZ\YV :Z/]4+VVGZ.%Q/\<3H_V0^#- ]*A M:T=WR!/9FH\%7E0?NOK7K7R9F+E*\_FY6-9YG^:AVJ"&D2;W*)DGKA]KZ0.G-FKV:9GK_.M_J%5K;.N698P]OTE MF"UEKSB^(RY;N^6HFRVJ*<_$JZC]3J;1F2[GM=614"9C:>\*.@SBOOQ%/4LW MKE/I,- >>9X.U,T5VY_[U4*]47[X[ZVN;+OD1ZM:N0]LA)(R@6D.)-159Q-, M ,ZP6BQX+C+)8+NTXN,M]%POUI[M?Q5*LR4+U M<\,?BF6AZ]?J ('V4HP$"#$<@!C* !FL00,4I9RE/,8&D6S^E#0/FT"16R]O"&-P&YA5IH=^'_9O>EFM=XP]2EMJ]1ZYQ)1 M-1\\HYFR2)6EBB73A6T9 SC-$A!R9<.*G-,<&Q6CM.YY:NS=$3PXE:CNR'%>BUX=$:F?PBLB? Z!#VQ MHJ,0HU+D=4"]Y,LK6W,M(])UP[IY(L5"+[0Z>H LQ.]+)4EU\*X-F-;3K!U(LYV&$0Y)J,S$.&8"AX(!* M%@,610SG+)49MJI::M#GU/:Z'4F#G:C!'[6PEA?K)I";T9QG( =F-4<,K6G+ M A5/+&72XZBD9 '!2PZR>=7A:D2G,M;_JZ]@E,V@KUR^WZ_6&[6S>U!&WN?5 M\D[_L\YN7-W(S'$D8A@) J(JUXB@%* (4R"$E$F6)"%CW,3R58R[S@?W,ER6D*HJ1DFQ#A[7!:MJ;ZCYMA:;[7H)-BM05>HHBVO* M29F.F?%!I^^1&'BM,4_RV1QL[K5H'3^]GG+:P.?O6-.HU['/,6V@.'%P:?6Z M&^%]59_2%_5QW?PLRCG","-)E("(Z(IZ.N<>A1("E$4PC0A,D] JOTBW\:E1 MEY8MT,(%?VCQ+'?8!["9$8LK& .SAS$.UE1P2F%/\_V@Z5$G]2FE7L[%&MJA*JW&;26.-#?DN+53JATLQ4<("+P\OB9L>OX MHS(PW9K&_\VJ'6*CULAA?L9XCAG==UFHZ07U&0/I%,MGWKHC49/ULEC>E6WA M^1NJ?:W99HY"D<,PT='<- .4IB MO=759YO#+U'.PTR$/$DB(%DH $3:&F,"@I2%, ZS)$>1526(XRZF1@9?.AM3 M4DM[19+;$Y":,<%U0 W, 8UP!XE/O48MG%'=7WC"RP[&CD,XH^")@(-S3U[I M$%:^%^OBJ8JP*M\2-;K:&A%B\[E)(_#V>?^ KG*EZ>6'ZO/M\U\%OU/D\UZ4 MQ=VR,5C4WE)119B'*.,@#!D%4$(&$,4,<,8CQ 2"B>!.?F3>19T:Y>SS595! M1]=9T&@;5.H&K;XSG?YJ_US0ZAQHI9N"RJY.:_X_"S.ZF\9@#TR;HXZSNV/= M8$/@VQ_/OZ"OX\8W&.!GO?^&Z]$QJ\R6EI43XN:#KBW^>9=6*H$"QQ11D%(" M 8QQ#E#$$" XR5"<8892NTR89SJ:VI*PES.H!+TBT]=9;,V8V0=B0Y^].8%E MG\CE A*^$K:4=BV*S8?]7U7_3-;GO('$-"1$X3@'B2 M DAE!"C/0I K2Y,G3"))K+:EI[N9'"EH*9L,4=>?]Y^!UI 5K@9L:$[0 @95 MK8YBT]3Q"BI_BP\7P++GA5XL?+'"Z4[&Y81>18\8H?_I(7PRFG+,JVUY.IKJ MLRC+'_=D&<6_J2?ORWG((24Q#H&R*;C>LX9 F10QB B6,,IB&DJK_*5^Q9L: M_WS>_W.AI?.@L_= M@?VM?V ]^X*XXC^*DXBU'CI-C1/#5"SMEPM"EZG$5[RKVHTV]BP6_E1?79+5I#%=_6;RI.E MW%UIBY2I>88)2*&0 &J? 9(1!))<,I)('F>Y5:HT+U)-;0)WE:I6X+U:531. M5S'M%[M3+=CKYNR-X&>P-V+=O=;QX M?6>-#\+UW5MQO)EA]X)O%^)6'N[V;Y>=C #5W?"^WD3$4H*QC( ,U2X=II0# MF@H&4)XCFG),P]!HOWZ%#%-;:'Y=Z^.W%\=Q35K2KK^(+CM^?*9GG[SDFN$S MO!H:=E"&OC=JI-$(@PR*$48PAQ+:)0#ZV3K5HPW6EK1 M:Y(M'X)GQDK.D S,-[5\+]K=CV-@V MAOU.S9YI-P554.K.8_5/)7G0BNY\G&DZ%&:,, # W.%)VRMJ<02*4\D8]KK MJ/1C"<5+8K)]W?%Z1ZV&$2J^KBWZ.QOW/L)(\:.+!K.W['B$BV+^8;DI-L\?BX58 MOR,;<;=:/\]E"F,/)?4+S'=4.]64]T]8_]_#[7WB@3^H(R[0R^ M])CK;D59$%NVV:X5%^CT/C=+KGXGUD]UNCQ!8J@SD0&1A#J>)@D!25*HO5XS MF$0!)01 FB:"J+^D<2957;2 MP^:G1A,[Z=RBJ5]@9WAMXHS(T#O"(G])A[5MW!/2O%UO;I;DX>;[>9^M=87EW56^6B.0@I1 M3C(@6*1,_3S" ",*U>8=29G("%JF;C+L=VITL!=0Q\P^K)9!686&;E8!U<42 M6GVX0_2LP2B8+O[>L1W<*M @[D4.&IEG00=PWP4.+&'R&7IKT.OXL;CF4)P, MSK5XW35:MTTB\FFI-RNU>_.2-TE$;G3EC"J4[+WBR,5*%R0K/^_R4T@>1QS' M!&2A) !B(0"-20+B+(T1@5F8BQ1I]@KU#0T>B* M3"+7#:<9$XXV2 /SX\#CXQ!YZP%7;X&VU\@RL M"B14/2G:7ZI_,M%*\.Y>)ZPN/RV[SQ1+5CPN1+EW!,TQS3)($T!1HI@9"@8H MSBE(XHA!BF1J>1KD0ZBI$;32*3A4Q8YLO0R4&>>.#?_ U+N74X?B+3E9\S+X M_9'KJER:?VN%=-FTSI,[E8(_!G'H]8FQ)QKV(M*H;.P3Q)>D[+5M+SM[_KXZ MVO^J5HL5K_(\E_.80!RC7("$Q&I3#[,OY?=3_D#=3NPWH2AYN\-^H"5Y6LEMZ]Q@,@].NWA75U]G0\Z 6 M-ZCEG=6YWCWF@C%'9YA]_*D.7W,+WP/ A=U[WYN.)2+:LI;[0HAJ1A\60SQ= MO.+#3Z;3O.Q*6-0'"?,4L82EF )&L@A GDN :*9XBXLTR9F(11Q9E9;P+.#4 MK,?WXF)QU_),-D#+@A6^1]J,&E]S_ 8F4O.2L/H/C:=>\*91YY>&:/M*"?D^ M5AUJ,'S5Z/ MWKBU/08"]Z@FR%#]7%G,NSE3WCQ7GE%9"@GE2*T#61@"&,,4 M(,XPB),\9$B@-(FM$BZ>[F9J;-XA@IV<3HYG9U UX]SKL1J8.5U@9$62=&J_=W-VMJP- G2EH72S+@M5)3#2?_>N_1%GX'^H#V)9DR4UY M;8P1[R?%B8WCT&>!55G'>@?:5;6[#0W>/@?=YW8[5:UPDW!?X==V0= M C[&%V"1Z&LZ7\)(6<&&4=AKM/J( ].;:FQ@$<;+2S8.E@=)S$;JTO%ZSE6X M#_^]5?NICJ]'%;6K4Z$W8O^JFMB4GY;U"?[?1'%WOQ'\YDFLR9VH_JC]AG?5 MN^8AY[&,402BF$BU<1(1((G(U+]0GDK))$VMHO@FH]G4;)E*PF8GQE>+A4Z+ M^"C6]:[,]EIQ*B";WEY.1=ZI&4;@@F%$GT\?X6ML9D&-SH%38)U@H:JYT2 T M"VJ,]/5/>__:XA0T0-6/5"$;G4R!'N]GIS;^OJZ!)Z/7N+?-DU'[W*7VY 1T M++%<+(N-^%P\Z;K-&R5\01>BSDAV\[!:;YJTX,W%GXX+^JB>G<=A&C*>8@"Q MKK3.!5-K.HE PE.($T%@GEIYN[N),;4%6,U>9%G*V U^LS5Q>% '7L!J!4"E M0;!7(:ATF%6WT6Q31^[LM)G5\8%:$X_5AJ]"TEBDA"9YFF(A09IQM8'!+ ,8(0PHYDFLF"_DB57:Q)Z^IL9M MW53#K;"N29R/@34T\OW -;39?0*ID=(OGX7%>YKEXYY>*9WR697/ITT^_XJ_ MB^/;[:;4[OS%\FZ."8\(8QB(G&MC*0\!H4D&(O7?7,:9B$*KTE,7^IL:Y03[UFL,5 M9CZNUWDFV.5E?%C[@6"0B(0A0 B6 80P!BDD(S@V Z,/'TPVEAW5SU99O?>0Z"\4C7EUVL M98,UVV&]T>+_Q=,-I#5,O9>)YJV-=R]HK>'!%9_]VU=4V'A+V'^II6-7LO@W M\4#%>LX3"46.$< B8@ *A@#A4EF3BMEYBD(9)LS&?.SI:VHD7HD*:ED[!<,= M"G"BJXX&^??R_U"=EMFU9[GY-A3E,$&X7>F]'^X1OE*L(G M])[O+KR(]BJ7'3Y!/7<[XK4/AV/.#^6F>-!) ]1V6XI"]Z0 M4/-HF.OEF1KQ[S0*R'*Y)0M]Q-1H%JRU>YXNWKMME%,&I9F-K*OD;6X&QUW/$:F/'W0[77ID[.H'X.6H5VX2OZETHG7?PJJ+4* M]FJ-.U(6)[7CCMA(1[C[D;.:7"O4-BA]_KO0/ MY=[[/A%I3N-$;:FD2 'D$5>+J8 ZTC1-,QHC&''CQ=2C8%-;52,05XZ'-BNB MSW$R6!I?"?VA3[U;K:KE3^O5/?O6F@5[U8)*MT I5WN)UNH%2K]Z\$Q"$X8= M1XN%\Y7&77? M%*O+W55I+I:*SK4)3,K@7BPXV*S 0PWULUJ^U\%F3:J+V[U,OM;O <:[=R'W MV=]X*_H *!TL[4.T[WAGW"O)_J>FLLN<,<@S1C) ()8 ZI2L:B>L-L><9(1# M*J&TJJ1LV?_45NRVJE!16615*,XL(/791I6DL-QH@OA_XCB<89A4E*!^2&8I M3'6DFYXPU2_5/^*98JGRL4YIMGB>:6-^]6=%*MJT9VO!BTVP6)6E=GQ4C89' M+5C>:5N.?8IWS^)-9T-8'1[\HQZO@/ M.P:&O@;#X3JP)5;96GL!9\%.%: F =#*S()&;(^^"&YX^?)/L.Q]7)\%-VB. M_!@0;/\UX):YUJD93U,UHS#.(HZ5TK/,8OVG%_D6O MTW7$>\>'H;H,J5;NSP6AQ:+A.Z6,U\R/E@#ZRP9IVO'8&2(M 3F1-=*V!8?3 MMU_7RLS[K/[WHU+A'=F0/=Z+4AEAB+"8)B#+" ,PIP3@*$4@2Q(I$8_C M-);&9VEGNYF:G5T)6MF^@1Y4O9G>R6IQR'(>5H.C+R]@#4P^-4Z?=SB]\XV3 MQ=&2%[Q&.BARPLWNY.4B'+WG*.??'N]4Y*(&!V<$,P!1#0"F1.I!:0LYE*H514NUNHU/CO _;]2JH77V#=SH_^;HR M$/2O#:=R%[$+!.>(P\!TY@*!^:P\H7-/C>;V\=K\:7_:FSX'S8TS*4\HL)N" MI_[F&IF\XENV^1O1>6DVSS>,K;=D,=?.D"'+$<"<:J?P7 "49QF@.)4IBI(X M0=G\L2[0LB'KC=F^Z71G-I_DRRZ'^SK?BKMBN=3&?'/X;QMV?!)7GB-,D90@ M)HP#&*,84!1"D,,X$@0)G4&\P?7#DH^+:MOA@#.^CECS":C97O-ZB ;FPK:P M7[5E_/!S(Y;:0[X1.VCE#AK!?09P]P'C+6[[9"EF@$%67Q=E56"SWVB[BR/8D8S0*3 BB!X!G H<@ AY*G(TC -C;PI M;#J=FFVTD[GQ8ZZE#EJQK9,M6PV &:'XAG5X>KD648=Z>.80>:N(9]#ER#7Q MS$$XKHIG\:YK0?ON\?S+8_R;]HI2_?RNNJ#4.[[=9;%(LBR2(: B5*:,Q+DR M%L,0Q#@6H2*J7&2Q73E[9UFF1F WY^]V;2O4NX^/&9&-A/K _&9TL7@X*K4Z MU:G0 '>.'F#U5IS>79*12]-?#=EQ8?KKF[RB]/']:J'>*.M\KG,L<1+'B(), M0F7/99@ $D8(I'%&9$P575*K..OC+JQH<(1XZA^ZCSIK5R/GO_X+BJ/\/P)1 MR>M0QO@04L@4J"E!0#6* $R5L4R90C@/!>(T(UE$(OM3BNN ?8T3BK")(,"5I!"1A%, H3@"*,0=1%D(B.$PA3FU/)WR@.=K)A"\@33<1UT S].EL M)9!:-3>;=4&W54XA[2C[E?A=*<^#X+-,]F$'XY?%/JG@R3+8IY]T->_K7'/? MQ)-8;L7N_[#5W5*[,$9S%O(4818#GD0I@"*) :;J/Y0P%.4PBZ(D='"0N=CQ M1/UB&@FK/;':*:]KN0/>IE0LEL'C6L=>U;QD:\Q?&@U3D]T'N&,9Y@URC92S M]A_!7EZ?5K;OCC$,<,W01:ZEU])L50F'4TE2E) ML:ZAFL:*D'B& 8\X2X1$$4)&H=GV74_M$*'V6E@W$@9W2L0R4+Q4DCK!@[-7 MLL5H^#A#<,5X"D<&K>R!%GZLTX%3@(UR&'#0\83V_J< L=OJGVSAVN3_/6DP MJFP7\Q!SGN", Y9 ;5PA 4B$(. 9S'F2""ZA4[*ARUU/C2\X<+'C5ZH_8 K(^7($QBWX"JAX81 J)LMH M)L-$P8]C[0X4 0(%!1FCC+$P)A19%7.ZV./4"&RWCVFWA-I/@VW+S>I!K-7^ M\%'?RUG:89=A-^,JKV .3%%GXB=>;A.'#)(X \Y@L1$O^WOED(@SZE^.A#CW MHAOG?%-[EW6AH^^K4Z\FV3*,*0\SKDRD,*, $IX"I(O&D2@1$4.29M"*9T[V M,C5NV0M9E^RP8Y'30)HQQ]7P#,P6+Y$9(%%U+P2>..%T'Z/R0*^:+^=^_\/7 M;ILNUL4LSQ7&K WX%*O]$T,(<*BC QB, .5(@@1AB4.!HQ@Y5EB[4K*I\4IW M.U 7\*6]A7[+?:5?>ESI]]J-V;7#;KMO&W$P1]S6F11L+GLK-@^Y]?.$N?>= MX;5RO=+&T1.5OCIPB(']NEXQ(7C9-%I^*LNMOGIOA"J/N]U+I6S3Q5;? MU]%_;*SH*=NDW2V&"G<'_Z@O'&VR)*>0+C/E*, M\ZN/OUV\], #TQMM/53?X\5J#XS>0:3WT'VY;2=[3L1_(_]8K=\M2%E^4?/E M_>I!7V0SS&G,> 0@%1Q 1(1.4AL#A..4I&'&!;2JD&;9_]16_$O%(2H=@DJ) M0&L1_%'K8;G[LQTELSW>@-@/O$C[A]UZL^8(GJE6DNWH056Z.U5H4=\MW3;: 'XJ72UW$3&WQEKSZ:5%O M^/@_MK4GD2+F6_F#_)SG:2181#*0(Z$/XA%2?!E#D&!!<$;5OUEHEPUR&$%M M)O.6M$_0=:!C4*@9OM)*_S()V5%M% M@XZFU75_1]=@KVRU*]([+*6POV5ZV 'QM)H/).2HB_ZP0+^T#0;NS?%J3N_@ M:,\I<',(3%\> N_2E"OK9OM0EROYT.34_R'6#]$\R=,LS[4/MT 8P)0)@&G, M09@B'B*1QYS99;,83-2IK3$?=K4)E'3!FV)9U2,H?[&\?AMN: WOXR8Q8$-? MT!ER22*91[$( 8OS!$ H_L MA-X:PCJE[&JY*9;;ZNJ@RKVM2*BND5,_IZQ>H5A)=:SZ*)9D_?QI(Q[*+TIE M]:927_5T]VFIIJ\H-W,68X2S. 09T75MXJKJMV @XYQPE##.=*HB\]0; \IJ M14XCY/!H-LFT+H-6U#]MR,^J>)9UJ>\A!]F,XR8R= /3Y,'11I/T>J=JL->U M'=?F^4K=67"H7M#JY]4I?^A!\.?./YBD8P<"# WYB1""P;MT6VM4HUR4Q=U2 MYY5H/.:C4)F>(42 Y3H3!D\@H!GE($01Y&D(!4FMCL)/]#$UP_/+:A.\W\FH MZQ7^5?"[>LJK-7UK?XA]"E@S7KX2KH'YU 2I 8(3>D#QQ&^G>AB5EWI4?,DG M?8\Z>*"V$4Z?EMT-\H?:K'F_%3]6W\23]E8Y4ZJYG$O.J:!Q!+(LSP$DD00D MEQB$298QP;.OGH_''8GA3 ML!Z&3\O#P\E&G4#I$_Q8!8U&P;XN_5ZGH%)JU%&RZ!"\NR?K.]M,T$YC869Z#XWPP O<(;C: M4:-1(-AK$.Q5"/[02@25%K[CB!U!]!EF;"O"^%'(CB"=#%)V;_ J*9OPG#*H!?59YN<2&-Y* M_9SM:.1R/Y<4/B[Y<_$--]9H3HK:XR-EP371#H)@2' F 0H54^B4< !'* 2A MR$.&,I[+"-MPQKF.IL88[=%91U#'^)*ST)I1A _ !B8()ZRLZ>$2$)[(X6PW MHU+#)65?$L/%YQTCV%HWFT_+Q^VF_"R>Q")NCLPICF3(( :*'10S4"P!SED& M0I*D.,]$CIBPBE8[W]?4R.&[ KF0!2/+35M5G99B_52EGZ_%#]Y4"@2QI4G1 MA[@987C"<6#.V/L2SAK$9D&#V !W% :8^ H>Z^EIW$"QRRH?!849O&+'(UP4 M\P_+3;%Y_O @UIJA?EVO_MS)TD6\D1($"8T!3 2!!"88$!)(E"6 MI8))8L(A%_J9&G_4H@:MK$$M;-!(:T88EZ#M)PN/@ U,%(Y8&5.$(1(]99E5 M"S4SJ'_L">%2NZ.0@:%R+1&8/GYM=K6WV[)8BK+\M"RW:QVGK[/X/PE=6KO. MHT53+A"1&+!0GU1@# &BD.H$.0G3VY$TEV[ITRYU/36J:.4-=@('>XFO37=V M<1S,+(YAT!V85ZX#]HK\8Z88>4\P=K'C5\H@9@K(^11AQBU<2UPO2BY_+@@M M%HHNJU[V5QHY9 G.0P92#$, .41 IX4%,LH8C0D2'-L%"5@*,#42>W>OXSE* M?3F\JQ)^2Q?%7>UAYTI?AJ-A2V+^,1Z8RKJY%X^JL>_$;S@M&.1FR14][R1G MV/TK49T=..<)S[(=!\>SE\5)]F5+=!&3W\BF+6(B%8%\5)_RWW7D9^TK^[%X M$M6/NPWE/()2D6(F0)2G:J.'A% ;O3 &$J4TEW&44&YDT T@V]3($H(TJ"2T M<&7R/%K]C/G*8S PF>X4TZYE@5:M4X IJ HR[;4+*O4"K5\]9D&M8:!5;'ZS M/^EZO0&U<%1[O8$=R6OML(165:BL[%38XGJ$'_8C3*H1EJK[S7T5WA[0[:8- M29&%;'X["Z0>YR>MM"\7MF&&HM>?S7.7XSFW#8/5@:?;0%U]$YI;R;#,$D011SD M*(L C',*$$ISD,5Y*G!((YY891_T+N'4%NJ]6IT "\4@6K,FJLUU9^-K3&VW M/J\P4@,OYP:#--+&R#.VWG=.ON1[I:V59WC/[[U\=^2K'-IQ8>YOJ\5"K54Z M7\:!%ZB&-@)=4++R(+B(@I/_P/E61_,> MN*A8UW?@\L,.)]&_BJ58DT5%*'6*_J]J<-M:C)#2+,4,P(1@ %&* *)$ )&R MC,",<-LC?A9E M*423R69Y]UE;9KNKPK94RONM^*+VI#_^%(LG\=MJN;DOYUCGPPU)#/("U8+W>.5[?G1HTW MRTW!B\56'^/M[W$^_-2EH 2O4X$]/&[K9?56?B#KI9*N5"9M74KJ^70#-S^+ M=3])\_@E.*YF\5$[5U37Z:NQ?J[$>GUB4=YN-^6&+'45 MU;^)XNY>Y[AY4K+?B;:J5^$ M\\?JW/C[AJPW9L0XDO0V-/!2A^$8H2/\3-^L\M5BH=U.'W4)=*VU0S&>$;Z$ M"/-)GW4*SIMJW.=/!IM/H'#0"[PNE!!8'GXDWCC9G/2DXC2#U^6:?QAN)D MC:<1NW=-(_HDEENA-Y@??JK=T)(LWFW+S>I!;8S>/O\J5G=K\GA?L!OMW_(B MP#"F-$D3%@/$=2:<*$+:MTZ7<<]1S$5$4FAUX'>%+%/;\S6JU-4]6F6"G3:: MP_;Z!)5"MBE'W5K678.,\(6.<(!RE(,MS#" C$A"6AX"$1"*>BH2ST(9%CWJ8&C?6 M M9N*7:D=PR>&95=!(RDII6$&LC!2FZ=$J,U3(E.00!Q*PE$F<69=?=V; M>%-CF4HZP6=-OO)Q3_5>C-PXAW?NX_%/=$97*ZD/;FLU9\$7L='I?/:U4CP$ M*@P[)!,Y@GLAW#_52=MI8'T?J)WIQ=&1KC:"19Q6X5E" M<@ AHH#&E( P%7&(,BY(;,7X]B),C=4_KY9W0'7TH!C@292;ZG;7TMO-?AS, M^'M8= ?FZ"I=S_=.=I?#Y"]:G[J2<"VY1V8^XM MV8>?OE/[%GT8]F[%Q1RR$#$@-7/-M= ,/3!E)GV5N&BIU1UBA ]:&BTH-!3XG?C0$_^ MW35S_ WG:CC+KZMR0Q;_7_%8?4U9PAA#2( P1TQ?N64 (4I!#/,8Y2P1C!M= MN?5W,[6)V.1";T2=!;6P@9+6WZNU@_%4Q4D1=Q(F J,Z+F?)@"&"<$X(1+ MD*D/(B,P2EEH=+1\KH.I3?DVGZ\N&=F(:14-K=CH*N?]I/[;+.C3.M+2K43^N)S;B<%+T,U]GX844YC$G$,$LG4G.8H M!8BC"+!<9)+D6QY7LPV^%[2&7LT;&?7Q M: W20!5R+X+A:7M^OI]1=^$7U7VYV;[\@G,ZN]6#V.7.^ZP':E\ID>4H3622 M TYU/069QX#$(0,,98A@062>6I6#Z>UM:B11"QOLI U:<1WK4?9#;<89W@ < MF#>NP,XER]QE3/SEE.OI:^P,2&_V-;G[+/\P@Q$2MJ29FFEIAH+UZH:V(G*22<1CA"Q@FD;'N?&M6T M;AJBD318JP$*ZG_;E".P'H5^UAD95G_.T26[GBUYOLRKK1\1)@N>I[D!3+N9%K$XK6\;0Z\V62YRP6 M. %9F,7*YL0Y0"D-09(102(!,QH:1>_W]#$U^G^9)K,)'K\BE>@>SLO'RAY M&IK'[?&Y(HGH$0(>4HCNVWRE!*)'2IU/'WK\J/T1\G=QIQO MWW;P6!TF7U3_BA/E\VV/=JQ\4;WNV?+EA_TEZ/DAU@^W\MUJN5D3MIEG*2(, MQHG>[64 0HX @9("%N4Q03'+);\ZL>5AEU.C "V==BQEC7S7)^1Y ;'9 9)? MX ;FA;-)=UHPWUT"TTN2G=/X#)A6YT6'KYY(YS0 )JESSKQI><#4;#_F?_W] MXSRBB.$P18HZ.%';@Y0 G.<"4+53PVFJ_<",'%"ZC4Z-*_ZZ7=Z1]7.U72Z, M#R2Z*%TXUW'4?>#I;JJV^3G "3U[C/GV\7K:MC_MI^Q!<^-L[$\HL-NOG_J; MO:7^6[$L'K8/3= ;RKG$&83:,5QGAU)V.B($ I:$ M(P$UEBY")^U/+4IE@C MG+D-?HC39;O;6?N!)UDCE\<8P+/:7F%:'[8WFCE]4HVN"7WZ 3>S^>MZI=;* MS;-..[^Y67)=K>=1&^A?Q&;.A$PQA1@(-?^4P4P$P&'.0!;3.(D99 *E-@9S M7V=3FYNMK+.JT,%F5GD:B5;@6; 4EM9S+])F=K,O_ :>W7OH*D$KY#[LD?O2 M@YRUJ6P"B2K4W.U$G@=$/+>I>( M"!*42P8@"=5_8AD#HKXJ$$5$JC^%61A9I4RR%6!J7+/S!".-)QBKTV'HB5/_ M$VCF>2(+??Y_V['1-;C9<9.0X["P(QUE!BO%E[O[FOQ#_/HO=<9 MIM73?[2J>'0D<471$\E9=S\J\;F"\Y(,G=NY(FG"-_&H/M=[HC/6Z;//A_8N M L:,I@D%E BJKQHIP#A)%"-&$@F>HA0;%3$SZ6QJQ%<[<^Z%#1II'9W;>G$V M(S%?Z U,6.[ N>4+N("(S^C_F3D?F7WG$DD%W]Z=/A_YWZ8>4- MVQ1/Q>;Y1;I#GD"4QC$&89;J^)DX!I@HDT,BR6'&0\20D:N;/Y$F1T;;AP>R M?JX6_6ZQP%9Z2RZZ?L@,&6O4@1B#UUZF2]GGMFB3ILQV@S)HFDI_T/HBR.L% M&I=&O0%X1+;^6G9,?59Q)JW,TB[ZG1K*UZ*"2/=@+']32 MZXQ)E?Q!I8!3Y2^;@3%CV('@'IA*O2)MGXO/'C-?*?HL>AXWG3I-.I$9J6*^"MM%7)C>;TKCJG"]YL2[XOQ/&+>K[WZ6H_ MC3O*^9JFNLEQIV%'B:-IUOV;XYE2&W]Y*W5K'Q>K/\O.#5U*8"@E2..8 9BP M"" F!(BSB,4\1)G(K6[H^CJ;VK3;QPMKYTZ]QE3BFMSVV -M>,;C";ZA3V_< MD;,_FS& Q->I2U]7XYZG&"A]=%)B\HYC4I?_WA:;YVK+<2M_Z"HAV_5SM?9_ M+I;BD^JVG$>)($1$$ BN=@80$0R()!!PD5$F)8YE:'6]9=#GU BE%GG6[+35 MU&C%;NM=:,F#2G1+:C$9 #.&\0SKP$3C!5'[]##F&/E*%&/0X[@I8\PA.$H> M8_&J8S;JZB!DM[1**4C,8 Y"!A7ST @#I+8%( LE$I1F,DDBJTS3!\U/C61N MOG__\..[9=KH0\#,F,(=AH%)H3G8',+8.*VSKV3-AXV/FXCYI&)'299//^4V M2W]=K?B?Q6)QLSPZPWQ?E&RQ4KP@=M]D) E)@'Y&7W#XZ+7&].A3YA\#^=( M_D->Q\&[,Y$?Z5[)L\@KM.?=C/QV:+$NU0JFN?B7%\O.J+-\* MJ9[Y07[.[FJW\B2C@*8) GF6LYC*7')JE375HN^IK0%MOKQ]L,@!E5#P3KT*9Q!:"6[I<3Z?0Z2LP"6HFO:W_Z+_1I 9KG M^I\F/;]*65 +2,Y5"[5IPHW';C?W8EWWLZG-[K8*..F( TS+43\0\D91%QZ.2ECT@+TG,H04W4FLSG->5,-2&JC:F=":@ M)(.1T#><(4Z)59SN^:ZF9O#L$O47==V6#?EI2TL] MN)K1D!^T!J:='5!-@1LE9K,?\IQ2RPB\IP^"-:_(95_E+ MWXN2K8LJEO7SSJTOIAAF(N(@2S1/I$D(*&(Y(((S$H81IAFQ3V9\MK^ID46; ME;?)Q=L1^0IWRDN8FW&(1R0')I)K071,;'P1&J]9C<_W]@HIC2^J?CJ?\>77 MW*,\BZJ&2GFSY#I#LK)RA+)U1,<1HE.JDZ(LU%%6D60Z;UNHCV=Y!+(,13FA M-.+4+NC*JONI45!'^LI%Z$!^^SA/BW$PXZ'AT!V8EGJ!/?"[&N36W@TWC]&@ M%IV/'A=J#\RI"%&'5EPW6D]BL7H4_(=@]\O58G7W_$VG?FM/0VD**9(\ S3A MN=IM$0)PQ!*0\!#E*2)Q2*V\J2[T-T$*>UP(G'D#;O#= M5R-IL!C!FI?KPC,WO-C5"^B0U1QA=O2R$W'WD> M*J8(L00BQQ& -(D SB4% N. )G ';H!\$3*9SI9%0NZ%?T)05<>/I:1^X/:M%*S?EWIQ/4 2IX@\0)E@'VPNAC!"BR(,B M3'C$\BS/YT]B35?V3MV>9;697UV)AYMF78_@5MF@T;9.% -HE4ZPJ_ LV*NL M7]PK'=1:!Y7:KK[>OC\0,T:'L??>Z 1\.[Y[5O.5_(!'PCN\][@0W7H&/C,V%I4/3ZLUIOB?YH^]79: M?_-ZG_UU+1Z*[4/Y:?DDZJK)Y5Q0@05)): ARP#,DPQ@F6: 1Y3FL9!)RO%\ M*>Z(VB":K3MN@ACQ"Z[YI2O.<#33%5^O#[Q50 U+\-AH$*B_%7LM+$.OW8;, M;"48=%7XI0K[V8V%IOA6CUGPR6 H[ ._KT+25X"XFQ#C!I)? M!=11P/EUK3G>N!:$%HO*O4.U7V6FN%\MU/MEG;IBSJ!,TPQ)0'*! $0Y R01 M&: \"7.(,Q%*9.-?=JG#J7F5_=!]!(N]U-4,K/):-G+_6U4ARS95^D7@#>]= M/<(Y],7K"PP_]*-F?\]J"(6OB]9+W8U[TVJH_-%5J^E[CD;:$RD6>N_Q<;7^ M3A;BO:";O:]L0W2B,@R5)5F4.^A@_:N^W-GV3-=QD1 ME$#;A[HZR[>B_*^/:R$^+=745%NY;V0CYIPS0A.1@R0+=;6J- 8H30F0,)=, MXC#,B55E@<$EGAH%:1F!5$(&:R6=0QF]08?7\$)C2H,VXL5&5]ON[8:.+CIY M :)U/DAJT]%[%FC- ZUZT.H>?.O[)MPJ!(XQ3C[+# XJ[_BU"L> _V3!PU$Z M=K1('X4BOV)Y5[E/5TY M_+WLL[T-B<$Z1#1#"1,[:QAF'&UO88Q2/*8)Q&! M:82M7/]Z>YO:\K 3-EAH:=ULU5YX#6U67Z -;;ON\&IB)2I1P4H")6QMTWHT M8TU \67.]O8UKEEKHO:1>6OTDF-Z^\9]J*U?HW?);)YRS' N,(!8'\M1M;=% M21*"#)-<"!33F%KM:$_V,C6^J(2ZKI;5:33-:.)JC :FAYV+7Z@KH\WSJ50G&&6Y$(D$,0^5C<-C"C"'D6(N*4F6 MDT38)6BXW.74F*H5-;BEB^*N&@'+?9,!S&:$Y!>\@:FH$3;8X3=XXAAS>#R1 MCT&'H]*..0 O";>5O1X.9G4>$:#(;>\1BJ;SS)S^G:-Y75.YUI MK'[:3^&CYD:9J.>4:*?CV;]?D\/R\(JVC;)X;AQ"RF_B@11+U:BNH%0RLOB[ M(.MYE(00LD2 ,.:1+E_$ 65) DB6Q6F$D@1G5G4_W469VL3>":GM:EF)&>C/ MRB75I=/0F-D*XP ^,(NT"3*/W#]VFLR"S2J@(OA*"CX+#L:FUBC0*OG.H'D- MK%Z3:SH)\@IY-Z\!['1*SJM:M*-3=K?\J=/F/:Z6NNE;J9.4Z__5<6E/9-&D MTNM$PE9'2GOK'LJ8BIBF(!)(D2E"&%"<)T!F(1:2Z7MKHX/B:P69&I7N5='S M52LRJ_/Y=_29->5_+>/\KQZS?I8="_*>B'<$5 ^ED;DS]\\=*_^IVNRDW:HU1-O?? MA';T5L\\*2/\3M3&MOJ]SB:M';NV9*'=,:(Y1SG*H(Q &B<,0*DSUN-@L%3I:&>IJ)14>^0]6]GNC3[L]H&V>95G SF-G&+ MDQ!X0F3N(<#QMHUHK &J,^=T/K+_K#ZR#DRSH 4J:) *=E %':PJ]SK/\9"3 M&G^?@9/34&S\",MIZ'WNPGYZ$HZ<6J!?D0\_Q9H5I=[&?-E6+CA1RN,XQ1D@ M4&TV8*HV&X0G"8A"$B62X910JU+C8PG^S[?N!Z0Z,UB+1YUQ1C$O)QLQJV/( M7$R!,;X.BX5^8F/^?\LRW@%A%M0P3"!C@>/ O7;B ENQ_SGR%S@.AKX'UBJSZ!C!YSY#?U^E/9+CV+7?_2L(^,&O&@B.28F2R#%@(&OI=L&U(;O&@T%_"'"MDB6[$K_^D=*BGTC%912[0<,>K(R)?'>0^GP\O(NYRO7^]SK-;&$ND9-5XC2;.X8\8@0P1!3%S,;X"Y3CQ]L$;^O$?_:(/ZF>\0#CI [ M1+ZG8^,.9B#L\+@EA!++,+ MU16^;@E UR$^(;K[?]\GE+UP8KN^O#;_UO_:FGY[C^OGDSVAP.93//6W\'B+ MMPW-?[6;V47I/N+[R@TWEH9F!=<%U"G.H(L A"SA$E).B2XTRC3R*K!Z:9"A M?8)K.<%64%!+ZA]O<1;0ZP$7,6#J^$-M@5!0O,4U"%H%7)Q]:&\1%]?4V@VY MN'IMVP3PF?R[?9)]$[[;!?O+?/9MSA\VIS1WJ^7WV=R5>]]>4S?$PV-4:(&- MI) PEVJ191I2P5*8%4+1 A4954&]:]N+,C3"V!X6\XW0[ARCD1KP2NS0'/'6 M$^7I5>H%_JY=355YBJV$H%%CG6+AYF2KR>Z%=Y?GI$5>^:UP1LLT;RU(S[GG MMP)VG(U^\Q/;D>I;/2^?["[H2;^?+I;SBK==9.Q_:/7-#2SMGZIF&MM\U<8! MG"$C,3<:)HH02'(A(4."P21A688TI_;/(9S:6I*A4>I6$;"C2>5);G0!6V5V M4K9;NNO;SZ ?V?8R+UT;?9U-23#9W@QG)*YM+T>O5'LS7(=,>_L#6]8XFRV6 MG\TOLYE:5$T&FS(Y4EJZ3$P.$YIJ:YY2#)FB%-K?"44,4\SOD.#R,$.C2"=E MW93\24]7@;T[SB#IQV:WX].U(ZF!IA*Q8JAUI_?7>BJ_/_#YWSLH+709EE@5 MS4X/TF\YLXN*'M4RNWQU.R9X/Y6N-II^J^O_?S]MRKN8-M:R M@E=K:7]RN0@;(+]< 3*8,;S!B40>U\?KE4>\U3^D%/\;V]H9#P^S:;6?K$*Z M%MN]XUAE(C5YED(N"I EF<:,4VP M5R'5XT'^K:=\7YSXW&:(%E@K:!DE-E- B>0"DPARS5/D572Y$%G6KX##^W; M_;F<\JDL^:3I\ ;X$AC7)_+)M=^[K8?Z6?!5FN 4IYG=ESFWC= :? M?_:,V-P"=YDUVL'1,1_B-^N+F^#-^A\[L9O;1_43N7DD^B9N M\_@O<4S=_2_Z3LK5PVK"EUK],I\M%G^9SC6?N!WN+[R^VM-=5S,2Z)+ 5X6/5[4FKS]-[)];9E:3YI^M"0BY<7&XN,>1IEKI^33A+;&H[7A1>9%:# MEX=.T(^T3,25K=?EHA-8#Y>-;@9I:>VK_UZM:^W.[(@6IG*B/^GE^ZF@/ M=MWZ.G,Y^U_FLZ=2:?7Z^2\+K=Y/-WF:V]B\33MMK"B5*7;%+PMK_!N75BDR MYHI?,L$2A%4>%#[7A9!#6TQV=*P3\ALMP50O05GIZ7[O_E75OWYL5'4UCV:; M)&>^T?//@=N(+MX#SUW%"\]NUR=Y^Q.[41!8#4&M(GCEE/S)_;FJ:O)E9VY? M.5WM"_#33BK[3E1T)ZW=.YR06#N1+D3L=V/2(W6!+KMMI9D*."1-S$J MX%_^F288_]M.E/"?08K0""&TCL NIU5?Q\JA97](1G8WNG 51NW<39[_#92+ MQ:HIGSO;PO!G@(MDE"-<_:'Z.<5^CVP=W'TT[7Z\%&DR.^:G_>#NQB.Y(VHG MT=WG\(@?W7TTTDM%=Y]3^4)T]]E;VO17K HN+6M?8!.X;!!G!9<&8J'M[D<@ M#)EA""JB"IX;P8WQVOV<&V!PE%6+V/C;0UKJG0#O,@?$@*3K#W\/C>L1X'ZP MA'00O V>OCH#^KTT@3W_SJM^N9??B?MZ[-%W7NK]WGL7KFMG@U4>HX6=9[MO M>SM;B:593=:I$EK1F)',0*(M@U&.4LB-9@13K#$)VG%=&FQHE+;.**R< MOLOO&O#)9/8[MW,)S&P.[!]5N023F9V*P(B?BY#[&4"Q@.S:=;[.D[W74MO- M0]62X4V-G'-:5MT;IBZ]UI4LF"_XY'R>8+!1Y(-1)*OHXE"]FD4^2A_:15[W MW.K&J2EK++&U?;3$4 I%(7&TPC3B4#)A"EV(A.=!;N'# 8;&(CL^BBJ/IJWG MIH&O2%%>4,9@:C2"A*C4U;M%$)F$H(P7**,F)&?C)OAZR,UP1VQUK3Q7O*/) M1'JT(]A%\$)ZK!^8H3ZP<(CZW5//Z%?%[[RIUW>!U< MUW.#,M=M8?F\4U?ILS5'YE^_\VG31\;RMM'ETM54.FBV]HM]^/(M7^I-R,K8 M$J],."\L<0AKT[%$0HZ5AJG]ITE2@P,=:\-0:VB\W\B^Z6M6SIMR"&HVF?"Y M)3$]KWUK@941A@%WUVW.7NS=Z)BQ(S1!JZ'9*[A7@6/W*'RZ;9&V ]")9J85 M2,"A!+;AD@/HDM;)O+]T#[6X2OTQ.JQU,I'1^J]U(UV$0)HOEBWN?I2+L>%< MTT2GD"!C#?V$(LA0GL&$44%3;BC*@[JQG1QE:(OF?LB'DQ+\YN2\)5)F@ZC? MBG4S3ATO(.$0W18*+NSE4,V+P2Y'%[?<#ZS$0O]C9>GGW9,K MZV^?4KVH.DL*HBB'6#!LOW]M375$$I@G"559SESQH" #_?0X0_OXMV*"2D[@ M!&WU_9\#UM-FO1VNKHW(-DB%VW"7<8AE5)T9I5\KY[*J1V;'E63558N?KM.C:?2Y0HA 0DW'E262HAS0L!$VH2FJD, MB8R$-=\(&G]P]+$6OVX%MR/W.D;?(](^RL1XTDQW<'=-/S&0;M%-HQ5>T5IH MA(W><]^,5M <-\MH]Y@6(3-'+3D^VON_N[BR)M8A31*%>9Y#6@C+<(D2D*=: MPOT89&9T^XU#(O6\87E8NC.U8?T%\?CJ\]>4(_W32T-RTT'[W:04D3+:@V.#-!H4&=2#DT9J_=^F+?K;]U5X[6\3!U;/8;_E@NZX(CHZ8[ M6;M>1MV\ 9YV[DO/:X\G.MU,:;BIW"7DL0SJ3F3LU^SN$N8CX[S3P5J8\._< MF78U0OW4SZ8*K*_/3YR'=)P2KDV2*I@GBC>Q2C)A,"LH5ZDD6:&%MPU_=;BA M4?U68'?4;R4&[@T"WZJ#5\4]4V8\H?8PY*,"V#&G[F!7"PL^FSJ-ICG?K@X^ MHB(88,I'1;(G6_[X;9R9IFO'K$;TT5[_ITA6O3="%\WZZT_ISZ[WUFC/L/>_ MJVWLOG[DI6HLC+NIJHZQZV"U)E-@;# GDDD$,R,L"QMC(!6B@-9VSWDNL=1$ MA87P7QUS:%3!7+\'(A6D:6)@ABUM MX:(PI/!JA7.C'$,C+/LVYH'U(UM.@!\_]0!KQYQ5:P K%:NN66I-I',!82(8&,-8?MUAR2#'/(,Y) M2;%&.4UXDJ3CJ?[FRM)_'5":UE8%K\^5U9_KD2*=+C&G4[):=:CM\Y7P/&D; MV S_+\VHJHKY-G[I/U#&U/'D_5'2HG8D_]^5^W0\);TG.)T0H=T*^7$U+67Y MR">O9U.UJ8)E89>)$3#';BE#B8:"$NJZHRMI*!>9IB'NG5.##&TCLY$15$*& M+2HG4?1C_UNQZ9BF#V")V!79!X!(5'=RB%XYZ9*2A^1Q\=J6S2;6)9!.5(K9 MEO@9IX(7B:&YJRZ 7/L(!AEQ!< YPY(42,M$C.MSR%^7?+[T^_K]!@]YYP]% MZ.[U?\TG5>4HOG 'KV^MM&XV0(I' 4&]@;,@4B-YGN<6?IM9N'=5+WL'*P%Z&L&[A[GY00D%?II)^C[L79\/#OF\9,5O>[V*J/M MU/>*V-(B"*A832K\!NVW[400$$>-),+N;EOTR^BY?0E<3;?I2H\1,ZFVYAXT M*/<+70<6522#6VM,ZE@)P1 SF5 M*4&IJ:HS!A+\S:C^@9C\$$\_RKX!H8ZY>2T9:$2+60[LI,[1JH'M/[WG8F G M53NN!7;ZLI[]RK)*7QU7CMV <>$[?#4_7_')_4X7,6I,KFDFH$@I@R1+$>0RQW;]P)AD(L-&!J7UM9!A:"O#6@6W M*JR5 (T68*T&:/2XJ<5;FPGS] YW.PU=.X^[F(%P!W-[#&/YGUM(T*][NCU$ M1][K&QX51I=*E^-WTV6Y?+[7WTH7+S)=?K)OXU@EFEKC6<."LP(2A7+(C%20 MDT)HE2FC,^[#A><&&!K1U3*"K9# 2>E'86=!O,Q/,:#IF'P"4?&FE6NJG^", MA99_^C9[^E=[:TT7]H,A!^GXU98C]CK#E$2KB. MDDD&!<4(%D;)-,=%EN6FX_R#WV=#HP'[0F6=9Q]8\/TLE\XA[9@^;LD\^'WV MHGD'6QQ?+NO RC#TG(,M3!$R#G8>UC(GM-Y?N@"?O:*EE6<0IX;"O!!5, Z# M/--V9T0]:/R&X"JJ?,SD;$ MZAAW3\B(J9Q78(B5OWENF'Z3-J\H>Y2I>>WZ\)W-VR8?XLOZ=,[5+A_C5"69 MLWET7F!7/!1#(5$"<\4P98(7O-"^6YN3(PS-J%D+N2XH8<6LVA_X[VY. WE] M>W,S/%V?&H8B$[3#N:A]JRW.Z2?VML>YJ-#N)N?RA;>60U7Y1UT9^O^L?RM=7F[^,KJ[8P8XN8*T,X,N=3BK )8.!C7J@ MTJ]MS;884^UY?/A2$]CUD6&CEXL7V4[2"%R;4SN+!W/8%&L#3DM0J=E)W;:( M\$>OUQ9#MA>JTQ81UO/UV6(.\C+1)>]^Z+DL%TZD@^8WS5_TEWDI]3C/E!8% ML5O(/+<[2BDHI'87"8W..:522TYEG[$FGG(/;679$;N):9OK1^<=L*2CK,VP M;=\%U^V[UOJ 2J'=>)5M7[E^(U=\WYE^XE@Z>!/^0%$M.]J?:/VV_^X,)\HE M<,X&$O/B*_4?*@(F<"IBQ\.$#M\RE^DH['TW.+Y.8G Y# >6-.(9TZY6"Z&D M@,1D=M$3J=U#I=).E?VX&0Y:]-J),;0U;-?"/IL- N[DLGPJEYZU3V^<*+^5 MIGOX.UXXPA)R.MV_W(9EK)R==D+TF\-S$U!'.3VW/:UML,P;R]IS/GD_5?K' M?^KGL"00+C20JBIQ[[@;.CC TSFL"0QHI024FL'*& M!LP< ND;,7,#//V$S/@CTR)HYHSV-T3-'#ZQY["9,PH=Q\VZD9UP83I$,$,]!>S4XPH X-# "[VZ; M-#RWQHO='^A?>#EU]LKGZ?9WG_1RG+",9A@G4&1$6@I*!.2&8DBD277"<$%H M4#69JR,.C7V/NBXY'WC>=!U_/VZ*BFK7 M1]\;N4; 20M>.7E_DZW]53_. '7]\86=7K? M:CG7?*'?3W<]5DUZ^7\%XUB8.XT"ZA6>_ND7F:\_J>J&<2ZTX/5!WR=@48CL%$) M;'4"][W/4D"YX5YGJZ=*Q#W,6EBAXF@@7ZQA?/LH_94WCH;(7N7C>$]M7PQ. MNL>>/N]I!!DKDG M60&1Y@DD.;(&O"((ZLS^B!@O=!)DMOL-.[05L&K\U'3^ M/+4"AM<@\X#>\P@D.J ]GI5?:KD9M_J8/T01JX]Y#-I[]3%_($Y5'PNX.WHF MX"]SNVT8)TRE2E$-4\)32%"A($V2'!:"I1R+7"0TC93T5PTX-"JJA )O^'S^ M[$*,+A<[:0>Q'_'$!*YCRKF8Q;<8@4K>7I+U]I#I/B^O'FXH*7A[R@=DV^W? MUXY7WD_MNJV_\A\-3;W64VW*Y1@A245A4JB5W?X3K7(HY$6&5L2>+(6YFS^[,AF\5VK7V8SM?BDEZ[-]D+/G_1BC*4B MC)L":I-:0B@DAMSN@"!+,"$6CDNLC]DPKWA <4XS_K5W6V__KW-H] MGXU9C%&1,$J5@LJX'/^\H-#^,X59SE.-"VX43UKD^ >*X?51]9_Z7\D'9U; M$9C67Y0[0GW2\]+78]UV7OP=,;%A'F(0Z@A4.MB9Z+L^_!%VO1:*WXX^P(KQ M1]"T*QU__)@;=UMWJ^7WF7WH\]O9 R^G8[N?2H2F.9_7X;Q,!E%!ZI@-*GR< MG&!'4/";3PY,(&8!H0BQL.LIRN DAI$"!GR@N!@+=- M.886Q> NX^MY_A4+M:X/OTX%["_\"#3\Z,L'E%CG7A?'ZO?0RT?MHQ,OKYO: M$8@KE'@W5>[_7#/9)S[1._W4QX*J1$A#(4VT@23A& J<%%!**G+&L4Y94%3/ MY>&&1B%5%4E7-JCZ84=@GS26-G#[$4H\$#MFE)OP"Z84/U@B<2E6RRIM M>?:%N_26<9IHI2E.8&K2Q%HN&8.=&^4)(J:- M5-U]6'7?>KFK#RAK9TB5-_33QO6]Y#_"&.K6F?.CL![GHV..JZ=B3Q70^*7J M-*/-N9Y5:00:I<"N5BXEHM8K'AE& C@26]XJ3:]T&@FZ0[Z-]=BV>9=B^:NK M15?E=]X]\7+BGO[S;/ZK)?XWL^FRG*YFJ\5?IG/-)R[;T,GU9;8HG4 X^6BO M^+[X//\PFW[3\SLI5P^KB3O2-95X4FM$$,JP()*ZG%-J\SQ' "7BHE+#S#+[9/UN+-S37L\LY]R/ZEY_' MOI*JQ!)L%1V!C:K0S.;0*3L"6W7!SH17/K>UQM6\?]S,>ZWV".PH'KGC=B\3 M%"W)M4M9>TZ0[0'VX^3:/@9MMT"Y/;,3SH11(LT22(6V*XK2"12\2*%. M.65$YS0E0:[+_<D8RKU!R.8[$[K'(F=#A[>*YV< M5NSP^S]SU:U%Z@^)9$LQ'\JI?K_4#XMQQK*,)3*MY1ASE M.JR(<,CH0_OP>@%CTPNT^ M8[]08?8 6,X77@]YR(W1_]OSENV9GQ$DRQ-KCBA"JPII$E*."X@3PS)N<,YS MT2KL_\1@0^.MM:S!@;07$?6CHU@X=X.1#8^EU?? M>#G]J?*UN3)@%AG@K"YW'3^RQ4!I7Z :C87]>3F[N0I;=Z]-H70FA%*02/O& M$/NB0*Z-?6VD%%G*TD1@TB(U9$CO3A]))-V]0$-Y46X_I^M^W@=S@G?T.FQU MK2-RG;95_LNOS4NPNP'9GO_U<[X796)Z./F[3<[!G E&@3ODM##.@"T-GGK% MFW[[X&I2'?3MN-GC3J&>^EAE,JOIN5HB'P$4B=$X\N;]#I+NF]+7HH!+O1'ND MC?SU%>#K)=3#V;DE=+%(-W3X?KFT)3A'%-GV.>V8[U[;7>1*5X'\LVGE0?]K MN?S^QE*OY>7YNQ]RLE)V0%>*QOY/.2,KPSCGHC P4:Z2O;="U_.!WJP!8:^#*Y#4Z@+42 M<4W1&R",Q'=M).B5\FZ Z)#U;GE4.^*SEN.]RSQS9;;L_G>2,TI$(XO#IO7[\9U0[_+#/718SKV=[!ER(%"ND-.1%+B%!.8$BH1*: M@HG)DC M=$_5_5)\CF\+[PUX]Z"GJO(X3?BW<2:D2)',("/26@2N.3C'",%<:44SEG*1 M>F4)'CUY:+2Q$0XXZ?P[ .[#=9D(;@*AXT_>4_^@/G\G=6W5WV__2;WU]3NI MP&X_O],7M(U-V2]Y>RJ@@B:$$$,4=!W[[.>(%60:)1 5*%&4,6NB!\7.>HPY MM _UJ'9S:+S*=93]EO/(V'7\?1_!UD<4BS= T8)9KH_8%I:,L M+%K%:]SA19Z\^>[Z4[@F/:H1=YV8NW0"!U=P\\#>EXABX=E;;;>ZW]&KM<0_ M.5370J]/Z+]>1+5-J3=_E.+5??,8L^\B;,Z,RD@;%WG0YPK7>1VLL <88U9CPE,)-I55::0J&IA B9)&4X)02ID+I"\1'O MH7I0KXC?3B5V??N=S-4:*<(42 A.-,20)3BP580UU0A*M*27" MKXYUR*!#X_ZUS'L[^W50TV].<-!('G@6ZS4#?M04&]>.F2D&I,'$%()1)%[R M&K)76@H!X9"5@N[M('+?^8U=BP_7,/J+MJ_B=#G&A&@I5 )QHBQ!\:2 HJ ( M,H.TEH42@@8U. L58&AD=12YKQJ9@54K,* U>#+\N*I+B#OFK>LA^VOYJR[V M(]"HT%/0_@7P^@C:/S7\<(+V+X 3%+1_Z3DMB]2<[$"]TT7\]?/VDJ;)^)TC MV^JWB_>+Q+RWHQ#8:VQ+RWJXBIVL'#B>L'[XIS MK..7N%,"Z$WN4SF%C_.9K(ZCUOAXUS%ZN7?F\GKTAW@3NCZKW%$?U&J.P 8! ML(5@\\^;/[E M4F#+Z>>I_IOF\TV_K+$2F.4)UA IUT4X3[4K/B(A9C+!6<81Q4%=A&\39VCF MTTY(%GBV@@8V1[]M:OPVVOT!WK65XA-1M>W -P*-;L]U@W59Q4JY ^=?K3%K MEXSUG\';RAGJU 96_8B=UJ,@'ZOQ^FW"]-N'/0IP1VW9XSRU)0M7['ZB#>&F MY#Q+*3&2,%BD(K%$FVE(I:*0\DPKQAE#+*B\]]41A\:EM[+;:"=%_[W1B4565\?KEX]\U3^B'.\;V['*%^>.T:IJC?Q^:A_L M3@I^UD@)1A"0G7 M*>048YBSQ.YA5J;;@M,/CG)J.<&K5O%JH>!CAJC) M*8.4)P(2G5E34!@-4\$4YJG4R!77\D]9ZQ+\'I+7UN+#=11V$U=8Y;-5/\)M M1EL340AF6WW:!QJ&3IS?6M'A='2\>!P%:->R5]TO:MAWY!Z!1J-X*TI+Y"(M M,:&C][KFM(3FFP)U=C^QY#^ _N&FRK4) M*!=NGU&=%+D_;(_B@JO_>ZHG?J_%5YGV!?@5'UA]U3 MN"MK7IN*@/[(Q:L(Z#%FWQ4!_6$X41$PX.8;F>MNM?P^C7(PS M:DA"M,O8E+G=#R "[1: 0*1QCBG10LB@J('S0PV0H]8?ST;6$7#2@M^T!ZT]N9S%(S:C' _T,C1R5N&SW''^CK9%>J;Z^2.?_UTO M?UY-U5'A*B4894@QF.?.R$D-AXQP!)-$$8Y9+HT(.GB_,M[0J*,2%SQ4\KJX MHN5\U>(X[1K(?K01$;J.N:-&K1855+)V6A#,$YAH)7Y*VI]4-($"UO$\! M$E:8^^036F:0-/%07V=W\A^K/>KY\_F)?K^7=5+D*KX_NDK'$AE+* M"91)YC)'[']81A 4B&SD'E65 MN):C*I1&KX4/S![QGQ$_/HN,D=8>7C;RNH4L525F)'#']UAN>6/FWUP?L-P'7&X"C#%S_.UN$ MW-WKQ\8,L'SV;Y-^H";&UJI5W%+R#.+":. M/06/W8AG6#28+SX70[RN/J2_N"U???:"L;QOBFKC-2]S(@W2>2Z@$H*Y/JH$ MLEP54*44J;S(#$J"(JLNCC8TRCVP3>#6-HEBV7GQ;73@^K7G=C"+2 Y!H'1K MQ?7)(4%J>]IN43CD-9]4)0F^:[W\X&;-%5%V43@Y96G"4@R1X79WB$T*A578 MHLM%QGF*1*Y"Z./<0$-CCD9.4 D*UI*VBG$ZBZT?;\1 K&/*: =6,%E<0R(2 M3YP=IE>*N*;L(3M]ZR;^L<<*X3$Q>F*"U]_Q00UM]ZQRU$SO5 M-NOO!83]OM%K%VWE(MHQ&Q]T\*[^.ELM MOXO9?+;Z]OVC7:2X_+YRF4#K%$)GA99>A:>/GCPTSJR$\ZF/? 6PRZQX$PP=4Z W M[?ZEEM M3]A$"RW_]&WV]*_VGMH9Y58/TMGK^@C4E3%7SQ:-^V..K? M]OFQZASR[H>>RW+AH@'?3Y?S [WS&AQ\_;%JP_0P.9<-X ['[]%X[A[%?<.[A_':5FA8)\G4.=V?9M/9 MNI3ZN+#K.S8HAUDF[?J/$PQ9@B1,4XRQSJF0,BC9Z-)@0UO#M[+:3]D)&UJ5 MX0*N?C[36&AUO([N %7+.0*[DL:LRW =CVB5&2X,U7-MANM*'U=G\+BGY5'+ M2BST/U;VT>^>JNC[32JO=E$. B60%91"H@AQS:88Q$JC(DNY0D5098:S(PV- M*+:"@EK2P*.5LXAZGJS$P*EK4_L0HHYRGZ]B$>M8Y>PX_9ZJ7%/WZ%#EZ@UM MPR?_>]5DVGZ=G8FQJLP;<5P_[Q^K0<8(@TF:2:0DYC+)PB(PNQ5XV(@ =^B.T68@0VU0_-;%Y5GO4JX=$BXK0?X*,%K78L;L]QK_V M?QPZV].X[9:@34?$C_8#6,WKZH7W+M_=[I6_-0>HJ9%)+A2&[A *$J049*[] M=$HX3@AC!DL:LHSX##JTI6"OG?&.V*Z60R-XV&K@A;P?H\?&LV-6WH5R(V4' M$?XAL$3B3*\A>^6]$! .N2OHWK9%QEPQ/NDZ/D^_W4TMO4U.$AU3#4U2#M25H< C9SQB.4Z%I&8Y,) O5+'=84/N<+CCANR M+#R.,(].,%TAGN7S^VVUXDK$K]_YM#G;_"]+;]KN(NN-X4%_JU_L\Y=O+=UM MC+BQSHQ1.%60([>-$Y:+!$XX)%*3/"%)DK(\.*EC")H-C?IJ\:OF?&HVF?#Y MPK7 J2,A OOT#0;CD(25(<@[()+?]3^>#9@2SZ?]E Z;$:C1 3OP@'KI6%J MUN%4(]"\>/:]JU$:@:.^AA52P$$%MOOPR"DZ0YK_F!E!@]"K_P2D0:A][FAN M< *VB$6^^Z:G\OGU;*K6*2M&\ESG*H<)2Q$D>>9*IY <*KMR&TXSGN?^"55' MCQ_:>ED+""H) ^(^CV&[O$;=#D;7QU4[.+1)A#H&)"!\]29@>@HZ;0 25LA8 M@:%GU;X8SGE\5W]!F&/.9?;Z1'HMAMR(; V^V=Q% M*91S;:W .@:[IYV']X1WO*.(.HE_F)W"9B^PHW==GGFK^7:#, ##/W2:7MJ@ M]Y;WCV&HA\(?S0 /'KC=NO5!+Q9:?U['\7YP<3YK-]_SNACVVY4>8V1XD1L& M,X)32)!6D'/"(!89EVE*\\QU,?*O,^0[<) QWE@_;*P>&@G%(9<'WW]CW(Y U??+=VD_L_Y]%\XI.*I,J%G,Q? CG4[0 M[9B *D@=BH?8@JW<'64P!<,5B9K\Q^V5IH+A.*2L\ >T]"JZ!)M[K;3=*JK/ M\S=\,M'J;16O5>_^ZNSN<99@;;+<[LNH"Z-*10[MIBR#4E$A"T$IQT$1Z)[C M#HVZFJ(+\TU]/^4:,DN7L>*"#6HW7VB$@><4>'KKX@/;M<_-20S6(CNW:2TT MJ*7>G*3_>MF'&NXP"T,JEMO+<]1^G5=A4!RYH )O;V]I'?!A%5]:RJ56#5_N M_V+GREJ.=9[96UW_O_WW9*6LF.]^V*_9&H;W?*G?&:/EYW0(FA;;F MFMT20IX)"E.1%+DP'*%ZAEN\_7X M1O@;CL.>#D= MITS@@B@-94X9)%FA7*5Y#CE70A0ZQ48$U3^Y--C0S/D=C]U&VA%P\H+?:HG; MNCM/(1WH[;P1O_ZE>]J1B+7@'(U] MF<^>2J75Z^>_+%QTYL_EE$^E2^\ZD3%*TX)F"8:&6GXA'!'(+T8L8Y@=U$WLZDU MZYI5'HE$:*V5.]P1KH8\A2*5]I^*TL227I+I)(3T3HXR-%YKTF,V4K8TGTXC MZD=7-^/4,2.%0Q1,-A,*8F*3+ACG=5D4!"N8 LS3-8\"SC2/$BPT%M=R\/-S0JV$H+KO26:X.M M'Q?$0ZQC4C@""_Q6R0HZ.:3U@R56)OKEP?K-1O=2_"@CW>^N]O6KIW:ZGO\Z MF__]_=1:+5(O%M:&^6SN]4+/G_1B3*BVIH2U'7+.N34ED((4I0@R0S#GF=U MB:#:%1YC#HU-G*2PG,+'6M;P6M;7,/9URD1%KG/?3"/M"#AYJVR#6N(1-6N?:$*&*QZVLC]E[SVA."4Z6O?6]MD>!:NY'+)[UQ$#GGLBME:+=& MD[(*^'?!)7.]=']\5U=7?:VGVI3+NX?9:KHSF*8PDT-*I:BPN6_,>Z/BUX)6J1/6-"HDW695I[B2GH>GNUU@;L M>*:KD\%]C49@,T_NBG?K>6KT^@F,0*U;SQ,6D"C<\\3UE%K3R>QW M;O&Q_WXSUZII:E)94'L8B?&]DEB]N+ M[TK1-?2_-TI WE1[LT;,PVR=& !F6S7:YPN$393?XM89^!VO94?5]6K)G8>K M2=78$7X$*O'CK5JM4(NT2(6-W>N:U J6PR6HW4/"&\"_FR[=^6"]I*29F7?N>6L(5U%K>!XM6G>8O/KBWQO,^ZNWVH?>ZON7Q M_KH 1>V#<,;M.$-2)=79FU:N2R1*H&!987?Y.)'2M>!)@K*!3HP11 (]I.QL M2ZFTZ2-["D0_6^1&:#K^UK>H-&[*5T[ \R9<^"']>?5CG;@K@SL(112#$3,+/['9IPZ0R#H$9<-P@S-*.AU@56RH"M-DU@2W7R M7+GF-_JL??N8RUY@QL)[ MB$6 .E9OL5M$Z;?G6 30CGJ1Q7AFRR(5\KM6JXG^;&JK[Z^ETN^G9C9_:/HT M/NGI2O]L87CWPS+=E$_>K!9+NUS,%Z^?O\QG:B67KKAAT\>Q#N0:<\(TE9)" M7/ B*-+I&.5[>A$QGZ+?'0)\U%)D$X':UE M9/;P.-??[<*TB2^H NQ+KOC9R5_#& P!>N:/ZGT9@6@>1+OF/P&1%GRGPH^?(P'9,MGO2[GL. M-B&Y5G)K;2^7\U*LEE42P'(&OO#*I=B%91V 8*RR%!XC]EM+PA^"HP(0 ;>V M+JDH4491CB#GQIJLNA"0)PF!@B!)-<8Y84&U&HZ'&!H9;22\ MH0;M"2 ]3<";X.F84@*1:5$>[9SRT2JA'0W0<]&SUS<[>^4-_6I/,$@5 M1].PR.DB,9M54ND,26TM$YX4VADJ.62L*& J"R:YTH;*($/E=I&&1AW[86T+ M/G%FS*:Z;*#A$F'&/$\_>IV'K@]+*E/2T_CIQ,B)!V?,!KVW"=1_(]\H )YL M^!OGR;>Z%3_-*F+0RHY7[5$M-%6_E+],2[L-K0M'/!^D(F.&:,X%A85A%0-; M.TS9_:*@4DND5(80:N<_;"/.T-AWK8W[N#?Z@!V%H*C*YU8JK:NP/+=U#[:: MP% _8-?3TK7!>'5&7I^8D4X3TN-@&]W%UTJ8%_+EW0+<>:?=34]]F?Z&=TJ5 M[@<^V59)WY:\HDDN4H)#,]-)ZW4?:H7'Y.A83 M;L)L[[4KH^*B8%Q+#2?SBD\L1\P?_N6?<8[^[54YK7]XUGP>7!"]TS?!D_6' M,K]=+PH1&QYN==[I-]%-6;5>IF<@C0XOR_J':G+H!7OL!H=^@[9;M+[:VZH* M#P91Y%8M(='=^G%ZIZJJZAS1S_886=5=N MY:YW/_1]-J[*'=?#KZ_ MI5GL7/?8O!R\>CEFS00^%.D.C/]S=7%,C0]B-%?E9K^ M,-TK8M/CL.=LDMV7\H/]Z=__:?T;^Q_WSO_[/_T_4$L#!!0 ( "XXI%;? M5B.B%I8 %H,!P 5 8V=N>"TR,#(S,#0P,E]P&UL[+U9EUO);B[X M[E]1??JUX8IY\+)]ETHJ'6MU54DMZ?2YMU^X8D!(O(3K_ M\&]_^=O[E^#^\C_^_9_^Z5__#X#_^=/;7WYXL4AGGW"^_N'Y$L,:\P^_3]/\ MYJ&SZ?P?_U+_B&&%/Q!S\]7FVW_[R\?U^O.__/CC[[___L]?XW+VSXOEAQ\% M8_+'RT__Y>+C7^]]_G>Y^33WWO^X^=>KCZZF#WV0'LM__)^__O(N?<1/ :;S MU3K,4WW!:OHOJ\T/?UFDL-[(_+MT_?#H)^IWOKKURK3X,,>O]->G'^L___A\06!X$SY48C>_O/[V M&?_M+ZOII\^SJY]]7&+YM[^D#_.O4+7*%!/UE?_G]2__>/WVSTM<$6 VW/Y" M/[AX1GW;(93@US7.,Y[S=_F.V2+=^M"L2G>QO/S-68@XV_QTDG$ZV3SY65RM MER&M)X(>ABY+D$$E4"D:B$PZ")()82*B]_HVXY7H%5&]4<8*TS]_6'SYD1[\ M8Q5&_6(CE8U$[KWN7#*'T7VY]M[39R8?SG7RJ/,;3A;DTG%S2=;:/S_.0M+>N+L MVUO\O%BN)PQ9,4H;LG\8B 6;("BG(#,3C!/:2>F:*/_.BW?"@>@?!\?(LQ-( MO,'E=)%_GN<7M U/6(Q*Q1!!>!]!><<@6)\!#5NU.\%!]@^' MPV79"1C>+\-\-:V"OP"TB#D581GD[#BH$@KXXCG$C)AYL0I5&SS$7A_)),V$;P[TC^^'QQ-E\OOSU?9)PD MG9EE 2&80)X/>3AZ^O,HEO M6J;GF8H+2^AMYMXB"2EG"RIZ!E'1ME@2;8Q&^X"&-0#,(Z_?"2JN=ZBTD&T7 M('F6,ZE@=?'7+],Y\DFDT)HY%R![2TQXKL#Q7&/LR)S*MJ ^SO5\]-4[@_SRZ@@L);392!58;@>+ZQ?O MEKIB3P05!PJT)TQLML;7RS?+Q9?I/.%$!Z8-_0^8M.1:(R,^&"=L&YZ]Y]YI MZ]L!X\[;=T-'QYG-9J+M"2)O%JMUF/U_T\_GKI.J[!/96O!Z1"0+1!C\[>?%S,+S,P(GKG1,E@N"N@=#T! M3J* S3F)*+G31YYWW7WC;JKO.)5YE A'5O\[3&=+@BX7\?UT/R 7&&NO64[+B XH&7[H:#[K.-APNR"QS\_ F7'VC+^^MR\?OZX_/%I\]A_FU2 MN+ \&(*SK(7HACPD%POYR<9KXL'')%N<:S[X\MUPT7V:\7C!=H&/=Q]Q-KND M7F@7$T\1DF*:)*(E>$40MY9C4D$HVZ0^XN8[=T-#QSG'(\78!0B>DZ268?9J MGO'K_XW?)M'+(HWQ(-!)VNU4AJ@%^3\1A4TL&F5:G%+=>>UN4.@X!WF\,,<^ M>CCW>E].5RG,_A>&Y665<'&:I! %:",R45XL^. 8Q(IGLG3#1<= M)S+;"'5D9#PC#O*&BUGX,,F):^,)S;8D@K04%#HE%T"IJ+D.T;GKA7H0&FZ] M;C<$=)RO/%QX?3B2BT^?:CWP(OWCW4<2V>KUV;I>!ZY'-)/ (Y 73+%1 M%@%\8;3C!8S:%V)*Q19>Y18:=L-']\G*9F)N!II__?&>1'^A'QQZ+7N^6LRF MN5ZYWU1YU06Q6I37G_&\X'QUF_Y=[VM_]ZE-+G+O1_N1-[S/5O AA,^36H__ M":]>>(6S4BP6R3BXD&G?"+[633(//D:ME!(LV&WFMX15W&C^XCWG"P]GZ]7E M3ZY7X'=(.=2X7#[V+7[!^1F^I$5%,MX\\N_3]Y;]X2.9<6 MZE2Z&G&ONV3Q^6*U?EW^NECDU;-Y?H?++].$JW>+69X$[WST68 LM7Y=)07. M!@TYRH3,2J-C:]0]3LTXE]B'!% H;\N%ZO5F^6B3-<3+WR(44G($A4H MOVD-(PI@E#'[K"@ V';,?PAH;KQ^G+OM0Z+D4-D>#HO%.LR:P.(M29\(^$CH M?D&&=+;X7*7R\]?/.%_AA*E@>"D*-,-"S&@/3G,.%F42:*PM9EM%\&%[VA:" MQKD#/^SNU4K^'=B8=SB;U5,JG)/_.2.6GN5/T_GFCF^M=;CD2@I1;'0"1!4: M+9$$CFL%EDO,7G#IFON)NU$VSN7Z(>$U@$8ZP-E%?#/_<"ZR7Q:;PW(1M+$( M(@2RN[48SQM/S$2+*'RFJ'?;799#0/4 &>-02B,+&XJ)+3H+%G"-$[2:?&O/:AL]X]S^'Q)8S:3? 9)>KS_B\B8#YRQ=[MZ)!2$P M6/ I"(I$BP!''$(2/AEOM-)Q6PN:@[:^K12-TRY@T%VPG08ZP-/U5GZ9-9O. MSXBIZ[SQN=$]_QR97ES]_)6$2)J;SL/RVRN2[(JDD6J^;;'Q,#'Q=YS0.["A MO^'Z1D1D7-#9QP3%;EJ&!$; YPF2S38SE@UNO4MW"&)N$3!2.X4A<7*X@#NP M+#^'Y9P,X^H-+C>'YB^FL[,UYBO!Q)!]=JY (=< %.<L/NQST@LXGR.L#FC0KN%],OTXSS?.6+/ ^K MCV_"-%. 7;*.FTM @K:<'&IQ)') 8;276='B:WU^O@M=(S4+&[:FL+$ZGE9A M?;VXO,2/.%]-OUPDF5M6V#_T^ %+[;_+3:.:^ZMWOB[G;WDVSP^\^PJ@/-G MBTZ@BS*@4C5160HP&D,1/(C,6Y\)[DEBVP2LQ" =K4F(H9[HBAC ,T<+$D,T MRF,LIG4:Y( $[%!F:DAT;,_+[B/W/K;"NT(A?EZ7]^'KM7"84]&0ZR!9C+6O MGP-'FSKHS%7B,G,MM_6O.7 G_!Y9X[ICIP18:QUU +M-^< #?-4E=,G;^0U< M^OD2PPI?X/G?5QQGR9Q!5!"LKCZGQNIQ4&3DBRA2E,S;US<>3?6X5K$YD!XJ M"CF=5CO&\=_FQ-9L^E^8_V,QJR'29?'>Z_E%O\PIKIXMIROZIQ?T[?S#N5PN MI311Z#UZ%2$D7T^ ([^8 D51OG$\@G$QYVQ"@UOO 4\-47 GD2E.UVRY):KU>3N/9NO[6^\6;#1 FTBED# U8F4@@ M@AEP03/P/"69L';!&:1 =CB6QKU#V>G*&0,N(]8:U9S8Y/+B1!VCN9IM$!"N MF%U='U][GDO*%E*LFR;+M:5L'<-=K#,^&&OYG>Y9]S-N>[QO7,,^E-\_E, [ M]U<>OZ+S;)[?7XOA_B*;:&6$#%J#5-Z!XL*"\X&!-DE%K6.TV+H[P3"1 MMRZ//I+D<1WR+C*=C?39 7RWB'/" D_<>0034JGI)PJNLRG -9-,BRBC;GW3 M8PLYX\*NDU.AO732#%YC%4N<+ZF/N)ZF,!NX?(9N&I^!'?BFHK6Z?NZ.#%H)4(MS NU6"[0,G6N]L=2 MR>9$YM^';6.!>CC:&?U49TBD#GV$LR\&^J]F^RG,PCSANX^(ZZ.[P]Y^6&,3 MNX72]C;TY71.+YN&V9O%:KI9&9=PE"ZSP#R'6+M**\$41$'1"X^*.PS6L-*\ MX=<.=!UK+6M'T1O19-*TL*PFMUI&5IU<"\'H"$64A!E#DK9U2?=M"KJQ46V0 M<-E%&#GOW[^S[/IES#;I*W6S\-R^8TVUO\WS,YPPG*0 MC!<)S'A+ 3V%/E$:#5)[Q!BD4ZIYZ]]=".L!2TS"NGHE*[B!&[0DBV7 5$BK?.O;9D\1QSQS;PVY( M#?4 P)069[2.WF)"6E/$YV^XON0EJJ*1? '0C*(6560&3R($4X33-MOB5>N" MC6WTC)ME&P!:K63? 8[^-H_3V0SS-2]7*R)PC-$0$TD9#PIC[4:5#4AA-!9I M/=IM(\,.0='CU(S;NKH]AAK)O0,$U4Z1<_K(-UH$$YZ,8";S-@M&4VRREP+ MS)!TK"PI"@ 'YV#I=G#Z_,MB_N$]+C]==S!>36QQ M'HWS((TG8;"$$)-$<$ENQ)%S;)U!?8",'D*L)EFB8T7<@0%YLZR]B-??WLP" M+9IYKJF)SQ?E1)/:FL"XD( CJ[=R:W6US!R,"E(+75L5M(Z?MM'30_S4!#?- MA-X!@*X&._Q2"_/?U@XHK\O?:'NMXIK4L3.>,P3RRU*MSZ_WK3A)*09OD@Z! MN&I]:KN-H!["IR80:B?V#C!4!Z/]3F'@!*5"SK.'R$5MSVH$?45BX9QQ^A=1 MVK?9NGQW#R%3$V0<),P.0/!R.I^N\9?I%\RO2/+S#],X.X?S:A/UZ:Q,D,0- M%E4AG2$@UNL^WD7,);'4NOYC.T4]1$=- --0\!W Z,7%:Z_Z@U]S$F0VW-<^ M\E[4@=04"O@ZKC,%(]%X6A>V=93].#4]Q$I-X--(X!U YT8ZH XFN C[-(]: M%Q\@HZU7#*4#;QB9T4+./3G[V39OL?<@(>/.UFGINAPMY@ZP%\MR!.WN0X<2#XD+-(U[ZN^*VW=M((:ILYK M$!5U8'EN\'4OUYE58B%8T#G63N#UIF36 3RF>N":K"ZM3YT>IV;<^IUAM/\X MQ(Y110>@NCS*?Q.^U3/8RY1WD9["1EIZ)10!"H.$F)F#I+14V@?)1.NC[X!W269_36>S*:1)<*N0 !3$H4.<90:O-9"=8891"M4!G; MH^=A8L;=[(8#4 /1]X.A&[/B+AFAPL+V7V[9(G9-(8:R)83VZD MRI$DY:R!DH)4Q3@G6?-BYQWH&O=88B!D-5=(!R"[?>QRCQNI@TJ)EHS3)M<+ M:JQ6!T2@.#AI79(S@C>&UW:*QCW5& A8#970 :0>V+T3-SSZ4NH!6K*\ M,MNZ>^N4?72R>:+Z0(]IL/.-@:!SI+ [R#P] OX;F=3(C' Q.O":2XIH>:AS M=#GP5- %P7/2S=L4?H^H;MSOX9(!;173@6&Z=[!S0XSU=,>ZD .* "PI#THX M1^S$"'45*N9T;I]M^@Y)W3CHPZ&LI5(ZP-C5,GFY6/YMGG"Y#M/YI@O0>2;X MY@F1-9H;(RB(5858BZ::?"-(;$$GH0(%N:WMVA[D=>/"#Y_N;*VL#G!X/PJ> M\,)K;UFBV]=1G3D9D&Z]K+FX8]%*MZXRN/'Z<2N53GV0MY>P.X@'MTA$*VD% MR[5)DJ- V3 .D4FL][DIL'42A6A=>W!DM<%@Y4LG05$C571@?-YFZ@14$AI96AV8PEC:MZ!YG)RQZZ(& 5,K\7> MI&SV7:K&;K(["*X:*Z,#>+W%FM; _'-8SFEUK"@^/?MT-JM]$%]@F:;I>N)D M<3K;!+GV4E>,0@FOA :G;&(:&7/-AV=]GZIQ$U #P:NQ,CJ UPT.=FF'/J$8 M53(G2'!1NMH03(/7BJ(3&6/ 2$Y :6[*]B-QW!S54'9M0#5U@,+[4IO8%&QQ M)9,#64?%^WI.%1G6<56V)FVE;MX;X#X5XZ:H!L+2D<+N(,GPO?!Y0F1Q)E6& M6 \TE< (3J< ,G&NJNRX;+TC?H^F<6_(G#IM=;Q:^I]H<*L-==/Y!5N>/&0K M[9/.)GC\EDT03LM@)21%;KEB*H SRD)(1B%WWLK0>FKR*?IJW^YO>;Q^_]>KJP,6(ZJ@R+-U M%),C5R3/+"&'@%;5A(]K?F]L'P+'3L4-C,OAE-4!$O?8'VZ<_B>OM&;D9HM< M(JBD)2TWF<%QP9E5.$&M\K6(J=ZDJ>Q MEG!: Y'' KJ4B%E%RWC[NMIC*!X[ =CA+G^@.CL [^U39XI07R\W$LZ;8\,W MN'SWD=0R<=)((XP#E0NYW)OF'U9J*$+9HE*20K8N2=J-LK$SB .#<0#U= >Z M#0NK9V?KCXMEW0TF6HFD5&(@+"-?.2D-T0H$(YTL(4@5FM>_;:=HW)*X$X/L M*'5T"JY7J]49<<(XQTAA%Q1?=#V:MN!8X*"3\\RI$ABV3EL_3LVX%7*C@.H M-70*J)OU-$6*E'E1H)TA=DR(X(LQ)"IG?,Q>VM)ZMO-W2!KW+&04:!VJD [P M=:-XYM$-WNO(>>H'9-"R]89EAW(VBTUS9XLT%IKYF"P M?<%E7+2'V[VM7F$.1H< B=>NC-%RB"$+D+8V ,&H?&S=OWL+.;O!Z^D>?;32 M1%\V[-96[Y7,VM9ITJ$6 W+Z(W#!('D9I4-,0K0N9WJ$E-W ]'0/)UIHH$<@ MW:I<]EX;GAQ$(SSQD@+$.J5<,6W)>0RTWP]8.'Z8F\6?[KE",UWT/YS]2I:K M1:DC6U_.%K\?/:3]X8*4])(-: MNI+HGULW_]M&S[%FJ$ZVI&>^62Z^3$ER/WW[VZK>6;YJ^O$LK:=?SA/$EQ)@ MN? @#2,)R$(+@M624&< =?0R"Y4#:SVQ8'\JNRDF.0Y!=RW5P.KJ8%\D#J_+ MD"<)%>>J-LTNND:XJ" JZ0$Y2UHR(XO1[;%V3<"X,!I:V_?!=:#H.\#-L_R_ MSRYFE;U?O,6T(#=A,[CWFJ7WBWVEJ8OV67B$PJ6L76<4N! 5Z)2,=EY85,W; MX _ Q[CE2B=&\>A Z& Q;%S9UY^KANLLMHO)H)/$C!;DSP(3Y,\J*2QX+PVX M:%SPAA71?.+SPY2,:U;'1\A#%RF.4U<'H'N!]&:*S2H;$^V-M[Q>NXW:TA^. M(C$73/W6F>*E\*QUQ]";[Q]Y%&=O #M8-1W ZJ)X:D/[ZW)WDM>$9Y=D,!&D M=)$6B2-ONG +O%96)88VF^:S@;=2-/(TS]Z@UU!](X*QYC\F/W]-N*HWDE[' M%3UVC5?CVY]_#,L/M<>.3E)&9'7$ =;;= KH"P$FFL*$XEF%.]68]Q,KN[UJ MY(&?O:!L +WT8/)26N)&E[<6SXOIZKS6F5A]L\1/T[-/JYLCFIU./!ON $L= M5^5$@>CKU3AG3!(IL]0\,7,8I2//).T%O"=4]_Z@]N>@GN.'FGQM NN_ANF\ M2O?UO!:8ULW@FADOHA Q)0BZ=JO6OA;V602+'$M.0G+=^I;V%G)&GH':&T!; M*:X+%)(0E[63]0L\__O5_%[O8=HQZB$BTSS5%J_D)*M,#%+P!4Y(Q4I(*37O M&K 382./5^T-F>V5V2E&[U]SFABOLS#Y]H_0H]4Y;$ ?=_,3;W/VM;1.!,KL\14"WSJ(;K2M P]YEJK(*'2R\-;%AX=1.G*AZQ/ <'-]]PSN.X-B)XPSKY238(*L'>H\N>\;G);5PN.F%S*I$S\"F2U!()S)/K M TA.4+;&%=G\_L%.A.V&T#_^0=5PVNP2HI?^RULDE_P,)[R.FXPV052.5IKS M]2M5>_$XQ*RE9G'X7-4=HG:#YI_G&*JM%KN$Y<:)OI+?14_WS7A![8T34H/3 M(H RVD T04-D212I@@U^^&#_,>IV ^J?YSAJ(+WV$RGM7C$[\=GJ8E4FP8E4 M1\IQ"@6%@Z22L2E+*<, !?([4C=N*=3IJ^>'4%H'7;(?X>S\%/AA0:K,C#5" M@"NULE#&#,&Z"#E[:4KV06'K6U+[4]E-%\^3W!%JI:X.-G9RDR^VHV?I/\^F M2[Q5D,!4YA@BL* HO!,Y@?.,7&F5,^TN+A33VM7<1D^7-XB:8>%NPY)6BNGB M%)ZDELBO7;TDL=;"EU_#NC;+^_9LGI\O9C-,F^' M\MA).8HN+?@M ET1^3JA-FHVUP16>4F"M[P#M3EV7#N/)C&4;I75A.G<7Y02C M85K9 I'+.E'=:0BU@T>VPI*[DVM)X6BNXKAE]B<&Y$!*ZS>"N>@F\J @C3/) M]:ZA>+^5';3[_TD$4PK=8U]C^C2(;G< &H# MH]II^74Y[SZS^?.G0#Q??.+9Z4M):7NTG,1VX?#41@EZ%0,U M.M-P1V[IR\7R M+7X^6Z:/Q#(9BQM#5#DS)=CJS]@L0:DB:G1\.U:(V>):=[KZ/E5=AD>M M@3J0DKIP/R]YJI>HJA#G>763'Y;IK1P=).O(G8Y9@#@F,*[(8V5OPB=?Y9IZ+4+0RK*LU MTX]<8KM'+%?;%1 /:"69"%#&I0%'Q#].V/$- M0"]>\OZ\OP!AWT2MH=AZT:4P#3'&!$8C3UF$E$+[QI\W*>BF'7(J03S!ROZ+MIGZ.EW@%T;F3_?\5/$9<3(R5Y+4Z0-&K0+$4! MQY.D&-JX[%)()K2>-'B/B'$ATT"QCP^Y.4#*'<#D6KB.K G6 /&1XG*66=BZ^ST5H+&/4-N#Y]VTN\ 2F]Q3?+ M_'-8SJ?S#ZL++D1@=5!4@J!8J%V+ L2L"WC-LM6)L8*M=ZN'*1GW/+@]>!K( MNP/4/$OI[-/9K,:SFPN'54(4RN)\-?V"YYB>COU=("^^\Q,9-#: M9&6A^#J1W&<-7@@!V1@FA*90-K8W4'>I&!=#@RK]H<%!AVN@G].[QV;Z2@H@ M1!9@I4KD%PA3&S=;T('GD(12!7N:JCS8IG=*3+7013? VK!QSL"+LR6%'N<% M')O)]C>F;JVNJNPG6(HLP5 DDNKZX;5W2/8);&'DAQ9M>//1RWL3.6YX>'(# M-YC^>MA#KVZ"U+B%@I8+-5Y=!_GIV_W+(E6L-]?FJ_FY6"8L4;RDW M_PPXS<@;IEW!9LSDL#0_SFS)P+BQZ4F!/9K>>P!]%>OU99/[2WO"WR5JW'K(DUO=9OKIYY+&-K[.U]6$(0I5B]\B MS[GFB ($4SQ]&TNQ@2<*!4\(O'.JQBU3[ 5Y!VBH'^C=:J+WR%G*AL%X=T]X MBR3AU72-[W#Y99KP7!BU#]^'^>8IYRM2!J:-YHX68ZGN.4I:C"( \Y:\=&&X M#+8Q<(?F:=PJQU/"OBMT=. @7%\,#*N/$XM1AN 4H!.TXA.Y.#Y$#RPJ(R*F M*%5K9^ 6 >-.-#HE#@^7>S^6]E9CTHF3LH@B)" 3% Y&@<%Y[.3P;W.2VVSZ7YC_@V1&KLB-48B8:ANQ>A=U M219X_N&FKT+">%W>AZ]U\JPP-DC@C+A7RG)P&0WPDES S##IU@GQH7@9>0#1 M*;'_W\%6GB?%[HM6RN!.%L8;:V MU3.AU,L:AI$#[\E(H+":*2XR:SWJ93!F1IYJU,/"."T@^G$VMLF#N,7IA_GS M,R)OGKZ]7P;RV3?-)I_-\^:[V1TY70DC\"(U*@].9@O*TQ9:G,+ /?W% M6AED:)X)"!SO& R?2F'P0BB).D1-QP(R &$. ;*//=;1IX+W4 M!/QQSLP.5T'3JY'M2P+0H$CT/T@V*0I*&8)'9*!-G23A#&T?K1V'8TH"AAMM MU$--P#[*^ -8S(#WCH<\F;NC:5TE6VC('&CB$TSJC"E=47[?,A1 @:90!4G M(01/ZXK%S'@2+J?66:M=Z.JD.+,9;K:8N3:ZZ< A:YW*J#XI.:&H$B:(LG8( M<3K76(UV%M0R118L2ZT/20=@HY,Z]L'0/+;FFX&_Z6;_[NS3I[#\1EL?!62; M7,5\?3'!MG)*>V2J;1 /V-QW?'*#S?P0'AIMWO=?<]UZG@?K0LQ@3>V:D$J] MS14L9*-TE,&;J%KOV(]3+K'M7NGQ^W]4_@3Z[Y/ _HR M3)>;RJ=?,:S.EH<;T8K+;LSAU5(DZRPXE I4 M;53JI0N0M-.D=PIL>>M!G=OH.=;T/?3L:UP73W%*XA:,J6M6PD:UU@UP\5=&]1."7T:EP?:5(9YOCE>\9#4\'?..R^^@EJ)S@8?&"3#$JAH%3BA!226O)9<9=?M/>??KT8KM=" MC"JA10FNU,OE-@D(MNZ[EEO+8HC6-N]SM2MQXQJGAIAYJ,ML>_7T::KJTIX3 M6@],:=W\]0;FYU%J&AF:R^=_NU;FM5,=5#9UVLCF4.H UYK2QC#'$:6 M6Y?4;"'G^,8?]QY]#5OA$FW/3D'FL=1IH8SB!QL@TO8:BBJ&J]9691L]8[=C M:(.)^[T]&FF@3\/Q2RTI.,AF7/QF W/Q$ V-+,7YHZ^ P)1R9.PY: JO:SO$ M3'XO>I!*")T#-P);WS"Y3<&Q]N 77*T07W_&9:A!_?G#K_%H4@S.$119-KY. M+^+@/;-@!6:C-8J$K:.\[12-:Q..T/Y=,]!0\'T:@K\N%OGWZ>R@KWVU@ M#!ZFHY$YN'SXLQH,K(47JZ.0W#HPFPEUM(6 =Y:<3Q.B M4VB+C*VG1>Q%X+'&Y/)E#[K$68=2F 0FO0%%\7J=0)J!!>5CL-QYTWHL\A9R MQC4CPZ'FKI5II9$^3*;+W@4=(LIZ>"MJOG!*D M]J $,UPFU_PZXTE-S^-ON'$ZD8(*CB>PRM!VS7(&6D ,BE;(1(G9B/9-#+]+ MUE,R1?N@Z'[I:V2;WBP7 M^2RM+UXWQ=5#)P5<%)4+:MK(2..*!PVA-I7GBK8TFSAZT[H@?Q>ZCAXA?>L= M#T?Y)3I76^ 57MM71Z'!,0KZN7:,EE#(GK>.&K]/U;AVJ#EB[@V/;JN6/JU/ MK4.>;@YDPCP_7VS.Z7%^:%WBEJI9[CYO@"[%X$M+A-\]V77*\-QII55'#C]'ZT,6GBQ M% D1I8M26\]RZQY!^U$X\IG38-AZZ*+!0'KKTZ*]P.7T"SVCUJ"3_,X./B9_ M^$$-[-@.%#8R80^^B6#P'Y@_W!HZ_P#H!(],)5,[W?/JKWNL=1,(1:*5)EN3 M2^L>>0>W0;J/U??;UH?&""XI (P@M:G[)$")@-V%('V69I4O.S]6/H'=?T MG0J3]QI.G4K#?9K%M_@%YV=XHUW;(3;Q@:CH2K8.,*&JU^X[W4XOW%R M'M'93.L1K*@%R(DBJUA(0EAB%"K%$D7K@\9]:1S993L= A]L7C^4,CNVB=>- MJ=\L%Q^6X=/!QO#^DUI9P>_0V,C\W1N=KBT+NH R5;\Q1(B:!6!:U5R(-I&U MGM/3MBO'_2OXORW6^%#0$0IQ)D0 46]H*9X81&,X.&6=D84V?=.^+\F.Q/4P MLO@@3'R_A54+=?1I6.%DQR!FYAS2J@U;UU7M8618"PE3]R,5CZLEO3%7X\6J^YDK42/]1I(;+>8]2059)"<.-U:.Z9 M/$++L0;E[G.OL6R9L,*1>QU\O3 >/(:CG47WI/#8PP]=\IOG;1H'UW3C]7-O^+V&H>"%J#;U M2#@XA"@ NN85&1J)ZJWO66G:7UIE?;<[)0 M'P[S QY\3I.3I._1U^PLZ<:+GLWS12KL^A3Q"DI!NAR,X$"AHP/EDH00:X<3 M(6IW9&F-:%T8M#-QQY\G?>=%#[G#+#K+BZ^E@E(ZVRPI6&^= M;CV$SK'/F8; U_V3IH'UUZ<5>W<65_B?9_2@G[\<6AUT[QE-FBUNHZM53^0[ M+[D"4D;)T&H!WM=2?<80@JA=-ZWTMIB",C2?1_D(+4?G6.\\]X8;[;4MDFOP M!A,08!,$I"V8-G:NE,5(? _,9"<6I@D.[F53FPB^5ZNQ2RO4X=NZGKZ]ZUAM M7J,TDB#C08M:=869]AR?* 2624@516"B=;)AN#:O6]KE;5[U[?S/ZQ5#.RGQ M[05D7UM&R.0@*H.0C,!D.7ILWN1V7QJ[;?VZ#W+VZ&MXO*+Z-&T/=@A\'^+L M,#NV[7%#]3-\B-I3=#5TB9.*N0"D\+WN:PI"(N>80GIAK7$JV=971(?L:O@N M?<1\5@>G7;WE_/(E10>_3$.4C*@LF'@2LUTT9Z+AKXCZXN^>EC:;D/LW?=WL5'FX* M=WWT*3HN#F@BO]-#+]N0M0ZFNOQUM@3Y_5$08G(R3+ 2:&MN?7UUF+Z+YPGC MQ:?/BWE]W.OR@-"?W1?ZC<7B,2&J#(&AJ"TT"H593H.N+4E5C;#,=S%U+!%= MMUOS+V$ZJ[Q7!S0C]R9S)T@.MCK&SM MWAQ#[TXX'6R8Z( X/9D2^PQC;O0\/CQ@N?^0MMV8!PQ"MO7?580JIDVFT-0F M@E76X&4D%7,4JIX]>-V^"G:PGLS7!OGJ)><#O]=W0)U4MD*I"%I+BLTQ:0@R M%$AY,UN!"]5\#,6NM(U="-P&*X]OE0TUTZ>YN6A >["EN?7[S7HX#VA?[O3R MS4(7YS""2X:3!K4#;X(%9K*/1GH7F[=Y'[Z3\V7Z[]OE3GD'M@:%U>3!@6-: M@Y*(]%7AX+0W#&6VF%L?R1U 9E<]G_?!R2X]GUNJJ$_+>='_6ZYWT2O37$'5N)_1(,= MY# O65QL8_'EV;J*]--BN;Z8'GO1N^8.[QRS"P$+L'IW366I(+@<@.?,D@A6 MF=C:T6])_[C'1:>']=W\CL">-#Z!UNO[H.GQS7H E?5IN1YL3WJX[=KVN*%:& ]H MOXYI&FML5"7D>IB8"!N)T'A^M3<85^=+J\(ZZ,[;I#+M]=EZ59OCTSM>+I:_ MAV6^//N\Z]HR4:SCT8,L*=;^E'7HMI80LO1>9*MTW.U2]\ZO?+I=A_DV4U=_B;<"O,T#;,WB]6FM^]5S?'-^CNF@THDX%4/9AY,'X3 <_"B M0'2%/"!B#IQ*#(KBY EI85/S_GW;*1JW0&TLD#;44@>8^\Z2^VN8SFMIWB-+ M#Y=EL?Q$W]S,LTT\^^)EDNIR'V>4K5C]]^RO6_L6?/T[3LR6&>\ZY$D2VC2 R=Z!\=!!L M4F ,3SD4B\RW;UAS,+EC]ZUIC[0M\Q$&U657N_W/\_5T_>WOTTP6?F.WSQNP M;Y/$1>ZL[D3O3[P$$'"^*B,T.]$87D\=0CKMEL\7OU8EXNEL^)H.FZ^CQW3[:R8JC0 M :HZN3P9!Y&7"-;%J+F5]%=KM!]&Z;@AVBF@? (-=H#3%Q>OO9#H3]^>U0., M#QLG_,&YBR(HC+0,D^ 4"UB* "(/"E!8VI&$"L1G\R3U7B2.&V*= IE#ZJS/ M8&GK,*/#XZ9='COT**8A#Z..&X=#B$'!/;F@F FBUM-FZS #XU'G(C"(YE/, M1Q[(=.6\7 _NN4G%1H^O/V]J("YR)7?/=SG9?LWJ]1B5$BAI/;C":YHB9JX2 M^?2\]1"KXZE^TD.;]D'IX][J213>P7;_$,<7(GU6S_UNQ?C08 248'3Z$%+X[)TR1;3NA*G+0QD%^N%: M[1Q"\BA%=P7KGRFD6WQ#O,@-/NRRU1Q-VGSUNER<6?W71C[3Q;E2 M;O8#]$R2U$GRJ=X_)?_-(>K-V9FI\6@_]"+84QX'+Q.ON R M+DX\#^V(BP9;'C?4;+0!\R./3L:R!IE.7 (7M0>\#PQ<4D@6,WC)BPX^##T\ MK'U.XXYT?SO[%'%YX?[?2V(KY$IY#S&R HIY 9[V!D 94Q&.\RA;-PL^B-!. M)ZOM@Y_'#=I0"NLSQ?O01*1C*F(>?=I TYL&K8K9=<:.\IQ9H26DJ'QM<:PA M*JE!9">"N5] UM^/C3M_?TG.I^K-8WFOOQ4ECT!G)" M"\K0DO2L4$27M5&25H7*93 [MC.98U?"#(&NQ\W:,-KKTZ@]. '@O+HW/-C" M/*RO?F4Q#[?;F;_ =9C.V@TZ.):.H28D-)7/*48KI$#0M,&!#3*"XNC UQ9I M4>E P317SK;N\C+D:(5]>^W3!WY;S)?W6^]/K.(98Z28:3.AR2L'CI21KAC_Z=O5E_\Q)<]ZF3Y^^P6_X.S9 MU^EJHETTI<;Z*GOZ(S**^E.(8(W*2I-+S7+K JS=*.L$CZ>%S6/@;:?#GI!Y MI_#CA&:W-5.?@U9OEK2/U M+>2,6Q8R+K@.T4BGX)*7K%B?N(D:!&>Q'GG6%5,"2.FB"LK;V+Q1SA9RQBW' M&!=-3U&*="PJ 9:%VK$T)O"*'%O,60N5DD+7 M^M!H![(ZL62]A U-M-<3(!]BZ'+M"BM$[9F+Y-)63]= --H#Q\0Y1V.Q# ;( MQ\GJQ&]K!84=@H-C]-(IU%97*_;"GN.240W6H_<[!E(CUP]_$\7 M*SG$'$4M$-.)490D89B55)M,X$#EQI)J,N#)O/ =Q*T+C8&P\G MBZ&4U@$"-_O33R'] ^^SDI,K-M8-I]:0*&?()TG60I292:E]*+SU78,MY(P; M(G>#OE8*ZP![?WOW?KEQA;[=X\2IF)Q)CN*Z1!)2W(,G-XC^4-HD6X0PK4W? MX]2,ZTIV@[Q&ZAH1>)LNNL\^U+BNVNY+ZNLP JX5 \YD &41B7"'%( I%(*S ME/R=J/B1YL7W'CWNY:?1D=- WAV8J7>++[C$Z8?Y"XSK>]"OPUNPCDOG6)E) MMEK?Z "MC2PJK6WS*0=;"1KWBM'HD&NOM X0^.O9G 3Y.&+)>-". M2U!!& B&URG37A=K2G+-#S(>HF,GO)D_/-Z.5E$',&N1M/IE.L=7:_RTFI ? MFH1R)V@B9[+UW04-Q7+.4&7.I=9O+I@R,NW=WDD <#1$=+(>+85?W2WRO M*WQEVG09@,1KLV7O,WAC P3-LR22!,EWB !Y&U&=G*6<'C /Q5@NOY'4-@Q.N+1925- 6E;'OO%Z)9HA9.5X$$'' M9%I7G'Z'I'&AV!@ =_?[AMKH %S/OH3IK&X7+Q?+=V&&UQ[S;?]YPK1US$4& M0M5N*[E8B":02V.L$DEPE;9Q$X3#PFT0_72 .V*G!FG/R?S7+,%E M+\Z-,!^0Y80[A25:"7HS4A*C!L^%!^ZR$3D1C[IU2GI/$L=-%@Z+PB&UU0$8 M;[@JVR1HK3.QCG0YGZ^J9:;5E1E88YGAE@=LGO'9C;*G7T38QO4;0(\=H/.1 MQ;>ZFF'YT JL'= 8\@0R8NV.8S5$)&Y9';[K@R=CT+Q>_P ZQ_44A\#+;I:S MG?+ZO%C_/*P^UO]^_L^SZ1=R6^:;"^.O-NW0SC-OAU^6W_G9#2[ '\9'HTOM M]<5D+.^\_PJ6S-9K12D!,A;(XU,2'(^"4*JU$$XZ+EI?A=U.4;L.(@^_YSRM M1=Q:%,R"L*S>#2P&0O$6?/$2M0X)\W!CQK80-JXI:XB5QUN#M%)+!YOJ3V%6 MNS&^^XBX_N6BY=RFHHWH5<*37XRQ2DHP#2XX5XT]^;&*J9):!QJ/T3(NH@90 M^V( '72*I8N3)=JHE3/!01 .01E;@RZ*RK6/064OO8OA!&CJH82TC;9W@- ! MHN\ 1*_7'W%Y[B:>Q]679XG6"1ZL-62ZBZ. 2)#WJ7DM\.)>,2Y%*:VCSL=H MZ0] A^CZ[EC7%H+O $ /6^D;@771"85(8&FS!U6OLWCM$YC(?=;<.]Y\%L!W M2!HW;3'\_M92(QT [-6'>\#E;QH*O$.,'/[D.+N8<;# ]LFFM:;JY?:C>(:R %@)++ (3 E MT3+I@VD=V!Y"Y[CF:TC<#:ZU)XK,\S[DK^:IED/C"SS_>\)E,$'K HHVA=J) M7$+(4I"W8'26RM+7K>>-M*-^W&.KWE#<0,/=8_LMAEGMJO_7C>>8]<>9BZW."W:D;MQ)O/&P>K*$G@[WS'> ^)6V,T+QYP[+=J1NWG'Y\[.VMH2=Z$%6GCRSF]:M%&?74ZB!"3G'$ M=;R$3G0>)DT) 2E QWH7/8<(3B0*D@R9T(BYE/:WICLX#U/&H2B1F/4"B6UA M(#),X(,7]<"8:S;QZV!U8..P_;1RT=;-N/-7C0C&G'48(6A8%*!<$+ M2[N-91Q9T0*;3ZPXIJ_+R*=A>RE]QYXM^VB@ R UO9@ER*E1Q&4MNB%YJJ3 MFTQAF(R82@JL_7R0/W[/EKT -63/EGVTVP&RM[?_"#&IJ$VHQT/D*M! MO#LP4P^W8[!)"OP1\?2)D E>>=G2P0=&N+J2"H(P&&ZUDD=:2RZT/T_8B\"D4^QV3 MOAM.6QU L4IK$B1YADHSV,Q\52(F<$0O<,Z3#B*QE%N[^?6]O>1]FZOU@6K1 MO63< 2Z^UPQ#*U,HID7P/$=0*04(K@B0SB,FER33K9M&M&A-<@(S-#2:6FJF M Z ]DZY4^I>IV)1!G0I=H%B*,3T2?6O#?8?B2.F^@X M'1R'U-S!P*2P)"Y.W+SIM\4\7? 8+,5 .FC 6JJMJK-;"[0ADWO!DM#)-[^0 MN#^5XR9*^@/H@?KK8-_^93'_\!Z7GVY4B$T4E\Y(Q\C^RSHS)"($:1G(9)-W MT:'RK9W"!\@8-T]R.HP=JX%1#=TF)_U S>&[CXOENG)5FPT]P& V)@GG*9 / M=7QEM@$\A?;TE0E>FN@%OW,CXY%#@OW?O1.N[-/%U2E4TLSK.VTI\;NS3Y_" M\MOB6O;E7/8GJB#>Y_VG*!P^6!ZGJ1RE]QWKA?330 9": MGAAF5:2N_D7QDA'ODGA''B$)G@T)UO3 '[]>>"] #5DOO(]V.T#V]M)3 MG;(,=3"(5BG1TD>*P6K]J4\\:I0IF-0Z"OZSU OOA9.]ZH7W45H'"-Q6?NJ= M1%8* W2:A&28 E=ON//$HC9*Y&!:F\H_1[WP,>AKI; .L+>E %6S'$VJX]2Y MI56$*,#)0AZU*B$Y\K3E?]<+GQIYC=357[VPLNB9TAZ8)YH5A6ODO6@'3!9K M14I,FSM1_I^P7O@0Y#20=P=F:ONX0!5S$#(40(.FUATZ\+X@%&YU2L)&KUUC M2_5GF?%XC+%JI[0.$/A@.73R621N$FA9RW,T+2"G2JR]X*-,]*5N7FOW!Y_Q M> S>CE91!S![M/VN""BX(ID4(\E@1R/!9Q\@:N]2).]2Z-;=RXYJ>#URC? Q M*;LF.N@42Q?+S"F3BLT,8JI1BDCTE>4*;, B75$F-R]#?W(-K_?2]NX-K_<1 M_=A^^D/]EBF8#4X$6<=2$?U!&]JW::$%IBD$T5%IM]LT]J?4N7HOI2T:2G!L M!/RVF#_$@O,)$XL"@L5"NVI0M=6R )VBDTXSI_QNX=K#SQ]WAQD"!PWDV,&. MLE_="AE/FS9YB%!/)# %<)8C8#+DQPFK(VOM';>_ZW2">N^A_)CAM-4!%.^R M=*==XJ?% MC;V'RW<*:IOJKL.["'?X2^GLT]DLK#'_=;E8K?XV7]YH)/M3K;["]^'K MQ!G#=&T?'W(D_U-24!QU86"5X%X60SM&ZXBO">&]A("8%(.=@/!>&L> -ZDZ@?8OP7CR&7J%]N);WA[8_A_8< M/U1"WI]^U'KM>%&L%% T>>SU5AP$&0N(%*7/J(J,8]T@>TI7QUKBM(FN&EZE M.&UA^P.+$>M'KF;7KFAECE3TWHJV4Q3$#R+'TQ3+YT!@KIE*9*S4NY&)3*[C M4$P,1H5(9K?U26@/Q?)1A*AR#)!]JF>)C-PI7T-EGT/((EOI6U=)/?UB^7VP M]8 M++^/!CH 4M,3<7*!"!X9(<=Z#,5C!N>2!ND#+UYY;^-_%\L_!MDF@!JR6'X? M[7: [.UUU\K8$H10A"A/S&!MDYNS V.U-=D[XWCK4^4_2['\7CC9JUA^'Z5U M@,!MM=>:"9.UBA!$R: J/Q%IZ[$Z!(\\JI1;SUCYU17Z#_6=]/F?L%C^$.0TD'<'9FI[W;66G'$1!:10AVEX MYL#QVF&>$8?,N,1,Z_EK?Y9B^6.,53NE=8# !RNQG>%&JDB1EE$D'98I^E*1 M03T&BJ*4'$SK-,H?O%C^&+P=K:(.8+;?01-+(65>AY[;2#N]]P@NH8 @.44Y M)?@H6A< _>%:;Q^3W!M.6QU +^7HZ/UNK-833?'5[A:O?\8 MYES\2I_\N)K$9)E!PR'Q&I1G:8E[6I(VEUB"S(XU[\_2EH->,M7-H;;7E.9! M]?Z'0_V-NI+-6&O%-9:L%!D;$T@8/(*+]*TL2H3:&E&5UK/2!F6H%P/_M-;$ M,:@XMJJH@T5R*8;7R]JN<=/<1)8P-3PLA GM<%S62X/64JRO8JX=ADC^+-D<"_/!Q--B_V$Z MGU)W^.$@W4"''5QH.83'NXM3*J.R8098YB1C)4C&6#APQK)B]'U6K2=O-R#[ M*?6?/S6*C]'PT?7^H[80_[D43.OI%_PUK*O(OKT@FE:C=10_@IQ3U%.WDM9I M2JAY2BE*1-#)^O-F:D$)BB^1!QF%+SJWSCKT4$*-FDDN(P/N$_E.B6GP3GO( M6"1+@MOV1:Y/OX1Z'ZP<5D*]CUHZB/H>J[<4.:M29[JZI"EX586V!D&QK$S! MZRP->M9ZM/,3+J'>2^D[EE#OHX$.@-3TG-07XT/2"D+:3 QS!AP+"('B0JF% MM-FWMFU__!+JO0 U9 GU/MKM -G;JW&34BE0%'B>VU.!'/D0A0&!0=7 4 C7 M>NS'GZ6$>B^<[%5"O8_2.D#@MHI4 N=B$_)A21P!3-C+7:>GOG%/5/6$)]"'(:R+L# M,[6]&C=9%B@0TV R4R073A*RB@.7FOP +HKB_UU"?7ICU4YI'2#PP?I2EGT"'3U'+J$^)KDWG+8Z@.+V9DX79T?TW=^GZX_3^>LY M_B\,RZN>/!,3@^?%:JA"I$ H&@B&99 YI!"Y]^EN7^J!VW%]C^)>,M'-H;17 MDZZF>AT]SMB1U6>%7GC!Z46_O-\7]9O5-=\)K8M>A]H8LI[F%P^>>W)?$IKL MA4J8XVX12CNB>K&O0T%V5"4^*?!>LGK!. $0[[!N1)8N1M0E!)=!>ULJJ MNI8E!0B26:506_+:_ P_BYA3ZEB^$0X;JO,)P7D*UXO6)]^N;N&O_]3JOH]$2H/4DWW684;+:)5L8;+HH''6L_" MK %OA ,6#$_2!V]4ZZ1^TW;>]NG"<5!=-;L^T;3$O-8ZSPFYQ,VE?!?EQ@^/ M*!??]=$-2K\/XJ)1&??E:[Z]F*[2;+$Z6^*-NERN5+ 29&1DHPQY?#YD"0Z- M3D9IETOK.[);R#G6A%T]^FWXG6^?[5(V;X&R%C[M&JK$V.M@BKSCZ^V+YCU?S-\M% MPM4=EDI1-G!3H,3:&R"IDS.(3LG6M[=V(&O,FYP8'S;X2[M,% M_P7#"E>_A>4RU,N)1WCTMR@9!%!L MC^ 5EV@%(CM'S7'!PIX ZVC-L77HLB*5G=DLA%4C[M)ZP<(DG818 &4#RB?WU' JB!Q1HPY,9.E,Z] MMBP.JAW#EY$1D3%,;$ OA'9D'HNF?Y#['I5PD#,O*L2<76I]>=Q/R;CN[6!0 M.4C0'<#E!N=*9".3EU!7,)/W+1,$0[=H(=_(U9)"QUKWB.]G/P9S2!N"XC!Q M=H&#Y1)Q3?XK7*;%]$N5_J:ZSZ7$2@P!&.>RLA+!6\MJ_4>@7R1E1>L5%(^0 M,ZX?VA0K;40^(GJ6B]7D/0D?J^W[!>22/USEO+>FS X,>[+&P+UY.S M&K,4(-'1D8I1UTG,%G+0 ;-03.XVK^,IP#Q$P#B ::C8>6LIC_W4_GY^N?H4 MYXOYY<=/OX?E,J1/ETM5-68'BB4Z%"@E$#DHQ MS:22K7=6WB&A1W_F0/7.V\FZ ZAL1/-]0N #+CZ_*77ZZSI0$,BYJ=,P!08R MUCY$B,PYR#*9:)5$;#ZNYVFJ>K1#;0#56"-CNT'WL?-F8[;G='#PGW=Y$U:[ MD"IO=:&2HMC4\YCH0G<6F98EW[55#[A%>WYX[#Q.>T -+OX.S-?WC+V;?ORT M>E/^7.)Z1,LD]R 5X8EC7=(GZ9"K!^ .DC%NF?SH@ M'2;[CB'D978IKK=6UG$$P9)E346"E,R5Q++GI77'?J<0&N@QZS!1=X>8?V U MH9A??*7?_8BU<(3(G0LVYJQ2 M:[=\7QK'[=L8#&.-E=,[^-YAS=G=#D7XI$0=3+ E*\VX MS,.6;CQ-X[A=&J<"W['*:0:^ 6K!?KY<72[P=V+O\^7GVZ4*;^+%]./Z$\L_ M9Z3'[R5T3+-&FP\WJS1K*H%A"M.TM(HY21Y]U E4LO1OVB.@,:+.O,Q.M/9H MVA:FW151C.0-B6.G?D\.P4-4OK6V"& MA$F"A2B(2R\,T[FHJ$KK!/#>1(Z=%!X'?7NKY\SP5\>&3+3UHMA0$T_U?&EE M(?#:E$.GS-GL,+!AJD]WI[&K-."IT+>W M:W^N/O9N?G'Q\WSQS[#(DVBE=$G480QU !9B'8K-!=CH.-/),^5:^UKWD#%N MAG7R>3&^C!(%C(X0VQHX[(+V?C2^B'UZMM] MP.5@)3X BKTD>C 2Z,*;SO/[55BLFN*!)%$WYKR\)$IFZ=MZM\K%6B>_A.EL MO=:=^:*],QXB-W23*B1.DXH@HI/6*IN#:.W6[$[=N-G\H3#56"L]V1\;O9-U M=*/5K#X^U!0B1]J?U[,\W$#,.U?X M,0,P[_]1309>[D#E*%ZPR$5PQB)DPRBH5DI 3)[7;6?<>I\QG;<7?#.%MHXL M6U'0]Q5_^.QVPU)D@J>"8 O2J2K"0!0DC\SI6$DCO6A>J+@[=7TX0>TQ]?"J MJJ;ZZN J>X2?G[[]'OYKOGAY$9;+34>ZE3Q)G< BA1[*YPA!&0W%:1.#H(A$ MM9YIN =YO6R@:HN0^6G4U3<2;QC[(WS&;1>\1"XL!2L@DDCD'V@+7M4\G#.6 M/(WD='/#N">)XR)R,*CL#LFC]=8!+%_A5[R8?\'\ =.GV?QB_O';ND'K:F:" MSR[KPC5%R(+<5,TI8"[$G<[!"Q8DMZ'U,\T3)'4+N^/A,!].-V-W^KZ\7*[F MGW%QU4M:%\*^PTV_SDZ;I7)O27/BQ" MQL]A\=_7B\^5"$&%.H45+2BL4S99T& =Q\(\(N=\)_,W!O7C%BN>S)9V#XP. M#/,CROCMNA5<".63101$[4%%;NHS7P2F=,J2_'+NPNE"G-_ZF&(U?J1]F(+Z M!MTOB_H.@YEEFRT'ST3=C1KI(M*,Y(?1YAC(P6D^+/HIFKJ-9@Y$P>XPVU\E M?4/L14J7GR_)MF-^\7F^6$W_=ZW&B7 A*^2C#TA MZ!Z@LMLP:' 8ME#;_L#T&V#.\&/]\(=3X+,N M$I.A:- +%F*B0#@?%([GC= M#&U1V-0Z)GJO$])K:U.7H"V MGIR5NA+7\40FG\Z9"-(H?7?%_)#0>Y+>;F.9P8'95I6=W]D_M_T0"C\8XU]Q$>>CH/R' M/G.;!(^U\%[&4G>\5(].F,RB4$Q9D\X>752H ]MMW<)@6.YBM,"90/@0I9XG'WKT5>Y;X7??-,ZFL,12)E)QJ MWWPL$+Q-D(HQ+NK"0QS?](X_VN",T+NW6L\3O.N^^Z1$C+H.S==UWR[W$(OB M8&W(,B=1U^Z.#][11R.<$WCW5>O9@??[;OTH!<^>)="A,%!*,'@$N>..5C@3&!^NX+ZQ7//?TI/K3O]3Q]WJK4_O+$*PM@AA2,2R]23" M!L\1@XU>Z!&1^ZJIS_$,#[2"3>XX+4>UK$WX@$UK=RF];EO[M\,$\H^ZI7ZV M^G9K5/#+3_1A7$YG]_S9AHI#A'78AQH(L@&'C7H#WR[F^3*MMA^=XJWNK9LY M*]&0AQ)\@AB4 ,4] Q^\@N)]MEYY'TWK+6R[T'7L!?#[_.MZ_>>OL_>$ZQP6 M^?NO?GN1TN(R?-=H*P0G;B,#C,K3'5>GL)F"H (J'ZP(6%KWL!] YKAO*\TQ M=?=*&%IQ'3@G]S,T\2IFQ^B.8TSP>GTRB!G)Q0I%)NF2T]H/>A*O*!D788,# M8-Y<&]T,[+B?EYO#^NMR>8EYPIV22EL)HK[#J.I21>X0C-4H D-))_0D2+M+ MV;AO:WT@[RAM=?$B?#]?5W/7)L'Q$AW3($,D?H1F$ *N"]Q0:BE5TJUW,SQ. MT;C/87V@[B#M'%M^..1M:BRS7%@'+G(2C# 1/-<14/LHO, B7>L0_XC;=+#G MJC[0M9M1RGZ=_:(.@=$_*&P6@-U^M MK47??_;'02(A19UB2L!X*J"BJ1Y7M&!4X5PKE0B.C4_L7@0>;:@N%^E36.+- M1Z_79&UW*;WX7#>V;?ZAL9 MN'L_2$#\=\P?"1@O$OW1='4_&&T03,NZ*3W'.M;-. @R!4B%(DPNF#+8.MP_ M@MSCQWWL_>EMLV&2-F8I UB1UVN:JS="_D/BJG@Z8RZQUI4=!Q,[KC$\%1I_ M'!=R"MUVD+C;,O0*E]./LXU:ZY2?[#79>73 F15U;0(#GYR P#F3 J-'V=IQ MN9^2LX/?(3"8-]=)E\C:#@O FG[D.9,L:J<6DQ9<2 HDABBB=YJ"\L&QU/0976 M;17WD-$;9 [1[[RML#O RR&&^K?K[C_I90E"!V"J3FK2Y"X$X15$DH+(R;O8 M'%E'$3SNF\(XE^+I--P!G'\/?]7P^R8<#ZO+Q73U[4VY,R']1BI+/C%92'3< MD7@QK8N5P#NN8?V\)[S5B*UA?!"AY^?3'0BDNW4 @VOUC'(N;RY7RYJY)3EL MD_37@YW6QJ)U3F;7[PV5LSF(WPYR.CFQ+*SFH)-1H(3U!#_Z-R?I_X3@+%GQ M\>_&]CF=S8U5 A%'G(.H[48JTC'TEESS9)7+47#G\W">P9GG7_9!SL.W_?YZ MZ.#^?B"RBX(5[P.#PK ZU?7Q$)TB5G0)-5 MMF&="BDXK3Q8J^CRMYQ#R!R!CI4HRIM@W/!YN(YS)7OI>==G40A7IQ [R$4'*2UZ'EJ70)]/KF0O_>Z0*]E'V"/B9;E83:XB MC/7A2:Z(E+,!],F"DG1X@A=U-:#2C$*99,I.UQ']X%L H5_=@./N-WO)7!Q^ M\1PEQ3'G,&]IGKRXN-C27]VVS8E(RJ*LX24SJ6ZF31*"8I:D89)CUAHI'ZN> M76+Z/Q_G7__MZAL;-%S]Z@8-C]$PCJTX3IOSQJ+M 1ZO_WPWX2@0K2UD&R.K MZ]D8!&0(RI3BO(Y%YL?>\?>& WUS'/6WT]Q=*.PKQAY4__*/_YQ04(8VL RN MML*J0OB/K!1@F(3EAOM8'IN9LK?JZ9OCW G#J7Y?,?:@^M__OS\FBNMDM9,0 MU^O)N4)P3I-;9)SEB,KX\MB[[-ZJIV^.4Z8^G.KW%6,/JO]_WO[GI'#!LXD" M./FQ%$;QVO!,+E$JG'Q;)FTV34\]?7.<&O+A5+^O&'M0_2\_O9T$9V.V1=1= MAQ1!%U00C)* ,FLK@@X6'PL"]E8]?7.<>4'#J7Y?,?:@^G__\^>)52S*XA"$ M=@17XSE$G@58YG-*+,OCG.M)WA5+^O&'M0_#7.A)H!W;P]Q=B%ZO_]YXE$8CJ4!"5)#>]+:7_7_OMNI;SX*9D#5[RG&#I+$-ZFOWZYK&1(*Y833 MY*G6(-5$ T$:!.E0*J,H?N&MD\3WD#%NJVK+MZAC9=P53-8C<_Z85SV$BTT? MT*0VT>88$]B<,RB-NE;49TC!IN"58CJV'HGV*$&]/&,>J.X'X7.L[,^H#.AJ M1=>\W/O'T]KCNUJW^\[K$J] -CQ>'1M3J6MXK_?@H7I#1\ M_PEQ]5O]$:2WGVY5!UY5D'V@C_ST[ZRLZ@4G.S:T[:&T+J&WC24I7)1,6XH4?"CUL8>#=RE",4E% MZ3V:YG-9SJI(:R\][UJDM8_0.P#/O75#Y+MSRPJ@KK4&+DF(UA S7&-6*%UN M/AWO?(JT]M+O+D5:>PB[ [S" 6:+9,9J MJ43K>6./$C3R JD^;[UV*NP*CYM9RA.3A+).DB>;0QUD;0,X0^I]/!&TGZR[PLIOTQ"G%^N(:(*&SDRI9;&22U#)6HA<.W#6 M>JF+][&T=M'O):27$M3A4'.HU,\H;?BF%#H9=3+6=Z/=FR4 '_KY@W4'[L)/ M!TDY[90KR2<(B)'N0[H*(UV18.H:SY)-8".-=3%]^ X#+^<7%Q39 M+,+%S=*%#_-WN+I-,9E@I)M$U4'U5BA006OP%.< QV2R3R5)WWI+ M^$&$]G(ACX74H71Z["CC#\,%#QX96IL9H%2LLH$0.)/K2>#*%I5T&&Y0X![! MPPG*#D9%W7Z::+:/:+ ;^@XB=-SEKN.C=2B=]G@[WTX%UM=]]ST\T/>S==_O?F<3:1^@=@.>^VB(;5#3$!20C GGZVI&$4@:-=)ZRY#:QOV\A MUU[ZW:&0:Q]A=X"71RW[S<&*I9"86IU,*DZC1;+B3WFD0Y M&&H?(*IC1^Y )#P(MA9JZ;/HYQU^Q=DE_?7Z!^M^M>WO4+P6/GY<;'*@\=LO M./^X"%\^?3LB373PMQIDB=KPV2A)M/WTSP3JJ^K8?TQ7GUY>+E=D4!_*9OJ=MQ;VV(C!CW=9 MV$93@80B5)# 8Z3SI*0"SSB"LU%&IW(4::<4Q5.(>8B \<:T-E+LO+641X;* M"[*V1/GR*CKF9%"#]Q"$7*=HR-XR'4%&BIN+3 'U3A[Y$_CX_JLC@J*-"N=- MY#DR$EY?+N9?\(IN:SW/2-12<+&I^P_>9A#>.3H@==/63OF$)W!P^YOC9 J& M0<'!LAQSRE>=$[.H\VUQ\G28\IN2PP5=/F%7>E?<3YY>#=^AER) YA?(J MD<7U7#(03GBOT,;"6M<$G2B_?#6Q[TUY/5M-5]_^,S<'%%P?*G:VV]N-'6YH:J=U(T)"\9I*O[IS0$RS1PKF6)TDIO6B^)&X21 M\\AH[X/.NZ9X?/V/G*/8\O!FL>5@G;\KUG$15 %K--TX61AP*2;0-F6%3EG/ M=L+O$[F*^[X]+N0Z@,.\H6[ZP-9M@5R%A,QYI;P"*^K"/Y$*T'_J(",O@C"2 M=YQ:L!O ?B1@O/SH\3K]$2!'"GCL;,G[NH4[+/(]SL\VWE>LA.18AE)94K9R MDTE.^2<=P=T^-3HPCM7E?##!C@V3%U^^7$PWE6/OOV":EFFZ,K[O MYQ>7ZW*S+5O9DU"2-2"-9L26=Q!C+7C,R)1D0ED6=\++[M\<+]<^ ' &$G4' M^9)]K_5; ;_D(4FA(+O*J(_;*E<,(O' .?'3.D=W,+'C)N_Z<:).J_4.X'U( M9LEK],+9"(*+ LI%1N%3<(#&Q<2-CNU'5YY=.O!$ &J0)]Q'F^>2)WR1\W2S M>N.6])OF!!_]PB#YO]UY.G4MJ0B1)Y/!>O0UT2S(SH8"40=7^^8]AC/-];T, M7Z:K<#']7\Q7GWDY7ZY^6-R,Q=R_SG^>+5_#*NRN7% MB[2NI%F2DG#ZM?K3[^87%Z24?X9%GAA9E%).0^*)TVF3&8*4#"PF.H6N/K:W MGGRT-Y'G81#W0=5=@SBLWCH(3G9C<)),X-;(NJD]TZ5BI("8& ,M$L;,3':Q M=5?';I2-"\&!X7$0&/?2U<$(_(*+Z3R_7X7%J@D.WR[F7Z=+4ML]O$U4+HK. M, >12FV.=@%"#@&X-8>K=]AVAM_S. FQ?\#.[>9 MOO'5Z1KD&%Y*GAI1\ZX'(+R3($O]4E3,*YD\)AT MZT1.0_=QL+FM/1K0O71UI/OX>I9/E^IYM:5O^R?;X79M1R(\\8U!$CO[\'7B M?(Y17CM-H8>U=1*KJ?[V1/F4H"<2WTE$I$D4\>.L*Q%48ZX:M[=]@ MXZ933HVCPU30GP'Z MWA'Y7\Q\$K(Q1<8 S)BZ/-8D"(9I$#DJZ>HV6MM^4O,31(V;(3DUN(Y4ROAI MD ?Y*I>S_#9\6P^*XQ,=F,Z(#*+2$10O&:*,G$(6RS.1E3)OO[3K,8K&S7*< M'F:'JV/LBN4[K&RS,2\OZ?=FZ=M55N961D8H$DY!#JY6-JJ2U*:>0AO.A#8F MR+LK/AY(I^W[Y7%S$X-A:G@M]'=93IASJ+THX&5)H&P=DR!Y!I.#2BJYX/+ M[M:X&V).[JWO(_!^LUCO5_/TWS^%92W'^OP%9\OUSWO]5_U7/")SM=//;9"M MVI_^5IM@5RI6:Z6[S\1=&,E[NHFNTD^2.V,XQY,$(0> A[X M]9III1Q###%DW?JX'D5QNY;K]3=^4-F+Q:(:Y/4W?_IV\W>V=+RHYW?3$B"4 MU#)(A(3D 2B3#<2,9+*]%\;&8HIJ[9HU(W[T\1:GPNS#'=>G5/_(G;#OUBY& M;?7,S!N=A85L(Y'*LH#(F*/+PCO#I,MVMS:B)SI?KS_82S_U294]/U;R/<#E M:M:=CDX'I\A3J:D;'0P$$>C4<98BN1?2-VF5OO7)\7I@#U36774?(+F1%?[[ M=#;]?/GYBG#GI*J5)&1*ZW@S1LXILQJ*CIIQB\*E%BK_[J,C*_T0E_;A'.HJ];GB40A;I.-J-(PID LECIB7FC4XO+X;N/CM>XW$3Q!\NO@\A] M<[W17UZ;O%A\2'6878ZLUM*6""$Q"\8HF9S"HHQL[,U^1T O3<-C> K':Z0# M.!TNN!NV9_GM19C]$3[C=H: 3MIDAQG0&9*!EPIB,*7*U6MET*%KG4T:@H^1 M:_ \]>?OUS,OR&N,SYOOE0!;.V_T"7)+! <"P@JH^/D[@B&)DKK 'WO<+E:3-,*\YJ5/V?3U?+=^S^W MS#BTR6-0(.D6JJ5$@?P83V&,,$*EY)Q.K5-2CQ(T\J7>&PK;*:\#)+[%Q7IR MP"SA6HA7(WF*YL*Q1+ZT=.0 V6"!7.@ T6@6LXE*R-;MG ^0,FY%1'?H:Z&P M'G"WE-UUK!C3BL*OYUO7B\Q$"^=9U<:8[+5D6@)D',^*.M__ [!D& M@0-HX9P-ZX;EY?HV6?ZZ%<<_:"\Q -L)ID5DA@?5B>P]C<61/_DS-\PG@-+8%W[AB.PAG M^9!T7O^%BS1=5D?NU]EJ,9TMIVDC!VU3050".-9IA)9)B,4Y0$UA?E'.2F-W MLOT#$CENY]&8MT8OFN_B!!QA':K[AOGF]).7%K7-=3-H?4^V7D+0)@,:*0K# ME+39<5E,6\+&[8H:'>DC:?B*<0IO@'0A%47\2&(KH)L9MS?Q.Q\\^L^/7G1;V@N#?Z.Q. M>!(Q)"8 9=W5E&K->LD,O!5&.6XSAM8S=D[%VTXGS_WKY)T.0,_Z8&V\A6NY M9)9=RM:#JSW\2A17%V=;8)Q%DZ)RV'X7[XEXV^E@^7\=K-,!:.Q8ZNJ!YY?% M_/++L@Z[F\ZN*F_?SK]<7JR%-/&2:'>2?D'4/%;GA\;J_' MIU7>.:'TQ<7%'_/9#^Q&%75Q)H-7.@,QZB!898'G1$*6+BFYVW#SXVG9#;'/ M[7EW#$6.C=M?9VF!),9?9_>-L;G$#_-W^'5*8GY +LN)0N%,JM-"62VV(M<% MG#0"=!;9&%MG>._VXGLT*;NA]ED^"9]6C1W$<]?]79NEO??+G@[GYLBNQ;S\ M,%^%B]M_7N?._#%?_2>N;L9*3C1&PW4.8-.Z.T(DB-EP(!^\%,&R+\TS(X,Q ML]N)>*[OP'U@9&P+?Y\4XA-2^/Z/5M]N,[\)4\M\<6M0_X2SHBEFM2 M(S6Y M;,"Q*"$SH\B#$T'<76/UD.]R FIW.Q7/\A&X.S!T<)74Y2&I7HGW*V9[B4Y* MD@&9H.->ZC^DJ2-#N :#,GL>1&2F]0;/W2C;#<[/[:5W0.UU@,F=KJX/X:^? M<(9ENMJLG/B1:QX=-ZED,*XFZ5%(""X($#IGXKPPS5OWM[6A?#=,/]?GTQ&T MWZ.7\@/+=^^=]=S(6XN]7WRN&Y\F*:/W-@LP0C&Z?RR)7IE"8F#&B402T?%@ M9^1 HG8#]'-[E1Q5M7TN:G]T;O#[R\^?P^+;_'9!=X-M7D=_<^AYR7OSW<60(Z,(,!@RJXKG CXQ"5(%Q:+U2976+N'(LY2/K*Q[<[E:KL(L3V;9VA =B(+K"9,,@JWCK[5)7$4C6>ZFA?8A)LZT=[8A,H<[+ ? I)L% M;FW;=":\&%."CX!2U,D5F,%9*X$5)UU S:3M9N+"X76+_;VY]GM.C@!(#Y=) M=85_72XO,;^Z7%PW#&]:=&[YR5=M.9@G,0KIHE2@&5-URTP"SXJ$PKQ+)3IA M?&M_='\JS[1O=T"8#ZOH8S??=6'K;UZKER]F^:8!^N9T%VM=B46!T#79I="! MEQ)) X5SS7PNN76JWWY!P'DZ9KZ,8[*[<:H*^$H&PJ+'L0KA@20G 0 M!85@&+EWVGGIL;>S\@,3X\8=9YRT.@X./80831JE-SNFO=/>?!7_ MO5U,TWJ[;-DZ!MR4+'@FD5BLVV69@.CI*HXQ>BV2Y!Z;Q_TGYW+<8.B,#]K M@/K['+F)$.@EDP6,0%FO=PV!^ %O+(9HR ]69WK.GLT;S2 ('^= [@6W\WG5 M>7!V\RX3/KX74"I%%<^B !,7GKR1C'='1(Q^8EL&H.?P8'<. M9W,(N#V_)[Y'1>-TL:8P#T9[TIN?RK]_LOY;"V:RW#Q 1>?Q80)5V-9 M"4ZD#"H[LB@4Q8+F@GF>M)1BD"3+:=D\[_?#AB"_[_AUC+AG<"@?=KL?$A&? M"%9"XA38*I48J!0"!!U)8MDY9J54-@VRF.*T;)[W V*_AW)HQ#V#0[FW+_ZP MY(Q'A:Q82%AG[64*EQV+"+Q0T!PBS\P.,AR@"^[/^ZVQWR,\$C['GK(TB$+Y MM49EED;86 "Y)U$$&R FJT"8F&.QLJ"]DQ0=:!7:XW2.NR!FA&"P-]WW4*YLPLQ>\V8-AR,]PF4-PZ\Y@R$,M[F&)++O2V7?9"9<<*Z[N ZW//;$=@Y M][ODEA?]XN/'Q;HE]HXXE-1"^:@@T"U:"^T,^/I&R@N2TYR2X^XTJS6?IG6< M6*O7D](C0)[!I?.TU_J0H!!18# 9\MI)=3& MTX!"X8IS:-(JIM-G,V'O#&=VW@D47RR7EY\W(ON3_H/I;+MQ@P1TO95T^=V@RTWI.>:A M!GPV)W#H::##2K2/T:%9)6\+)I"6[BO%2JIM/1XTMR&G$+D*L;%!/M/1H=J7DQ7W]8BL<)84DK=+I_( MI,3B() I@1AR3,B5-]*$\GF':UDNG0] M20*-$G0?6Y($1P19A(_)1V9YZ.6=]TENSGI8R=%G9GR G&$>X?$_3)\P7U[@ MO+PC_W4QK5)9_P=_SJ:KY6"K08XG:?#-(8VEUD=V0*ID'/,68@D%E# 1G UT M('/PJ=#IQ/C,L@-;3;TIAS>,?Z@O!1,EO.<^1O)#@R3C)009K\0A">$TYD,I MKP,D'IPC^NUZL29%V48A&8.(L3Y$F *>D51SY,RCRZA2-V-XKJD>N;>D"U?A MQ+H_9[2__I_+Z>K;KS,Z^9=KK;Q9?<+%AT]AMGVQO]XY?WOA@4XI%I,MI"0L MA10LUR>Z"-(JH>G6M(QU,V3C( X[OQD:X[?5\1D>3'^/H[:=KRYCR)QS!.Y5 M(!T6 SZX ,B3LXZ1H$(WO?[[,G>F!^P$"#_]83P ;N_)VINW(S^DL'@&V9WTE;HJ;K^5BG+*B MB!K36D [5D?PNW$V%NBR2HH ME;" D:IVB"L-(6<#5J5,L;D(/)V/9_H#>V0UH.9)7D+/AH-3DAD608FP\D?@TX:+/8W@_@Y'P9FZ*[QX!KXH!1J1//Q$_VO.QYD]2 1G&GB> M399U,#@^:W=W=_%-, MO3&+ 8XJ@ O<0E9600PT1=&*&#S(":V2^GWWR=KB# MTZ$1V O%?[O$[]/BRSZZF(,#SK@F5P@E..5(AE8QG[F4N733GM>:^3.]P?]6 MEF!(/#]K1^#[?.#3@N,N%TR&O,$D27 B,G E%LA2)9V9;$6XL0J MZ9G3""DH8HN15^.]YZ"38B%:U[9^H3'Y?>'DH?8T_5W>+W\,L;$0^L5+$Q"5"Y(KBN,CJ/@?MP"H4&F6P M.J3F4+Q+Q9EZ""?&Y5&Z.R>0OKBX('_D1W:9\"IR!\7I.C>:)7#,"R"/*KKH MC55W1T4V@.K]M(R[[O-< -M CV/#]A6F!9(8?YW=,ZGFU25^F+_#KU,2\P-R M64Y(RDQ:[2&3?T]^3#+@1 CDQP3KDV&.\=W6JQQ-RKCK-,<$[6FU.#9F?YT= MRZWTTF&2M:>@>C]U0*1WF0+54*3!4@0FMQ-FCR9EW*T_8V+VM%KL($5W%0.^ MQ\77:<+[97^=IUB+>?EAO@H7M_^\SCOZ8[[Z3UR]PSJ2;/J_F">,A&P%1F H M!?E)N8"+6H/CRD2TW 3?.NL^&#,['0C_S Y$7Q 9V[[?)X7XA!2^_Z/5M]O, M;Y[\RGRQ_:UU^H45K11S"*BYK7O^ H20.&2?M;.:A%7L;L[V":C=K>:,/;-3 MT2<8.KA)*.ZH?P?S_8K9WJ$39+[DI"7DE.N9UPEB0D8NGD=5& HZ]XVOA=TH MVPW._=50MC'R VBO TSN='5]"'_]A#,LT]7/I)7[N';:*!:2!6]1$M="@%,R M0I0Q">53D;SUH,PVE.^&Z?ZJ 4_HN+35?H]>R@\LW[UWUN-*7X8O4_+9ZN^^ M^#R_K!DC7B>6)0W1"D:BYP*"H7\3B)%'+V.Y:ZGW<$8.)&HW0#_+%[RQ5'N. M\\&OAUF3%,BK^AQF"4\Z#7Q? @:?_7V41/J8],U%DLX;#X5@"HI;3R;8) H> M#6/&6BVS;'P+/Y=)WUEXEX,FHR.X Y4=AV@*@^2+\UQR5K#Y=+A_3?K>$[/# M3?K>1_T=>.W?#P!FPEKOG8$DC0'E0P2?K(3@A"\:E3>V]:ZZ9SGI>R\0/#KI M>Q^-= "GPP7WR%3?R+(*WDG@O,K I$('.V5P6@2.5I;,3UY5>N:3OO>"U2DF M?>^CXPYP?LNS6[.ZW(Z)#MXRP7@&;EFD.RC6J4E140"2M+%D%3"RQE!]@)3. MNY0'Q\B\O<(ZP%V#H)A'J[**%DATY":Y3&Z2EQY\B=:G3/+P_M36]&\SU_L8 MQ^#$NC]GM!\V>TCY'+DH$M#K3/8E9O!2>;!D%E)6F+G7O9R,O^=<[[WP.^Y< M[WW ]/[S[-X!-B>]95X M=]2R"EQ0 !98J*@P"!X+^N#8=)H,6KTK1];3L7;F3:!/J=#> 38_@Z3A'^< MM>PP"1%D I84Q>A,UQJ48*&88'E.105Q/@[JWWN\=Y\G\CC(_1T.Y5TGO@AM MT5D#,=LZ;UDE<"X6B*$87K*VUOQKO/>_#N08._[A\"@]58X#BFG *KH M!)YI#\BQ2&4E4_Y\I@'^/<=[=YYL'0R.SSKTW&,,DK;,F80>F&$%:G\P.,0, M)*R4/%ELUKZ0K0.^GWT.=[B#TZ$1V O%?[O\[]/BLU9%9;T'C=&0^'AMC+,, M0I1.Z12T4>=SC_]KO/>SLP1#XOE9.P+[CD,V0BE=%QW)S#0)SD>(U8Y:Q52, M6D14YQ."_VN\][,S!$/B^5D;@KV&(CL6M4(=@'M7U[.Y %%E"5PH*8N,W)CS M>2_^UWCOYV4"!D/RLS[_>\125N08-/.0A)&@K- 0LS&0+&(56<3;H6[P'EVZ@3_*9Y M8:>I!C>TOKF?UFTC@[3!)ZV %6WKUKP$,00$Z7.U E'DTCP<'(*18^_E7V>$ M&'Q/^%K;K]^VGUPWV:'EVG+%P:N^+2K+U*)M'R.FEMW8L M%-Z]BUIIK@/G\ %6MFUSW'&1):\KM7W='<]*758=P:'/0!T@ XZ %0]8F_*+_/Y=KKDMED2@TY1N03&%P%*64:N7W3 'D2P@=HNIY<[EW@)YWI XBX-.+67Z%7_%B_J6*:>LZ;5G2RAK%,8 V M)8.224-PN8"V7C%$EXT*C:&T UGCOO@,AZO6&AE[]-I[O*#?__@+SBC(NR"N M7N3/T]FT#H)93;_B=6]WE,BCAU)(3BK5#6Z::1"9/(4@F15%/Q6^[/ZY<1\) MVF-G($%W8)_:>* WA5*H9"V>#+/VH-'*<$R[XH1VJ;FL5!C%GIIK^\E M-A@3(1T-#E\.43G6H^[^)Z"HZ/4B[!EO; MPA].WCH#I%U4R:$"DX0F0\AKS7OU(8RR6G"/N@S2^W,BIY&Z[WL!/%[V MW:)H&W Q$HW9S)NN5<>>2_!&"UC/U@M6(EIU$ASUD')MI?.=H'2 L;.9OS MP^\U5T,*9MOXVI/[9Q EH/$,5"X98LH,K'39&Y$DQ?<[)3*>^E*/.#E$H?.A MI-LM5,26&29"SIKXP)0EJ*0B.&,+!&:=MTJ4R,UQ4!$]I$I/#)5#I-O!%;5Q M_NZ[R&^B2VV((?0:?+;$DN,)0G .=)0^Y1+2#VNP&D4!CY(U+KJ&<7U::Z,# M@-T?P[ZX7'V:+VY68/!)B(8,:8G@D?$Z^8?7A;B!+&[17G-?G&C>2K@;:3U$ M9PTA<==%&D __< N(W[&_&;Q,EQ<8'YUN9C./FXR:)L1OQ.O(F1>*_WJ M]D.// -Z"H%9P51TZVG,.Y(VKGT[$>R:ZN<<8+>I+RW2EA2M %&DJUN''/BB M#4B#V5C-48;F5=([43;N"^7HH-M?._U@[HX%?X?5T27.;DSYS=^Y,NJ62Z^X MM76G)1EU7C0YJ\P"8R$J'EAA.)#U.X#:936G"A_ 7'E-' M?L]/:? (\Q1MC5Y>KC]SL^+H.B6?&!8K2*,IU+H;%A3$:#(P[Z5T&F-NWE+W M"#EM2E'I1[^401$0!@:=2^T9J5&XS!.^%E<(&4=)0?-XE MIH?ZP>/1<'\)ZK&R[^#2NV9D:QA7W];)XF+JY(Z8Z>JFD+N.[P GG 0A?$R% M1ZY$ZW7&]U/2"7R.4_-#X#EHQ2PA)..!U1VA#A4Y M?FYP[/3P&--"ST]"YP"A=P">G^<+G'Z=<906R%H^I(@L$ M;01H]"*;(+-JOA3D/CIZ \TA&IXW%G<'D"$QX'(U3=\SH1P*I.L:;"VB4@HE M..499),-0QV,]*V-S;V$]%#.WA@TQPN\ ]3\*)FZY6QMAVT@GM^OK,)WO!*4#%- !F-[A5YQ=XLOYY\_3Y9+T0C_YUP5> MA%G>VMC, I+!EJ"MC#5Q2I%I*:J^A$9A=.3!M4;4DT3U"*M#]/]#NU9+972 MKG5?TNW6H5KV3H);_]O+3]-9V/+E2@Z(Q8%+56I9!P@B6! :C8R!6^U;5R/L M2ELGEV%KK VBFC'+I#:.X>3_?3O1C!?&#".*I:\=0!H\R0)BULPJED*4CX5N M2TS_Y^/\Z[]M?^(&2]M?W,#HYGL]- V!,B!@NS VMSG.-YZQ\FI\! *Z" % MFCU8)N@^@CJ!S3!.]M$:Z !.KTO!5+M=K[EZ1R9SP]DE M,??F"V[LYG)B"[DQ=)\[2\9"X6U^Q$6'^W;1LCV%XK_4+MY:,60YT7OLC_=;E<;0XF*]XS41AD%QRQQ12$$"WY M*24FP:W/S?!V<4@>F@61<+FD_^![[T3'S+)@&C 4 M.G!.U?7-Y#=G816W)2.SK:M(6_.P$X3-^4%X5%V?0WA$;%Y<9I+YE0N^EOE; M7"32VX07I67@ 6RJFY#)SX;H? *NR0L*FB011+/@Z%%2=@*H/1^ CJ"@,S&] M+U8_8ZZCU&K:_9)^WK?O_O*$!W+(V.;5-_FX9(?*V^_3Q?_$G>]F(5IC6$?#M?3C<)-&1*)N<#"!$\ M*,8]N,S(&PHI&:6=%7RWA-*3G]H)4_Y\,#6 @#NP>4\R] <=EQY%*UCG#W(VRT[SLX'<$.KZ&#T?<5%G++(1Z;!/[P:O,WI].8$&QKX.KX7V^H:Q_ZSL_CDC==WZS772X#4) M=C7%Y80G&8*+$;C(CDPX'2?/7 8E3$PI"&DEVPEDAWU_-Z2=VT/+"7319_?D MG7U&F\[YE^$B75YL-\K<^S>.Z+0\\HL-NC);\MQJ=F98U$[=&INN/W;=L!<* M(CH3()@H"*5HZ=.0IZ-BZ4GTO D>>[-("+W== MN>$4-*HS]RA[KZ87EU?SBV_S>).CGWA18H[,01&I&GFEP:ND0',;Z%;!I%WK M88L'DCKRV)>38;*QTCH(=!\X>@\Q.I%>9G(OB!^T"E0M,HH,59TQF"BV,IAS MZU[E/4D<>1K,">UC$R4=CL&ZR.>DWF%KWV]HSVX4O\TX62S' @QK)&)M@BB$ M@LQ\70(64(?FT\\'\MMN]F<\N5]U^=""U4W-;RC"114BL,+K*%0?P%&(5 <= MHO3!.-7\^:$9\9WZ>_O@[(?>C%$4V\%M^X+B]URM]O0KOL=TN5A'\YO70LP_ MD_2K&"Y7VW:5N\+_Z=O]/V#=\1<85U'79T0A=9UT@!"]=("2^9B3]:ZTKDP< MD)U>MGJ>%*!WEYQT@I9N#\ZM3B =4+HL&&C+2,[!2/!66A*[UTI8GVQJ_0CS M%$WC0K@;\.P$Z@,UV0$RK[(;E6TU0CNLK*U?K**I@H,HG&UCK- M8L#E+$ :*^HB"2^\;XRB>PD9-\4S*(*.%WP'Z"'#7>:+S[68?!-]7NW839P7 MF2+$=>UC[<<)A=7G(A\PZES6A8P8;)]9]!V@_TD/>UI8[ MB:+H M@9S *"B^++JKK40NXO^*"D+RY M#I(S&*L'BTH@*"\T..822/28D]$R^>9+'W>F;AS[TT3E#Z>SFZJD@ROR_65< MXO]=:\YO-) MHGI)2@QZL[55S=B-%;\L*NGTO^L(\L;+K.9;,2\C@Q3K^/<8$5S"",5HDTLT M5N?=>B<>_,2XUJ>Q'N?-A=J!&;KG $U"#MFXI($;-&1)LP0?90!F"R.QF&A\ M^_DH/Y QKJD9!CNMI-X!<-XNY@DQKP_ -3LWXZ^V"3+^?+U=9GU<%) M%A."%[G4_+VKBZ$1D&EO7*&CJ)K'C+N3-ZXO-PR:'DZ:MM56!_?U]\:!V%@S MM;8"ZUQ.EA1 RQ#JU!\-J@;27K ,F)*8C6W:LRN=# MR+\#(+V9X8?I9_R BZMA ]OQ>5=E3$'YA(XER*864DIEP"F+$&W(17$A4FC= M6O 43>/"JI'JYP/JH8O.YSHKHWH*MUBZVH=HO;-<99)3+5#RBH$32H.6I7AK M,B;5>J/ @\2,F_X8!DMM)-\%B'X*%YO"2L35;_5O5\54XXT,D=4Q3D66 $HI MM,?00+;TDZX=UH)IHHH,+[SX^MF?."I&3FGWT3;.T#H -%W *(7*2TNZ:O;,733ZZ)O&[.3 M2"PD98F/+*M/:V5S"I9$U1I"#]'2'X .T?7=XLT6@N\ 0-_9ZK.M+[5Y"QDW.CY(2.$@'/0+IJJ-%%*%X MYJ"C(,$X4\A_] X\Q;G22^:"&Z1U[$=2.DH"'*;DIV!S@,3'+E9XA6EM-DF' M8FM F90IZRP@:0HME2H:(I8((02K(\MTZ]]YC7Z@2N''G]T9 @[1U[R=\'HS M&M]GQFY>0)D(7!F2#\LRU1X+NE$+V5?TL0@>76"Q]1# 7>@:=X]0!^GJPS34 M&^JVS+R;7US\/%_4[IY),(JIR.LL^?5D !^)*DC MP]4$ X^![$B%=(JO2>*A!),M:-0*%)>,++.5)!\15'2V)-_ZL?<^.CI"TK&* MW@%$>TG]8.1\P<5TGM^OPF+5IM1JTVJX)*E\Q]2$>9ZXMIG,-Z^]?L&#Y]Q" M48FDXY"BV=85P@_1,FZN<4@<-9'^_ECR&RS-\&.]O3\,:HP^+,)LN9GV?&MH MJ-,QR;J#/ 3#0 EM("2OP0B%03-FM6R=,MJ9N'$3 :XC]2,OP]>S/%1]YYUNH&,& MLC[THQK49NY$9:/*R[O?NBZ-XYA(=;I -,R2P@WI&H4'1P8#4PE:J=:YMX=H M:=VVN6GZ24Z1]+["+Q/ MW&PSM4%[J1)%DY@J(THXB*H6'>LLA. NDQ,UHHNJ=.\3WD7M_ -JF MYDW1A4Z7!6%"S<+6YOE8LV3H12E66Y%:^[QGU2&^EY)WZA#?1^+]P>8FM5I" MR19] +;NR?/\]EZ M<.BKZ==IIJCB>D[8*TP7]'_R1"49>-2UB5#9^LX8(>;"02HI@O#"9M-Z2-PN M='5ECPY$P ]UKXW5,7RGY?8/ZC]B6.+__7_]_U!+ 0(4 Q0 ( "XXI%9> M26B!+ @ /0L : " 0 !A-#(R,#(S+3$P<7AE>&AI M8FET,S$Q+FAT;5!+ 0(4 Q0 ( "XXI%9*U9-X/0@ !&AI8FET,S$R+FAT;5!+ 0(4 Q0 M ( "XXI%:'Y -"704 /(= : " =D0 !A-#(R,#(S M+3$P<7AE>&AI8FET,S(Q+FAT;5!+ 0(4 Q0 ( "XXI%;1Y9D7>04 -<= M : " 6X6 !A-#(R,#(S+3$P<7AE>&AI8FET,S(R+FAT M;5!+ 0(4 Q0 ( "XXI%;"9[G5K+ ! &C:% 1 " 1\< M !C9VYX+3(P,C,P-# R+FAT;5!+ 0(4 Q0 ( "XXI%9 0!C9VYX+3(P M,C,P-# R7V-A;"YX;6Q02P$"% ,4 " N.*16[;)8$RM0 "5J0, %0 M @ $K ( 8V=N>"TR,#(S,#0P,E]D968N>&UL4$L! A0#% M @ +CBD5D6<^>^Z^0 4E(* !4 ( !B5 " &-G;G@M,C R M,S T,#)?;&%B+GAM;%!+ 0(4 Q0 ( "XXI%;?5B.B%I8 %H,!P 5 M " 79* P!C9VYX+3(P,C,P-# R7W!R92YX;6Q02P4& H ,"@"J @ O^ # end